Snuffleupagus : le bouclier de protection PHP

 

L’outil de sécurité informatique Snuffleupagus permet de sécuriser vos serveurs PHP contre la majorité des attaques informatiques. Développé par nos experts en sécurité et distribué sous licence libre, il a l’avantage d’être très simple d’utilisation. Cet outil protège par défaut les serveurs de nos clients ayant choisi la solution d’hébergement de haute sécurité CerberHost.

Sécurité PHP : pourquoi utiliser Snuffleupagus ?

PHP est un langage spécialement conçu pour le développement d’applications web dynamiques. À la différence du javascript, il est exécuté directement sur vos serveurs, et non pas sur le navigateur de vos internautes.

Le module Snuffleupagus agit directement sur vos applications PHP sans perte de performance. Il bloque les comportements douteux et empêche l’exécution de certaines fonctions dangereuses, au sein même de PHP. Ainsi, il rend très complexe et coûteuse l’exploitation de familles entières de vulnérabilités informatiques. Vous-mêmes, comme vos clients, êtes mieux protégés des attaques.

L’outil permet également de mettre en place du virtual patching, ou correction virtuelle, pour gagner en réactivité en corrigeant de nouvelles vulnérabilités dès leur publication. Mais le virtual patching permet également de maintenir l’interdiction générale de fonctions dangereuses, tout en les autorisant dans le cadre de l’exploitation et de la mise à jour de votre CMS ou framework, où elles sont indispensables. Vous êtes ainsi protégé tout en gardant vos habitudes d’exploitation.

C’est le gros avantage de cet outil de sécurité serveur : sa simplicité d’utilisation dans des environnements hautement industrialisés. Il allège les processus de sécurisation et réduit les temps d’intégration et de recette, facilitant le travail des équipes de production au quotidien. Il a de plus été spécifiquement pensé pour PHP7, et s’adapte, grâce à son fichier de règles, aux spécificités de votre application.

Snuffleupagus est l’héritier de Suhosin, outil open source qui permet également de sécuriser PHP, mais qui n’est aujourd’hui plus maintenu, ne fonctionne pas sur PHP7 et présente certaines limitations. Nous en profitons pour remercier chaleureusement l’équipe du projet, qui a pavé la voie !


Serveur sécurisé : l’expertise open source de NBS System

1 an de Recherche & Développement

Snuffleupagus : ils en parlent

« Snuffleupagus has proved to be a very valuable tool so far / Snuffleupagus s’est montré très utile jusqu’à présent »

Lisez l’article de Toolslib sur Snuffleupagus (anglais)

« PHP7 arrive à grands pas, incompatible avec Suhosin, et traînant son lot de problèmes de sécurité. Heureusement, Snuffleupagus est là pour sauver la mise ! »

Lisez l’article publié sur Linux Mag sur Snuffleupagus

Comment utiliser Snuffleupagus ?

Vous pouvez télécharger ce module PHP open source sur la page Github Snuffleupagus. Il s’installe directement sur vos serveurs ; n’hésitez pas à demander l’assistance de votre hébergeur infogérant !

Attention cependant à ne pas installer cet outil de protection serveur tel quel : en effet, certaines règles très restrictives pourraient ne pas être adaptées à votre site et perturber son fonctionnement. Vous pouvez commencer en utilisant le mode de simulation, afin de vérifier l’effet de l’outil sur votre application avant de le déployer en production.

Quand utiliser Snuffleupagus ?

Snuffleupagus doit être constamment en état de marche pour pouvoir être efficace et agir en temps réel. Une fois installé sur votre serveur, il ne doit donc pas être désactivé.

Snuffleupagus : comment ça marche ?

Virtual patching : des règles génériques activables selon vos besoins

Le virtual patching permet de créer un correctif virtuel très rapidement après la publication d’une vulnérabilité. En l’appliquant sur Snuffleupagus, sans coupure de production, vous protégez votre application PHP immédiatement, et pouvez ensuite prendre le temps de prévoir la mise à jour du logiciel vulnérable.

L’outil est par ailleurs fourni avec un ensemble de règles déjà établies. Celles-ci vous protègent par défaut contre de possibles manques de vérification inhérents à PHP pouvant mener à des injections de code, et diverses autres vulnérabilités classiques. Elles permettent par exemple aussi de limiter l’exécution de fichiers sur votre serveur à ceux dont les extensions sont légitimes (.php, .inc ou .tpl).

Ces règles sont activables ou désactivables à la carte… et c’est à vous de les compléter !

Protection PHP : une restriction des fonctions à leur seul usage légitime

Mais le virtual patching sur Snuffleupagus a un autre objectif : restreindre l’utilisation de fonctions PHP. En effet, certaines d’entre elles sont considérées comme dangereuses, car elles peuvent être détournées de leur usage initial dans le cadre d’attaques informatiques.

Afin de vous protéger contre ce risque, ce module PHP utilise le virtual patching pour restreindre l’utilisation de ces fonctions uniquement aux cas où elle est nécessaire. L’outil contient un script permettant de générer une liste blanche spécifique à votre application, et donc adaptée à son fonctionnement.

Par exemple, la fonction « system » qui permet d’exécuter un programme externe et d’en afficher le résultat peut être utilisée pour de l’exécution de code arbitraire. Grâce au système de correctif virtuel, elle peut être autorisée uniquement dans un seul fichier, où l’on sait que son utilisation est légitime.

Sécurité PHP : l’amélioration continue

Ce virtual patching nécessite cependant du temps pour écrire des règles efficaces, et surtout une maintenance afin de rester efficient au fur et à mesure que de nouvelles vulnérabilités sont découvertes, et que votre applicatif évolue. En effet, les pirates informatiques sont toujours en mouvement, toujours dans l’innovation, à la recherche de nouveaux vecteurs d’attaque. De la même manière, Snuffleupagus est fait pour évoluer, et même vous aider à repérer des vulnérabilités ou de nouveaux types d’attaques.

L’outil propose ainsi une fonctionnalité permettant de référencer certaines requêtes qui ressemblent à une tentative d’exploitation, afin de repérer plus facilement des modèles, et donc de construire une protection efficace et adaptée.

De plus, l’ajout de nouvelles règles de filtrage ou de nouvelles protections pouvant avoir des impacts non prévus sur votre application, Snuffleupagus vous permet de tester ces nouveautés grâce à un mode « simulation », qui va enregistrer tous les événements correspondant à votre nouvelle règle sans pour autant arrêter leur exécution. Vous pouvez ainsi étudier l’impact de ces règles avant de les mettre en production sur vos applications PHP.

Sécurité informatique contre des classes entières de vulnérabilités

Ces règles peuvent permettre de bloquer des requêtes émergentes, mais la majorité sont dédiées à une protection générique, permettant de « tuer » un maximum de vulnérabilités, pour assurer votre sécurité PHP.

Certaines sont originales, d’autres ont été inspirées d’autres projets ou outils open source. Nos experts ont crédité, autant que possible, ces idées sur la page décrivant les fonctionnalités de Snuffleupagus. Ces protections étant nombreuses et diverses, nous ne les exposerons pas toutes sur cette page ; en voici cependant quelques exemples.

Prévention contre le vol de données et l’exécution de code

Snuffleupagus protège contre l’exécution de code arbitraire sur votre serveur par un pirate, une des pires situations que vous puissiez rencontrer puisqu’elle peut permettre à ce dernier de faire plus ou moins ce qu’il veut sur votre machine.

Pour cela, l’outil effectue des validations et applique des restrictions sur les fichiers téléversés pour détecter les comportements suspects. Il vous alertera le cas échéant, et arrêtera tout net l’exécution en cours.

Snuffleupagus empêche également les appels d’entités externes en XML, pouvant permettre à des pirates de lire certaines de vos données. Pour maintenir un bon niveau de chiffrement, il remplace également certaines fonctions PHP générant des nombres aléatoires de faible entropie par une autre fonction, plus sécurisée. Il s’assure aussi de l’intégrité des données sérialisées, afin de prévenir leur manipulation, menant souvent à une exécution de code arbitraire.

Protection informatique de vos internautes

Les pirates informatiques ne se concentrent pas que sur les entreprises, et votre application ou site web peuvent être utilisés comme des moyens d’attaquer vos utilisateurs. Ces derniers doivent donc être protégés : c’est votre responsabilité. Par exemple, certains réutilisent leurs mots de passe : une compromission sur votre site pourrait mener à des compromissions sur d’autres.

Snuffleupagus empêche la transmission des cookies de vos utilisateurs depuis des sites tiers afin d’éviter les attaques de Cross-Site request forgery. L’outil prévient également les vols de cookies en les chiffrant via une clé dérivée de plusieurs composants spécifiques à chaque internaute, et permet de les marquer comme sécurisés si votre internaute est connecté en HTTPS.

Bonnes pratiques de sécurité informatique

Souvent, les pirates exploitent des failles simples, qui existent sur les infrastructures sous-jacentes aux sites web par manque de respect des bonnes pratiques de sécurité. Snuffleupagus active par défaut le mode « strict » intégré dans PHP7, interdit certaines mauvaises pratiques, et propose même un fichier par défaut de bonnes pratiques de configuration de PHP dont vous pouvez vous inspirer.

Vous souhaitez en savoir plus sur Snuffeupagus ou cherchez un prestataire actif dans l’écosystème open source ?

Contactez-nous !