Introduction à la problématique de sécurité des serveurs Web Aurélien Cabezon le 13 janvier 2004 à 20h51, dans la rubrique Menaces Commentaires fermés sur Introduction à la problématique de sécurité des serveurs Web sécurité La sécurisation de serveurs web est une opération qui doit être pensée au niveau de toutes les couches de l’architecture du système d’information. Aussi, celle-ci doit impérativement inclure la sécurité des éléments suivants : infrastructure réseau, système, serveur web et application, pour être complète. La sécurisation de serveurs web apparaît de plus en plus importante. Auparavant, les virus se propageaient via les mails. Les virus plus récents tels que Nachi ou Nimda utilisent les serveurs web pour se répandre encore plus rapidement. Nous voyons aussi apparaître de plus en plus de failles de sécurité sur les serveurs web comme la tristement célèbre faille Unicode qui fut utilisée notamment par le » ver » CodeRed. Ces menaces significatives nous poussent à nous préoccuper désormais de la sécurité des services web qui deviennent la porte d’entrée à de nombreux abus. Il est également très fréquent pour les pirates d’utiliser les serveurs web des entreprises comme passerelles afin de pénétrer le réseau local, ou pire encore, dans le but d’attaquer une autre société et éviter d’être identifié par celle-ci. Les conséquences de telles attaques sont de plusieurs types : – la saturation de votre bande passante, – le ‘defacement’ (modification de la page d’accueil de votre site) qui a pour conséquence de nuire à votre image, – la pénétration sur votre réseau afin d’accéder aux données sensibles de votre société. Limitation des protections classiques telles que le firewall et le chiffrement SSL aujourd’hui, il apparaît clairement que la mise en place d’un serveur web accessible depuis Internet ne se fait pas sans considérer tous les aspects de sa sécurisation. Ceci est vrai, à la fois pour des serveurs hébergés en interne, et également si vous faites confiance à un hébergeur ou à un prestataire externe. Les hébergeurs, dont le métier est principalement de fournir de la bande-passante, n’accordent pas toujours une importances suffisante à la sécurité de vos et de leurs installations. Les firewalls et autres systèmes de filtrage IP vont permettre de limiter l’accès aux serveurs via certains ports bien identifiés, notamment les ports HTTP et HTTPS. Cependant, ils ne sont pas configurés pour filtrer les données qui y transitent (certains firewalls offrent cette fonctionnalité rarement mise en place pour cause de dégradation de performances). La mise en place de certificats afin de chiffrer les communications entre navigateur et serveur permet de répondre à un besoin de confidentialité des données, toutefois les données chiffrées pour un internaute digne de confiance le sont aussi pour le pirate. Ainsi, dans certains cas (utilisation d’un certificat serveur uniquement), la mise en place de protocole SSL peut être dans certains cas un inconvénient majeur : il permet à un éventuel pirate de travailler dans un canal chiffré à l’écart de toute détection d’intrusion qui ne soit pas placée sur la machine elle-même. Considérer la sécurité à tous les niveaux L’installation de firewalls, même maintenus à jour, et la mise en place de canaux cryptés sont nécessaires mais pas suffisants. Il est également primordial de durcir les systèmes d’exploitation, de correctement configurer les serveurs web en supprimant notamment tout ce qui est inutile. Ce ‘nettoyage’ des serveurs accueillant les applications web est une étape devenue désormais incontournable. Moins de services, de ressources, et d’applications étant présentes, moins il existera de possibilités d’y exploiter une vulnérabilité et donc d’accéder au système. Le paramétrage standard du serveur web ne fournit généralement suffisant de sécurité. Il est important de faire une analyse complète des systèmes et des serveurs. aujourd’hui, pour nous aider dans cette démarche, les éditeurs proposent des procédures et des outils de renforcement qui doivent, au minimum, être systématiquement appliqués. Il est également important de mettre à jour régulièrement son système et ses applications web. Selon le CERT : « 99% des intrusions résultent de vulnérabilités ou d’erreur de configuration, lorsque des solutions existent ». Il convient également de sécuriser les applications elles-mêmes. Les applications web peuvent contenir des failles de sécurité. Ces vulnérabilités peuvent être de plusieurs types, par exemple : les problèmes de conservation de sessions (éviter l’usurpation d’identité), l’utilisation de caractères de contrôle dans les paramètres passés entre le navigateur et le serveur, utilisation de l’application pour attaquer le browser du client (Cross site scripting), le Buffer Overflow applicatif, l’injection de commandes SQL (SQL Injection)… Cette phase peut consister à examiner, à posteriori, l’architecture et les sources de l’application, l’utilisation des inclusions de fichiers et extensions, les règles d’implémentation, les transferts et connexions aux bases de données, les logs. Dans ce cas, elle a pour but d’étudier la solidité des applications développées. Cependant, l’idéal reste la sensibilisation des développeurs aux problèmes de sécurité afin de limiter au maximum les ‘erreurs’ de programmation. La protection de votre serveur par un firewall et une DMZ est nécessaire mais pas suffisante. La sécurisation d’un serveur web, se décline autour de quatre axes complémentaires: – la sécurisation de l’infrastructure réseau sur les flux de type HTTP – la sécurisation des systèmes – la sécurisation des serveurs web utilisés par l’application – la sécurisation des applications web développées Vous avez aimé cet article? Cliquez sur le bouton J'AIME ou partagez le avec vos amis! Notez L'article Participez ou lancez la discussion!