Il est difficile de protéger un serveur contre attaques par déni de service , DoS/DDoS. Les deux moyens simples auxquels je peux penser sont d'utiliser un serveur avec beaucoup de ressources (par exemple CPU et mémoire), et de construire l'application serveur pour évoluer très bien. D'autres mécanismes de protection sont probablement utilisés par le pare-feu. Je peux penser à la liste noire des adresses IP, mais je ne sais pas vraiment comment cela fonctionne. Et il existe probablement d'autres techniques utilisées par le pare-feu pour se protéger contre les attaques DDoS.
Quelles techniques les pare-feu avancés utilisent-ils pour protéger contre les attaques DoS/DDoS?
Ce sont vraiment deux attaques différentes, bien que similaires.
Le DoS "normal" est basé sur une tentative de plantage du serveur/pare-feu, via une sorte de bogue ou de vulnérabilité. Par exemple. les attaques bien connues SYN Flood . Les protections contre celles-ci sont bien sûr spécifiques à la faille (par exemple les cookies SYN), et le codage/design sécurisé en général.
Cependant, DDoS tente simplement de submerger le serveur/pare-feu en l'inondant de masses de demandes apparemment légitimes.
. C'est juste une question de "meilleur effort", tel que la limitation elle-même pour qu'elle ne plante pas, les équilibreurs de charge et les systèmes de basculement, essayant de mettre les IP en liste noire (si pas en fonction de la "méchanceté", puis en fonction de l'usage), et bien sûr, en informant activement les administrateurs.
Ce dernier peut être le plus important, car dans les cas de DDoS apparents (je dis apparents, car juste une utilisation de pointe régulière peut ressembler à DDoS - histoire vraie), il faut vraiment un humain pour différencier le contexte de la situation et déterminer s'il faut arrêter, faire de son mieux, approvisionner une autre boîte, etc. (ou utiliser une contre-attaque ... ssshhh !!)
Mon expérience des attaques DoS et DDoS est basée sur le fait d'être ingénieur Cisco pour un FAI et plus tard en tant que responsable de la sécurité pour une très grande entreprise mondiale. Sur la base de cette expérience, j'ai constaté que pour faire face efficacement aux attaques complexes et à grande échelle, il faut un bon partenariat entre l'organisation attaquée et son partenaire d'atténuation FAI ou DDoS (Oui, il existe maintenant des entreprises dédiées à cela, en substance, elles sont très gros FAI à part entière mais utilisent leur réseau mondial pour absorber le trafic supplémentaire généré lors d'une attaque).
Voici quelques considérations si vous faites face à une attaque qui est en dehors de votre tolérance de bande passante (aka consommation de bande passante) et que vous avez besoin d'aide pour y répondre.
En l'absence de partenaire d'atténuation: Établissez une relation solide avec votre FAI. Identifiez les bonnes équipes et les bons contacts dont vous aurez besoin en cas d'attaque.
Utilisez votre pare-feu (ou tout autre périphérique de journalisation) pour obtenir des preuves de l'attaque (IP source, protocole, longueur de paquet, etc.) car ces informations peuvent être extrêmement précieuses pour le FAI pour décider de la manière de réagir. Ce n'est pas amusant d'essayer de piéger le trafic sur un périphérique de routage Cisco à partir de la ligne de commande à trois heures du matin! Donc, toute aide est appréciée. :-)
Avec cela, votre approche sera probablement de filtrer le trafic dans le cloud ISP. Si vous avez été en mesure de fournir suffisamment d'informations et que le trafic est tel, le FAI pourrait bien être en mesure de filtrer le trafic malveillant et de laisser un trafic réseau valide libre pour accéder à votre réseau. Cependant, si vous causez des problèmes de latence pour le FAI, il est probable qu'ils trouent tout votre itinéraire sur leur passerelle BGP et vous disparaîtrez du net. Des filtres de routage supplémentaires provoquent une charge sur les passerelles, alors ne vous attendez pas à ce que votre FAI ajoute plusieurs filtres, car cela pourrait avoir un impact sur leurs autres utilisateurs.
tilisation d'un partenaire d'atténuation:
Je ne peux parler que de l'expérience d'un fournisseur pour cela, vous devrez donc faire vos devoirs pour décider si vous en avez besoin et si oui, qui serait le mieux placé pour fournir.
Le service était basé sur la publicité de route BGP et la surveillance des attaques. Une fois qu'une attaque a été identifiée, le partenaire d'atténuation annonce votre itinéraire pour traverser leur réseau, où les routeurs principaux sont utilisés pour filtrer le trafic malveillant avant de le transmettre à l'organisation.
Mon rôle dans tout cela était de tester la mise en œuvre d'une approche en partenariat pour l'atténuation des DDoS. Cela impliquait l'utilisation d'une équipe mondiale d'ingénieurs en sécurité pour générer suffisamment de trafic pour permettre un test valide. Nous testions à la fois la capacité d'identifier une attaque puis de réagir efficacement. Sur cette base, nous avons été très impressionnés par leur approche globale et la solution a fonctionné.
Un type de protection contre DDOS non effectué directement par les pare-fe consiste à distribuer le contenu de la page dans le monde entier de manière à ce que toutes les demandes provenant d'un pays soient exécutées contre un serveur local et les demandes provenant d'un autre pays , vers la même URL ou le même domaine, sont exécutés sur d'autres serveurs locaux répartissant la charge entre les serveurs locaux et ne surchargeant pas un serveur unique. Un autre point de ce système est que les demandes ne vont pas trop loin.
C'est un travail pour les DNS et l'infrastructure s'appelle Content Delivery Network ou CDN.
Des entreprises comme CloudFlare proposent ce type de services.
DDOS se fait généralement en envoyant une quantité écrasante de paquets au serveur, dans lequel le serveur essaiera frénétiquement de traiter, naturellement. Une fois qu'un pare-feu détecte un DDOS possible, il peut être configuré pour mettre sur liste noire tous les clients avec suffisamment de PPS (paquets par seconde).
Les filtres peuvent être activés et désactivés à tout moment, de sorte que si vous rencontrez un DDOS, vous pouvez activer un filtre avec un ensemble de règles très strict.
J'aime répondre à la première partie de la question qui est " utiliser un serveur avec beaucoup de ressources (par exemple CPU et mémoire) pour faire évoluer l'application ". Il est recommandé d'effectuer la mise à l'échelle de l'application avant d'effectuer la mise à l'échelle du serveur. Le profilage d'application peut être décomposé en étapes suivantes:
Il y a beaucoup à ajouter à cette liste et une bonne lecture est "Comment faire évoluer une application Web"