17 votes

Quels sont les "trucs à faire" pour protéger les serveurs Windows face au web ?

Je commence actuellement à déployer des serveurs Windows face au web.

Et j'aimerais savoir quelle est votre façon de protéger vos serveurs ? Quels logiciels utilisez-vous ?

Sous Linux, j'utilise Fail2ban pour empêcher la force brute et Logwatch pour obtenir des rapports quotidiens sur ce qui se passe sur mes serveurs. Existe-t-il des équivalents de ces logiciels sous Windows ? Si non, que recommandez-vous d'utiliser pour protéger le serveur ?

4 votes

La réponse de Vlad ci-dessous est un bon point de départ. Prenez également note de votre entreprise et des services que vous mettez en ligne. Réglementations et lois mises à part, si vous êtes un petit atelier de mécanique avec une application web de type "dinko", vous pouvez vous en sortir avec très peu de sécurité. Ce n'est pas le cas si vous êtes un grand atelier de développement avec des Chinois qui veulent obtenir votre code.

19voto

arielCo Points 136

Tout d'abord, vous devez réfléchir à la conception de votre réseau. Il serait bon d'utiliser au moins une DMZ afin de protéger le réseau interne. Un bon système Windows pour être public serait Windows Server 2008 R2 si vous ne voulez pas acheter le nouveau serveur 2012. Nous avons au moins quatre serveurs web basés sur Windows qui fonctionnent parfaitement comme serveurs web, tous basés sur 2008 R2. Assurez-vous simplement de faire ce qui suit :

  • Utiliser la DMZ (1 ou 2)
  • N'installez pas de rôles de serveur inutilisés
  • Veillez à arrêter les services dont vous n'aurez pas besoin
  • Veillez à ouvrir le port RDP (si nécessaire) uniquement sur le réseau interne.
  • Assurez-vous de garder tous les ports inutilisés fermés
  • Utilisez une solution pare-feu appropriée comme Cisco, Juniper ou Checkpoint devant le serveur.
  • Maintenir votre serveur à jour (mises à jour au moins mensuelles)
  • Faites en sorte qu'il soit redondant (utilisez au moins deux serveurs, dont un pour la sauvegarde).
  • Bon suivi : Nagios (j'aime bien ;-))

(facultatif) Utilisez Hyper-V pour votre serveur web et son système de sauvegarde. Il est beaucoup plus facile de mettre à jour et de vérifier si vos mises à jour n'interfèrent pas avec le service web d'une manière ou d'une autre. Dans ce cas, vous aurez besoin de deux machines identiques pour assurer la redondance en cas de défaillance matérielle. Mais c'est peut-être assez cher.

J'espère que cela vous aidera !

7voto

Paul Ackerman Points 2729

Nous pourrions vous donner une réponse plus détaillée si vous nous disiez quel service vous voulez fournir sur cette boîte Windows publique. Par exemple, IIS, OWA, DNS, etc ?

Pour verrouiller le boîtier lui-même, commencez par la réponse de vlad en supprimant (ou en n'installant pas pour commencer) tous les services/rôles supplémentaires sur le boîtier qui ne seront pas nécessaires. Cela inclut tout logiciel tiers (pas d'acrobat reader, flash, etc) qui ne devrait pas être utilisé sur un serveur. Et bien sûr, gardez les choses corrigées.

Configurez vos politiques de pare-feu afin de n'autoriser le trafic que vers les ports appropriés pour les services que vous exécutez.

Configurez un IDS/IPS avec des règles associées aux services que vous exécutez.

En fonction du risque/de la valeur de l'actif, envisagez d'installer un IPS basé sur l'hôte en plus de votre IPS de périmètre, de préférence d'un autre fournisseur.

En supposant que l'objectif principal est d'héberger un site Web, le verrouillage d'IIS pose beaucoup moins de problèmes avec la version 7.5 (2008 R2), mais vous devez tout de même vous assurer de faire certaines choses, par exemple :

  • Stockez les fichiers du site Web sur un volume différent de celui des fichiers du système d'exploitation.
  • Prenez un modèle de sécurité XML de Microsoft, de la NSA, etc. comme base de référence.
  • Supprimer ou verrouiller via NTFS tous les scripts en \InetPub\AdminScripts
  • Verrouiller les exe dangereux tels que appcmd, cmd.exe, etc.
  • Utilisez IPSec pour contrôler le trafic entre la DMZ et les hôtes internes autorisés.
  • Si vous avez besoin d'AD, utilisez une forêt distincte dans votre DMZ par rapport à votre réseau interne.
  • Assurez-vous que tous les sites exigent des valeurs d'en-tête d'hôte (aide à prévenir le balayage automatique).
  • Activez l'audit de Windows pour tous les événements échoués et réussis, à l'exception des événements réussis suivants : Accès aux services du directeur, Suivi des processus et Événements système.
  • Utilisez l'audit NTFS sur le système de fichiers pour enregistrer les actions échouées par le groupe Everyone et assurez-vous d'augmenter la taille de votre journal de sécurité à une taille appropriée basée sur les sauvegardes (500 Mo environ).
  • Activer la journalisation HTTP pour le dossier racine
  • Ne donnez pas de droits inutiles aux comptes d'utilisateurs qui exécutent des pools d'applications.
  • Débarrassez-vous des modules ISAPI et CGI si vous n'en avez pas besoin.

Je ne veux pas que ce document soit trop long, alors si vous voulez ou avez besoin de plus d'informations sur une balle en particulier, laissez un commentaire.

0 votes

Pour l'instant, ce serveur ne permet que l'accès à IIS.

5voto

Brad Points 3206

Les réponses existantes ici sont bonnes mais elles manquent un aspect crucial. Que se passe-t-il lorsque votre serveur fait ont été compromises ?

La réponse ici sur ServerFault lorsque les gens posent cette question est presque toujours de fermer la question comme étant un doublon de Mon serveur a été piraté URGENCE ! Les instructions de la première réponse décrivent comment trouver la cause/méthode de la compromission et comment restaurer à partir d'une sauvegarde.

Pour suivre ces instructions, vous devez disposer d'une journalisation étendue et de sauvegardes régulières. La journalisation doit être suffisante pour vous permettre de déterminer ce que l'attaquant a fait et quand. Pour cela, vous devez pouvoir corréler les fichiers journaux de différentes machines, ce qui nécessite le protocole NTP. Vous aurez probablement besoin d'une sorte de moteur de corrélation des journaux.

La journalisation et les sauvegardes doivent être généralement indisponibles à partir de la machine qui a été compromise.

Une fois que vous savez que votre serveur a été compromis, vous le mettez hors ligne et commencez à enquêter. Une fois que vous savez quand et comment l'attaquant l'a obtenu, vous pouvez corriger la faille sur la machine de rechange et la remettre en ligne. Si la machine de rechange contient également des données compromises (parce qu'elles sont synchronisées à partir de la machine active), vous devez restaurer les données à partir d'une sauvegarde antérieure à la compromission avant de la remettre en ligne.

Parcourez la réponse ci-dessus et voyez si vous pouvez réellement effectuer les étapes, puis ajoutez/changez des éléments jusqu'à ce que vous y parveniez.

2voto

joeqwerty Points 106914

Exécutez le SCW (Security Configuration Wizard) après avoir installé, configuré et testé les rôles/applications pour ce serveur.

2voto

hassan.monfared Points 71

Après avoir fait toutes les recommandations ci-dessus, suivez le "Security Technical Implementation Guide" ( STIG ) publié par le DoD pour : 1- Windows Server ( trouvez votre version ) 2- Pour IIS ( trouvez votre version ) 3- Pour les sites web ( trouvez votre version )

Voici la liste complète des STIGs :

http://iase.disa.mil/stigs/a-z.html

Regards.

0 votes

Il y a une longue liste de règles de sécurité à faire ! Vous devez être patient

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X