Comment savoir si votre serveur web est la cible d’attaques s’il n’est pas possible de déployer un système de détection d’intrusion comme des IDS (Intrusion Detection Sensor) ou si vos utilisateurs ne consultent pas sans le savoir des url « malicieuses » ? En fait, c’est possible via un logiciel comme ETPLC (Emerging Threats - Proxy Logs Checker).
pas toujours possible de déployer un IDS
Il n’est pas toujours possible de déployer une sonde de détection d’intrusion (IDS) pour détecter si des attaques visent votre site web. Trois explications sont envisageables :
- Votre site est sur une plateforme mutualisée et cela n’est techniquement pas possible car vous n’avez pas la possibilité d’analyser les flux réseau.
- Vous pourriez déployer un IDS mais vous n’en avez tout simplement pas les moyens car cela nécessite des ressources supplémentaires (serveur/sonde, configuration, gestion au quotidien, …) que vous n’avez pas.
- Vous avez les budgets mais votre management n’est pas convaincu que cela soit nécessaire.
ETPLC à la rescousse
Emerging Threats - Proxy Logs Checker (ETPLC pour faire court) est un script développé en Python ou Perl que vous allez pouvoir utiliser pour analyser les logs de votre serveur web (ou d’un proxy web).
Sur la base des règles utilisées dans un IDS comme Snort, ce logiciel ETPLC va rechercher dans les logs de votre serveur web si des attaques ont été lancées à l’encontre de votre site et si c’est le cas ou indiquera lesquelles et depuis quelles adresses IP ces attaques ont été lancées.
un déploiement à automatiser
Il est possible de faire tourner ETPLC de temps à autres sur la base de fichiers de logs que vous aurez téléchargé depuis votre site web. Mais si vous automatisez le téléchargement des logs pour ensuite les passer à l’analyse de ETPLC alors vous aurez la possibilité de réagir plus rapidement en cas d’attaque sérieuse.
intéressant pour le post-mortem
Il est aussi possible d’utiliser ETPLC pour faire une analyse à postériori d’une intrusion qui aurait réussie (analyse dite de « post-mortem ») suite à la compromission de votre serveur web. Cela bien évidemment si vous avez l’assurance de l’intégrité de vos logs (très souvent, un intrus ira en priorité effacer ses traces des fichiers de logs).
utile et pratique pour commencer, voire plus…
Comme tout IDS qui se respecte, ETPLC ne fait que générer des alertes et ne les bloque pas. C’est donc à vous de réagir le plus rapidement possible afin de contrer effectivement une attaque. Utiliser ETPLC vous permettra de vous rendre compte du nombre d’attaques auxquelles votre site web doit faire quotidiennement face. Cela pourra servir à sensibiliser vos développeurs et les inciter à faire du développement sécurisé mais aussi pourquoi pas à débloquer des budgets ou l’adhésion de votre management pour déployer un IPS (ou un « WAF » - Un Web-Application-Firewall) pour protéger votre site web.
exemple de configuration Apache pour ETPLC…
Apache ne fournit pas par défaut toutes les informations qui pourraient être nécessaire pour rechercher des menaces avec ETPLC, donc il faut activer par exemple les options suivantes dans votre configuration : (HTTP Referer + HTTP User-Agent + HTTP Cookie)
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{Cookie}i\"" combined
ETPLC analyse les logs de vos proxys de manière similaire.
ETPLC supporte déjà plusieurs formats de logs mais facilement extensible…
ETPLC supporte les logs suivantes : Apache, Squid, Microsoft Forefront, BlueCoat ou dernièrement McAfee WebGateway. Les expressions régulières sont fournies et peuvent être étendu à de nouveaux formats ou de nouveaux produits…
Si vous avez des questions sur ETPLC ou d’autres idées d’utilisation (ou d’outils similaires), faites-nous signe !
Jean-François Audenard et Franck Debieve @Rmkml
crédit photo © flytoskyft11 - Fotolia.com
Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la sensibilisation à la sécurité. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens