Les tests d’intrusion applicatifs consistent à trouver les failles d’une application web pour éviter que son application ou site web soit hackés et que l’on perde à minima la qualité de service, que des personnes accèdent à nos données.
Une première démarche consiste à vérifier que votre site internet est sécurisé du point de vue du paramétrage du serveur web.
Etape 1: sécuriser son application du point de vue de la configuration du serveur web
Ce site vous permettra d’avoir un rapport complet quand à la sécurité globale de votre site, du point de vue configurations uniquement.
https://observatory.mozilla.org
Enfin on insistera sur le paramétrage du serveur web qui héberge votre application, en instant sur le fait qu’il faut être au niveau A+ pour se donner le maximum de chances d’être dans la meilleure configuration possible.
Ce site web vous donnera votre indice de sécurité (les indices vont de A+ à F).
Toutes les applications que je développe sont au niveau A+.
Les sites A+ ne représentent que 3% de la totalité des sites.
Si vous êtes niveau F, il est temps de faire quelques chose.
Installez à minima le HTTPS avec un certificat de confiance, et paramétrez votre serveur web pour obtenir A+.
Bien évidemment, dans certains cas, il n’est pas possible d’obtenir l’indice A+ et c’est volontaire car on souhaite par exemple inclure du contenu d’un autre site ou bien une API spécifique, ou encore faire du cross scripting avec une application tierce par exemple, ou bien d’autres cas.
Il y a tant de choses à dire sur la sécurité du serveur web mais ce n’est pas l’objet de l’article.
Etape 2: sécuriser son hébergement web
Une première chose consiste à modifier le port SSH qui par défaut est à 22. Ca ne coûte pas grand chose de le changer. En effet, la première chose qu’un hacker fera c’est de tester que ce port est ouvert pour prendre possession de votre machine et de faire ce qu’il souhaite.
Une seconde étape si votre serveur est sous Unis, ce qui je pense est le cas, c’est d’installer Fail2ban et le configurer.
Fail2ban est un framework de prévention contre les intrusions dont le but est de bloquer les adresses IP inconnues qui tentent de pénétrer dans votre système. Ce paquet est recommandé, voire indispensable, pour vous prémunir contre toute tentative de brute force sur vos services.
Une troisième étape consiste à vous connecter à votre hébergeur et de configurer les ports comme suit:
1 Autoriser TCP tous 1922 established Activé
2 Autoriser TCP tous 80 established Activé
3 Autoriser TCP tous 443 established Activé
4 Autoriser UDP tous 10000 Activé
5 Autoriser ICMP tous Activé
19 Autoriser IPv4 tous
Ca vous permettra d’avoir d’ouvert que les ports nécessaires.
Vous pouvez vérifier la liste de vos ports ouverts ici avec l’outil de TCP port scan:
https://pentest-tools.com/network-vulnerability-scanning/tcp-port-scanner-online-nmap
Abordons maintenant la partie applicative….
Car ces précédentes recommandations sécurisent les transactions, l’hébergement mais en aucun cas ne vous prémunissent d’une faille de sécurité dans votre application.
Les failles de l’application viennent avant tout des erreurs de conception, ou bien d’oublis pouvant être exploités par un hacker. Et c’est bien cette partie qui est la plus cruciale car mal maîtrisée par rapport à une configuration de serveur web et d’hébergement.
Concernant les tests d’intrusion applicatifs, nous utiliserons les même outils que les hackers pour faire lumière sur les failles de sécurité.
Pour en savoir plus je vous invite à consulter mon article « Sécurité: Tests d’intrusion d’applications et sites web« .
Copyright © 2018 – Laurent Doulliez.
-
Previous Post
Sécurité: Démarche de tests d’intrusion applicatifs