110 votes

Pourquoi devrais-je mettre un pare-feu aux serveurs ?

VEUILLEZ NOTER : Je n'ai pas envie d'en faire une guerre de mots ! Je comprends que de nombreuses personnes ont des convictions bien ancrées sur ce sujet, en grande partie parce qu'elles ont investi beaucoup d'efforts dans leurs solutions de pare-feu, et aussi parce qu'elles ont été endoctrinées pour croire en leur nécessité.

Cependant, je cherche des réponses de personnes qui sont experts en matière de sécurité. Je pense qu'il s'agit d'une question importante, et que la réponse ne profitera pas seulement à moi-même et à l'entreprise pour laquelle je travaille. Je fais fonctionner notre réseau de serveurs depuis plusieurs années sans aucun compromis, sans aucun pare-feu. Aucune des compromissions de sécurité que nous ont aurait pu être évité avec un pare-feu.

Je suppose que je travaille ici depuis trop longtemps, car lorsque je parle de "serveurs", j'entends toujours "services offerts au public", et non "bases de données de facturation internes secrètes". En tant que tel, toute règle que nous serait dans un pare-feu devrait permettre l'accès à l'ensemble de l'Internet. De plus, nos serveurs d'accès public sont tous dans un centre de données dédié, séparé de nos bureaux.

Quelqu'un d'autre a posé une question similaire, et ma réponse a été votée en nombre négatif. Cela m'amène à penser que soit les personnes qui ont voté n'ont pas vraiment compris ma réponse, soit je ne comprends pas suffisamment la sécurité pour faire ce que je fais actuellement.

C'est mon approche de la sécurité des serveurs :

  1. Suivez les instructions de mon système d'exploitation directives de sécurité avant en connectant mon serveur à Internet.

  2. Utilisez des wrappers TCP pour limiter l'accès à SSH (et à d'autres services de gestion) à un petit nombre d'adresses IP.

  3. Surveillez l'état de ce serveur avec Munin . Et corriger les problèmes de sécurité flagrants inhérents à Munin-node dans sa configuration par défaut.

  4. Nmap mon nouveau serveur (également avant de connecter mon serveur à Internet). Si je devais mettre un pare-feu sur ce serveur, il s'agirait de l'ensemble exact de ports sur lesquels les connexions entrantes devraient être limitées.

  5. Installez le serveur dans la salle des serveurs et donnez-lui une adresse IP publique.

  6. Assurez la sécurité du système en utilisant la fonction de mise à jour de sécurité de mon système d'exploitation.

Ma philosophie (et la base de la question) est qu'une sécurité forte basée sur l'hôte supprime la nécessité d'un pare-feu. La philosophie générale en matière de sécurité indique qu'une sécurité forte basée sur l'hôte est toujours nécessaire même si vous avez un pare-feu (cf. directives de sécurité ). La raison en est qu'un pare-feu qui transmet des services publics à un serveur permet tout autant à un attaquant qu'aucun pare-feu. C'est le service lui-même qui est vulnérable, et puisque l'offre de ce service à l'ensemble de l'Internet est une condition de son fonctionnement, il n'est pas nécessaire d'en restreindre l'accès.

S'il y a son des ports disponibles sur le serveur qui n'ont pas besoin d'être accédés par l'ensemble de l'Internet, alors ce logiciel a dû être arrêté à l'étape 1, et a été vérifié à l'étape 4. Si un attaquant réussit à s'introduire dans le serveur par le biais d'un logiciel vulnérable et ouvre lui-même un port, il peut (et il le fait) tout aussi facilement déjouer n'importe quel pare-feu en établissant une connexion sortante sur un port aléatoire à la place. Le but de la sécurité n'est pas de se défendre après une attaque réussie - il a déjà été prouvé que c'était impossible - mais d'empêcher les attaquants d'entrer en premier lieu.

Il a été suggéré qu'il y a d'autres considérations de sécurité que les ports ouverts - mais pour moi, cela revient à défendre sa foi. Les vulnérabilités du système d'exploitation/de la pile TCP devraient être les mêmes, qu'il y ait ou non un pare-feu, car les ports sont transmis directement à ce système d'exploitation/cette pile TCP. De même, le fait d'installer votre pare-feu sur le serveur lui-même plutôt que sur le routeur (ou pire, aux deux endroits) semble ajouter des couches de complexité inutiles. Je comprends la philosophie "la sécurité vient en couches", mais il arrive un moment où c'est comme construire un toit en empilant un nombre X de couches de contreplaqué les unes sur les autres, puis en perçant un trou à travers toutes ces couches. Une autre couche de contreplaqué ne va pas arrêter les fuites par ce trou que vous faites exprès.

Pour être honnête, la seule façon dont je vois un pare-feu être utile pour les serveurs est s'il a des règles dynamiques empêchant toutes les connexions à tous les serveurs de la part d'attaquants connus - comme les RBL pour le spam (ce qui, par coïncidence, est à peu près ce que fait notre serveur de messagerie). Malheureusement, je ne trouve aucun pare-feu qui fasse cela. La meilleure solution suivante est un serveur IDS, mais cela suppose que l'attaquant n'attaque pas d'abord vos serveurs réels et qu'il prenne la peine de sonder l'ensemble de votre réseau. avant d'attaque. En outre, ces derniers sont connus pour produire un grand nombre de faux positifs.

1voto

flooble Points 2364

Je dois dire, Ernie, que si vous semblez faire beaucoup pour renforcer vos serveurs et les protéger contre les attaques et les vulnérabilités, je ne suis pas d'accord avec votre position sur les pare-feu.

Je considère la sécurité un peu comme un oignon dans la mesure où, idéalement, il y a des couches qu'il faut traverser avant d'atteindre le cœur. Personnellement, je pense que c'est une erreur grossière de ne pas avoir une forme de pare-feu matériel au périmètre de votre réseau.

J'admets que j'aborde la question sous l'angle de "ce à quoi je suis habitué", mais je sais que, chaque mois, je reçois de Microsoft une belle petite liste des correctifs du mois en cours, dont beaucoup sont exploités dans la nature. J'imagine que la même chose se produit pour à peu près tous les systèmes d'exploitation et toutes les applications auxquels on peut penser.

Je ne suggère pas que les pare-feu suppriment tout cela, et ils ne sont pas non plus à l'abri de bogues ou de vulnérabilités, car un pare-feu "matériel" n'est qu'un logiciel fonctionnant sur une pile matérielle.

Cela dit, je dors beaucoup mieux en sachant que si j'ai un serveur qui n'a besoin que du port 443 pour être accessible depuis le web, mon périmètre Juniper garantit que seul le port 443 est accessible depuis le web. Non seulement cela, mais mon Palo Alto s'assure que le trafic entrant est décrypté, inspecté, enregistré et scanné pour les IPS/IDS - non pas que cela supprime la nécessité de maintenir le(s) serveur(s) sécurisé(s) et à jour, mais pourquoi ne pas trouver cela un avantage étant donné que cela peut atténuer les exploits du jour zéro et la bonne vieille erreur humaine ?

1voto

rmalayter Points 3734

Les pare-feu à inspection de paquets n'ont PAS leur place devant les serveurs publics. Vous acceptez toutes les connexions, donc le suivi de l'état est plutôt inutile. Les pare-feu traditionnels constituent un énorme handicap dans les attaques DDoS et sont généralement la première chose à tomber en panne lors d'une attaque DDoS, avant même que la bande passante du lien ou les ressources du serveur ne soient totalement consommées.

Les filtres de paquets sans état sur les routeurs ont un sens devant les serveurs publics, mais seulement s'ils peuvent gérer le débit de ligne de tout le trafic entrant et sortant (comme une ACL matérielle dans un routeur).

Google, Facebook et même Microsoft ne mettent pas de "pare-feu" traditionnels devant les serveurs publics. Toute personne ayant exploité des services web publics à l'échelle de "plus d'un serveur" devrait le savoir.

D'autres fonctions que l'on trouve dans les pare-feu traditionnels, comme les ASA de Cisco ou autres, sont mieux mises en œuvre sur les hôtes eux-mêmes, où elles peuvent être étendues efficacement. La journalisation, l'IDS, etc. sont toutes des fonctions logicielles dans les pare-feu de toute façon, ils deviennent donc un énorme goulot d'étranglement et une cible de DDoS s'ils sont placés devant des serveurs accessibles au public.

0voto

GregD Points 8703

Pourquoi tous vos serveurs ont-ils besoin d'une adresse publique ?

Installer le serveur dans la salle des serveurs et donnez-lui une adresse IP publique.

Sur les quelque 14 serveurs que je gère régulièrement, seuls deux ont des interfaces accessibles au public.

Modifié pour ajouter : Dans d'autres réseaux que j'ai eu à gérer, nous avons eu la possibilité de désactiver/activer des services à volonté, alors que nous n'avions pas accès à la gestion du pare-feu. Je ne peux même pas commencer à vous dire combien de fois, par inadvertance bien sûr, un service inutile (SMTP) a été activé et laissé en fonction et la seule chose qui nous a sauvés de devenir un dépotoir de spam et d'être mis sur liste noire dans le processus, était un pare-feu.

De plus, tout le trafic qui passe entre les serveurs est-il entièrement crypté ?

Vous pouvez certainement conduire une voiture à 160 km/h sans ceinture de sécurité, sans airbag et avec des pneus usés, mais pourquoi le feriez-vous ?

0voto

Sean Reifschneider Points 10110

Les pare-feu peuvent empêcher les utilisateurs du système d'ouvrir des services accessibles par le réseau dont les administrateurs ne sont pas au courant, ou de faire une redirection de port vers d'autres machines. En utilisant le module hashlimit, les pare-feu peuvent également limiter le débit des utilisateurs abusifs en fonction de l'adresse IP distante.

Un pare-feu est un autre filet de sécurité qui garantit le respect de vos politiques. Bien sûr, n'exécutez pas les services auxquels vous ne vous attendez pas.

Je recommande certainement que les mises à jour logicielles soient appliquées en temps voulu, par exemple, mais je recommande également l'installation de pare-feu sur toutes les machines. C'est comme lorsque je conduis : Bien sûr, j'essaie d'éviter les obstacles et les autres voitures, mais je porte aussi une ceinture de sécurité et j'ai des airbags au cas où l'inattendu se produirait.

0voto

Naseer Points 1223

Vous ne réalisez peut-être pas à quel point vous bénéficiez des pare-feu, simplement parce que tout le monde else les utilise. À une époque où tout le monde, jusqu'aux utilisateurs de DSL, a mis en place des pare-feu, le reniflage de port a été pratiquement abandonné comme vecteur d'attaque possible. Un pirate décent ne va pas perdre son temps à vérifier de telles choses.

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