Ce package vise à protéger votre application Laravel contre différents types d'attaques telles que XSS, SQLi, RFI, LFI, User Agent et bien plus encore. Il bloquera également les attaques répétées et enverra une notification par e-mail et/ou Slack lorsqu'une attaque est détectée. De plus, il enregistrera les échecs de connexion et bloquera l’adresse IP après un certain nombre de tentatives.
Remarque : Certaines classes middleware (c'est-à-dire Xss) sont vides car la classe abstraite Middleware
qu'elles étendent fait tout le travail de manière dynamique. Bref, ils fonctionnent tous ;)
Exécutez la commande suivante :
le compositeur nécessite akaunting/laravel-firewall
Publier la configuration, la langue et les migrations
fournisseur artisanal php :publish --tag=firewall
Créer des tables de base de données
php artisan migrer
Vous pouvez modifier les paramètres du pare-feu de votre application à partir du fichier config/firewall.php
Les middlewares sont déjà définis, il suffit donc de les ajouter aux routes. Le middleware firewall.all
applique tous les middlewares disponibles dans le tableau all_middleware
du fichier de configuration.
Route::group(['middleware' => 'firewall.all'], function () { Route::get('/', 'HomeController@index'); });
Vous pouvez appliquer chaque middleware par itinéraire. Par exemple, vous pouvez autoriser uniquement les adresses IP sur liste blanche à accéder à l'administrateur :
Route::group(['middleware' => 'firewall.whitelist'], function () { Route::get('/admin', 'AdminController@index'); });
Ou vous pouvez être averti lorsque quelqu'un NON dans whitelist
accède à l'administrateur, en l'ajoutant à la configuration inspections
:
Route::group(['middleware' => 'firewall.url'], function () { Route::get('/admin', 'AdminController@index'); });
Middlewares disponibles applicables aux routes :
pare-feu.all pare-feu.agent pare-feu.bot pare-feu.geo pare-feu.ip pare-feu.lfi pare-feu.php pare-feu.référent pare-feu.rfi pare-feu.session pare-feu.sqli pare-feu.jurer pare-feu.url pare-feu.liste blanche pare-feu.xss
Vous pouvez également définir routes
pour chaque middleware dans config/firewall.php
et appliquer ce middleware ou firewall.all
en haut de toutes les routes.
Le pare-feu enverra une notification dès qu'une attaque sera détectée. Les e-mails saisis dans la configuration notifications.email.to
doivent être des utilisateurs Laravel valides pour pouvoir envoyer des notifications. Consultez la documentation sur les notifications de Laravel pour plus d'informations.
Veuillez consulter les versions pour plus d'informations sur ce qui a changé récemment.
Les demandes de tirage sont plus que bienvenues. Vous devez suivre les normes de codage PSR.
Veuillez consulter notre politique de sécurité pour savoir comment signaler les vulnérabilités de sécurité.
Denis Dulici
Tous les contributeurs
La licence MIT (MIT). Veuillez consulter LICENCE pour plus d'informations.