6.2. Menaces sur le Web

Le service Web est une des cibles privilégiées des pirates, vu la popularité et la variété de ses usages.  L’OWASP (Open Worldwide Application Security Project) propose, entre autres, des études sur les différentes failles de sécurité du Web, et référence régulièrement le “Top Ten” de ces menaces.  

Ces menaces concernent souvent soit la partie “serveur”, soit la partie “logicielle”.  Nous nous préoccuperons ici surtout de celles concernant l’administration du serveur, qui sont, notamment : 

  • Un mauvais contrôle d’accès : Cette menace doit être traitée à la fois du coté logiciel et du coté serveur, selon les circonstances.  Au niveau serveur, du filtrage d’accès sur base de l’origine des requêtes (IP) peut être mis en place.  Ce sera notamment nécessaire pour des sites qui ne peuvent pas être accessibles publiquement.  
  • Des failles cryptographiques : La cryptographie est utilisée, entre autres, pour la gestion de l’authentification et de la confidentialité.  Cela se configure entre autres au niveau du serveur.  Il est important de choisir des algorithmes cryptographiques solides et à jour, et des clés de taille suffisantes, mais également de maintenir les bibliothèques cryptographiques à jour!
  • De mauvaises configuration de sécurité : Le non respect de bonnes pratiques comme la séparation des zones, la défense en profondeur ou le “hardening” de serveur sont autant d’opportunité pour un attaquant de pénétrer dans l’infrastructure.  Cela concerne par exemple l’exposition de ports inutiles, la non application de patchs de sécurité, l’oubli de désactivation des comptes ou mots de passe par défaut, etc. 
  • Une surveillance insuffisance : L’absence de logs ou de monitoring permet aux attaquants de passer plus facilement inaperçus, maximisant ainsi leurs possibilités d’exploitation.  Il est donc important de soigneusement configurer ces éléments.  

Pour contrer ces menaces, il est important : 

  1. De sécuriser les serveurs en  : 
    • utilisant des composants à jour
    • supprimant tous les composants inutiles (et en vérifiant les ports exposés)
  2. D’utiliser le principe du moindre privilège : Configurer des comptes avec l’accès minimum nécessaire pour les différents éléments de l’infrastructure (ex : accès à la DB par le serveur web)
  3. Avoir une architecture bien conçue et protégée (cfr section précédente) : 
    • Utilisation de zones isolées (DMZ, Trusted Zone)
    • Filtrage du trafic par des pare-feux
    • Surveillance du trafic et des logs des serveurs
  4. Mettre en place du chiffrement pour les échanges Web, via l’utilisation d’HTTPS et de certificats.