web-dev-qa-db-fra.com

Comment les principaux sites empêchent-ils les DDoS?

Pour autant que je sache, je n'ai jamais entendu parler ni vu de sites Web à grande échelle comme Amazon, Microsoft, Apple, Google ou Ebay qui souffrent de DDoS. Avez-vous?

J'ai une philosophie personnelle: plus vous êtes gros, plus vous êtes une cible pour de telles attaques. Imaginez les points brownie que vous obtiendriez si vous pouviez faire tomber un site Web majeur.

Pourtant, ces sites sont toujours restés solides et apparemment invincibles. Quelles mesures de sécurité ont-elles mises en place et peuvent-elles être appliquées aux petites entreprises?

75
Lakitu

Ils ont généralement une approche très stratifiée. Voici certaines choses que j'ai mises en œuvre ou que j'ai vues mises en œuvre dans de grandes organisations. Pour votre question spécifique sur les petites entreprises, vous trouverez généralement un fournisseur tiers pour vous protéger. Selon votre cas d'utilisation, il peut s'agir d'un fournisseur de cloud, d'un CDN, d'une solution routée BGP ou d'une solution basée sur DNS.

Bandwidth Oversubscription - Celui-ci est assez simple. À mesure que vous vous agrandissez, vos coûts de bande passante diminuent. Généralement, les grandes entreprises louent une capacité beaucoup plus importante que nécessaire pour tenir compte de la croissance et des attaques DDoS. Si un attaquant est incapable de rassembler suffisamment de trafic pour le submerger, une attaque volumétrique est généralement inefficace.

Atténuation automatisée - De nombreux outils surveilleront les données netflow des routeurs et d'autres sources de données pour déterminer une ligne de base pour le trafic. Si les modèles de trafic sortent de ces zones, les outils d'atténuation DDoS peuvent attirer le trafic vers eux à l'aide de BGP ou d'autres mécanismes et filtrer le bruit. Ils transmettent ensuite le trafic propre au réseau. Ces outils peuvent généralement détecter à la fois les attaques volumétriques et les attaques plus insidieuses telles que slowloris.

Blackholing en amont - Il existe des moyens de filtrer le trafic UDP en utilisant le blackholing du routeur. J'ai vu des situations dans lesquelles une entreprise n'a pas besoin de recevoir du trafic UDP (c'est-à-dire NTP et DNS) vers son infrastructure, de sorte que ses fournisseurs de transit trouent tout ce trafic. Les plus grandes attaques volumétriques là-bas sont généralement reflétés NTP ou attaques d'amplification DNS.

Fournisseur tiers - Même de nombreuses organisations assez grandes craignent une attaque monstre de 300 Gbps. Ils implémentent souvent un service de redirection basé sur DNS ou un service basé sur BGP pour les protéger en cas d'attaque soutenue. Je dirais que les fournisseurs CDN relèvent également de ce parapluie, car ils peuvent aider une organisation à rester en ligne pendant une attaque.

Renforcement du système - Vous pouvez souvent configurer à la fois votre système d'exploitation et vos applications pour être plus résilient aux attaques DDoS de la couche application. Des choses telles que garantir suffisamment d'inodes sur votre serveur Linux pour configurer le bon nombre de threads de travail Apache peuvent aider à rendre plus difficile pour un attaquant de supprimer votre service.

65
theterribletrivium

Bien qu'il n'y ait pas de véritables contre-mesures pour le DDOS, il existe des moyens de le contrôler.
La première consiste à utiliser un Content Delivery Network , à l'aide de plusieurs centres de données à travers le monde pour servir des contenus aux visiteurs de différentes zones géographiques. Cela permet d'éliminer un point de défaillance unique et rend plus difficile l'épuisement des ressources ou la saturation des liens et l'équilibre de la charge d'attaque.
. J'espère que cela aide.

13
Sam

En tant qu'entreprise de taille moyenne, nous utilisons un service d'atténuation DOS pour réduire le risque que notre site Web soit mis hors ligne. Notre site se résout à l'adresse IP du fournisseur. Le fournisseur transmet ensuite la demande à notre serveur Web. Notre serveur Web ne communique qu'avec le fournisseur.

Ils utilisent ensuite leurs outils pour déterminer si certaines attaques sont des attaques réelles en utilisant une variété d'outils de surveillance et de corrélation. S'il y a une attaque, le fournisseur ne transmet pas la demande à nos serveurs Web et absorbe l'attaque. Pour pouvoir effectuer ce type d'atténuation, votre capacité doit dépasser celle de ce que l'attaquant essaie de fournir. Avec les grandes entreprises qui s'attendent normalement à une plus grande capacité de bande passante, je m'attendrais à ce qu'elles sous-traitent à des FAI ou créent un système interne pour exécuter la même stratégie d'atténuation.

12
pr-

Mon entreprise a géré des attaques DDoS jusqu'à 180 Gbit/s et voici mes techniques que j'ai utilisées pour atténuer.

La taille d'un site Web n'en fait pas seulement une cible plus importante, les choses qui jouent également un rôle important sont:

  • Relations publiques (vous commercialisez-vous comme quelque chose que vous n'êtes pas, quelles personnes visez-vous)
  • Tenir ses promesses
  • Traiter les clients de la bonne façon

Les motifs d'attaques DDoS incluent, sans s'y limiter:

  • Fame ("Oh regarde-moi, j'ai réussi à démolir ce site")
  • Argent (les sites plus grands sont plus chers à attaquer, généralement s'ils recherchent de l'argent, ils cibleront les plus petits avec des revenus élevés qui n'ont pas une grande équipe technique)
  • Activisme

Aussi (à partir d'un des commentaires):

  • Un autre motif est qu'ils essaient de vous distraire. Par exemple, s'ils veulent attaquer Apache, vous êtes en train de résoudre ce problème pendant qu'ils renforcent brutalement votre mot de passe SSH.

Il existe de nombreux types d'attaques DDoS et la façon dont elles sont lancées, vous devez d'abord obtenir les points que j'ai énumérés ci-dessus dans l'ordre, puis vos attaques DDoS diminueront probablement. Cela ne signifie pas que vous ne les éprouverez plus, vous donnez simplement aux gens moins de raisons de vous attaquer.

Sur le plan technique, il y a plusieurs choses à considérer car la plupart des entreprises ont plusieurs nœuds dans leur infrastructure. Dans certains cas, chaque nœud nécessite un type d'approche différent. Dans mon cas, ces nœuds étaient une API, un serveur de jeux, un serveur d'authentification, une base de données et un serveur social. L'étape 1 consistait à s'assurer que vous n'exposez jamais une adresse IP qui n'a pas besoin d'être exposée. Dans mon cas, il s'agissait du serveur d'authentification, de la base de données et du serveur social. Généralement, limiter les points de défaillance est une bonne approche pour commencer. La protection est incroyablement chère et il n'est bon d'avoir la protection la plus résistante là où vous en avez vraiment besoin.

Une fois que vous avez déterminé quels points doivent être publics, vous pouvez protéger chaque fonction individuellement de la manière dont elles doivent être protégées. theterriblevitrium a donné une excellente réponse aux techniques, voici mes 2 cents sur celui-là.

  • Anycast (Par exemple, un CDN. Cela fonctionne incroyablement bien pour les nœuds statiques tels que les API locales, les serveurs DNS et les serveurs Web, l'inconvénient est qu'il ne fonctionne actuellement pas efficacement pour les systèmes qui ont un point de défaillance unique tel que les serveurs de jeux)
  • Règles de réseau et inspection des paquets (EG, chaque connexion ne peut prendre que X Ko de trafic par seconde et chaque paquet doit correspondre au modèle x, y ou z. Cela a bien fonctionné pour nos jeux. L'inconvénient est que s'ils atteignent votre limite de bande passante, vous pas de chance.)

N'hésitez pas à poser des questions!

6
Pim de Witte

Je ne sais pas si c'est ce que vous vouliez dire avec l'atténuation automatisée mentionnée par @theterribletrivium, mais ils utilisent également des équilibreurs de charge pour distribuer le trafic uniformément sur des serveurs séparés afin qu'ils s'exécutent le plus rapidement possible.

Bien que ce ne soit pas le moyen le plus efficace de répartir également les utilisateurs sur les serveurs, Google utilise ce qu'on appelle DNS à tour de rôle . Le DNS à tour de rôle renvoie plusieurs adresses IP et l'utilisateur se connecte à l'une de ces adresses IP. Cependant, le problème est que la même adresse IP peut être déterminée par plusieurs ordinateurs auxquels se connecter, ce qui rend les autres serveurs plus rapides et non utilisés.

Ils utilisent une configuration similaire pour gérer les grandes quantités d'informations stockées. Google utilise ce qu'il appelle BigTable pour stocker des informations relatives à Google Maps, Blogger, YouTube, GMail et plus encore. Il est rapporté que Google utilise des centaines de milliers de serveurs afin de stocker toutes ces informations et de faire fonctionner leurs sites Web le plus rapidement possible.

Ils utilisent un logiciel (qu'ils ont probablement développé eux-mêmes) pour héberger leurs sites Web et sans utiliser une grande quantité de mémoire et de CPU. Le serveur Web le plus populaire, Apache, n'est certainement pas utilisé par ces grands sites Web en raison de la façon dont il ne parvient pas à gérer des charges aussi lourdes et il est affecté par le problème C10k . Le problème C10k entraîne l'échec des serveurs Web (tels qu'Apache) et parfois leur arrêt lorsque plus de 10000 connexions sont établies avec le serveur Web en même temps (ce que Google a probablement beaucoup plus de 10000 connexions à la fois).

Les serveurs et le matériel qu'ils utilisent sont haut de gamme. Selon le article Wikipédia sur la plate-forme Google cependant, Google n'utilise pas de matériel qui fonctionne le mieux, il utilise du matériel qui est le meilleur pour son argent.

Si vous y pensez, des sites Web tels que Google, Amazon, Microsoft et Apple sont techniquement toujours sous une attaque DDoS. Mais ils ont des technologies avancées en place qui permettent à leurs sites Web d'être accessibles par tout le monde sans être arrêté.

0
ub3rst4r