La sécurité d’un serveur web
La sécurité d’un serveur web est souvent négligée. Voici quelques-une de mes méthodes de durcissement IIS, il s’agit d’un serveur web en version 8.5 fonctionnant sur Windows Server 2012 R2 Standard.
Pour commencer, il faut comprendre le protocole SSL/TLS et son fonctionnement. Personnellement, voici les outils/méthodes que j’utilise pour renforcer un serveur web :
- Certificat signé : je n’utilise plus que l’autorité Letsencrypt depuis 2015 avec une clé RSA de 3076 bits (la 2048 bits reste encore toléré jusqu’en 2030).
- Échange de clés Diffie-Hellman basé sur les courbes elliptiques : les échanges de clés ECDHE doivent être privilégiés avec les courbes suivantes : secp256r1, secp384r1, secp521r1, brainpoolP256r1, brainpoolP384r1 ou brainpoolP512r1.
- Restriction des headers : limiter les informations REST.
- Journalisation des requêtes : suivi en cas d’incident.
- Restrictions par adresse IP et domaine / Restrictions dynamiques (Anti-DOS).
- Endpoint Detection and Response (sur le serveur Windows).
Durcissement d’un serveur web IIS 8.5
Certificat signé : letsencrypt sous Windows
- Téléchargez la dernière version disponible de win-acme sur votre serveur : lien
- Décompressez l’archive sur le serveur
- Exécutez wacs.exe puis : « N », puis « 1 » et choisir votre site IIS (validation du domaine via le port 80).
- Ensuite, votre site web est certifié par une autorité valide.
- Vérifiez les liaisons IIS et les certificats utilisées.
Protocoles, ciphers, hashes et échange de clé
Téléchargez : IIS Crypto
Exécutez le programme.
Voici ma configuration :
Dans la section Cipher Suites, voici mes préférences :
Validez vos choix et de redémarrer le serveur Windows.
Limiter la prise d’empreinte
Dans le serveur IIS, rendez-vous dans : En-têtes de réponse HTTP (voici ma configuration) :
Je vous invite vivement à vous renseigner pour chaque instruction (ex : Content-Security-Policy).
Des journaux verbeux
Afin d’avoir plus d’informations concernant les requêtes reçus par vos sites rendez-vous dans l’onglet Journalisation :
Les journaux sont plus verbeux et exploitables en cas de problème sur le serveur.
Restrictions par adresse IP et domaine
Dans l’onglet Restrictions par adresse IP et domaine, j’utilise principalement la restriction dynamique :
Endpoint Detection and Response (option)
Les comportements étranges sur un serveur web sont souvent synonyme de tentatives d’attaques. L’EDR permet de surveiller le comportement de la machine. J‘utilise actuellement la solution : Bitdefender EDR. Pour plus d’informations : EDR article externe.
Une fois votre serveur web IIS renforcé, vous devriez obtenir le résultat suivant sur ssllabs.com :