
snuffleupagus v0.14.0
Module de sécurité pour php7 et php8 - Élimination des classes de bugs et correction virtuelle du reste !
Snuffleupagus
Module de sécurité pour php7 et php8 - Élimine les classes de bugs et applique des correctifs virtuels pour le reste !
Fonctionnalités clés • Téléchargement • Exemples • Documentation • Licence • Remerciements
Snuffleupagus est un module PHP 7+ et 8+ conçu pour augmenter considérablement le coût des attaques contre les sites web, en éliminant des classes entières de bugs. Il fournit également un puissant système de correctifs virtuels, permettant aux administrateurs de corriger des vulnérabilités spécifiques et d'auditer des comportements suspects sans avoir à modifier le code PHP.
Fonctionnalités clés
- Aucun impact notable sur les performances
- Règles de correctifs virtuels puissantes mais simples à écrire
- Élimination de plusieurs classes de vulnérabilités
- Exécution de code basée sur Unserialize
- Exécution de code basée sur
mail - XSS par vol de cookies
- Exécution de code basée sur le téléchargement de fichiers
- PRNG faible
- XXE
- Exécution de code à distance basée sur des filtres et autres manigances
- Plusieurs fonctionnalités de durcissement
- Ajout automatique des attributs
secureetsamesiteaux cookies - Ensemble de règles intégrées pour détecter les comportements post-compromission
- Mode strict global et prévention du type-juggling
- Liste blanche des stream wrappers
- Prévention de l'exécution de fichiers inscriptibles
- Liste blanche/noire pour
eval - Application de la validation des certificats TLS lors de l'utilisation de curl
- Capacité de vidage des requêtes
- Ajout automatique des attributs
- Une base de code relativement saine :
- Une suite de tests complète proche de 100 % de couverture
- Chaque commit est testé sur plusieurs distributions
- Un style de code imposé par
clang-format - Une documentation complète
- Utilisation de coverity, codeql, scan-build, …
Téléchargement
Nous avons une page de
téléchargement, où vous pouvez
trouver des paquets pour votre distribution, mais vous pouvez bien sûr simplement
git clone ce dépôt, ou consulter les versions sur github.
Exemples
Nous fournissons divers exemples de règles, qui ressemblent à ceci :
# Durcir la fonction `chmod`
sp.disable_function.function("chmod").param("mode").value_r("^[0-9]{2}[67]$").drop();
# Atténuer l'injection de commandes dans `system`
sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();
En cas de violation d'une règle, vous devriez voir des lignes comme celles-ci dans vos journaux :
[snuffleupagus][0.0.0.0][disabled_function][drop] L'exécution a été interrompue dans /var/www/index.php:2, car la valeur de retour (0) de la fonction 'strpos' correspondait à une règle.
Documentation
Nous avons un site web complet avec toute la documentation que vous pourriez souhaiter. Vous pouvez bien sûr la construire vous-même.
Remerciements
Merci beaucoup à :
- Le projet Suhosin pour avoir été une immense source d'inspiration
- NBS System pour avoir initialement sponsorisé le développement
- Suhosin-ng pour leurs expérimentations et contributions, ainsi que NLNet pour son parrainage
- Tous nos contributeurs