Je suis sur le marché numérique depuis 2008, et pendant ce temps, j'ai vu la transition des sites Web sur Joomla (rappelez-vous cela?) À Internet d'aujourd'hui avec ses applications mobiles et des centaines de millions d'appareils IoT connectés au réseau.
Les attaques sur Internet se sont également bien développées pendant cette période :)
Mais le marché de la protection DDoS et les technologies utilisées par les opérateurs pour se protéger contre les attaques sont encore assez fermés.
Je vais vous dire ce que j'ai appris sur lui, en soutenant des sites Web et des services Internet qui ont été constamment attaqués au cours des dernières années.
Attaques régulières. 350 000 req au total, 52 000 req légitimesLes premières attaques sont apparues presque simultanément avec Internet. Le DDoS en tant que phénomène s'est généralisé depuis la fin des années 2000 (
voir www.cloudflare.com/learning/ddos/famous-ddos-attacks ).
Vers 2015-2016, presque tous les fournisseurs d'hébergement ont été protégés contre les attaques DDoS, comme la plupart des sites importants dans les zones concurrentielles (faites le whois sur les sites IP eldorado.ru, leroymerlin.ru, tilda.ws, voir le réseau des opérateurs de protection).
S'il y a 10 à 20 ans, la plupart des attaques pouvaient être repoussées sur le serveur lui-même (évaluer les
recommandations de l'administrateur système Lenta.ru Maxim Moshkov des années 90 ), maintenant tout est plus compliqué.
Tout d'abord, brièvement sur les types d'attaques.
Types d'attaques DDoS en termes de choix d'un opérateur de protection
Attaques L3 / L4 (modèle OSI)
- Inondation UDP depuis le botnet (de nombreuses requêtes sont envoyées directement des appareils infectés au service attaqué, le canal est bloqué par les serveurs);
- Amplification DNS / NTP / etc (de nombreuses demandes de DNS / NTP / etc vulnérables sont envoyées depuis des appareils infectés, l'adresse de l'expéditeur est truquée, un nuage de paquets répondant aux demandes envahit le canal de l'attaquant; c'est ainsi que les attaques les plus massives sur Internet moderne sont effectuées);
- SYN / ACK flood (de nombreuses demandes de connexion sont envoyées aux serveurs attaqués, la file d'attente de connexion déborde);
- attaques avec fragmentation de paquets, ping de la mort, ping flood (google plz);
- etc.
Ces attaques visent à «remplir» le canal avec le serveur ou à «tuer» sa capacité à recevoir du nouveau trafic.
Bien que l'inondation et l'amplification SYN / ACK soient très différentes, de nombreuses entreprises les traitent tout aussi bien. Des problèmes surviennent avec les attaques du groupe suivant.
Attaques sur L7 (niveau application)
- http flood (si un site Web ou une API http est attaqué);
- attaque sur les parties vulnérables du site (sans cache, très forte charge sur le site, etc.).
Le but est de faire en sorte que le serveur «travaille dur», traite beaucoup de «comme si de vraies demandes» et se retrouve sans ressources pour de vraies demandes.
Bien qu'il existe d'autres attaques, ce sont les plus courantes.
Des attaques sérieuses au niveau L7 sont créées de manière unique pour chaque projet attaqué.
Pourquoi 2 groupes?Parce qu'il y a beaucoup de gens qui savent bien repousser les attaques au niveau L3 / L4, mais soit ne prennent pas du tout la protection au niveau de l'application (L7), soit tout en les traitant est plus faible que les alternatives.
Qui est qui sur le marché de la protection DDoS
(mon look personnel)
Protection L3 / L4
Afin de repousser les attaques par amplification («bloquer» le canal du serveur), il y a suffisamment de canaux larges (de nombreux services de protection se connectent à la plupart des principaux fournisseurs de dorsale en Russie et ont des canaux d'une capacité théorique supérieure à 1 Tbit). N'oubliez pas que de très rares attaques avec amplification durent plus d'une heure. Si vous êtes Spamhaus et que tout le monde ne vous aime pas - oui, vous pouvez essayer d'éteindre les chaînes pendant plusieurs jours, même au risque de continuer à survivre au botnet mondial utilisé. Si vous venez d'avoir une boutique en ligne, même si c'est mvideo.ru - 1 Tbit pendant plusieurs jours, vous verrez très bientôt (j'espère).
Afin de repousser les attaques avec SYN / ACK flood, la fragmentation des paquets, il est nécessaire que des équipements ou des systèmes logiciels détectent et bloquent de telles attaques.
Un tel équipement est produit par beaucoup (Arbour, il existe des solutions de Cisco, Huawei, des implémentations logicielles de Wanguard, etc.), de nombreux opérateurs de backbone l'ont déjà installé et vendent des services de protection DDoS (je connais les installations de Rostelecom, Megafon, TTK, MTS , en fait, pour tous les grands fournisseurs, les hébergeurs font de même avec leur protection a-la OVH.com, Hetzner.de, face à la protection dans ihor.ru lui-même). Certaines entreprises développent leurs solutions logicielles (des technologies comme DPDK vous permettent de gérer des dizaines de gigabits de trafic sur une machine physique x86).
Parmi les joueurs bien connus, les DDoS L3 / L4 sont plus ou moins efficaces pour repousser tout le monde. Je ne vais pas dire qui a la capacité de canal maximale (ce sont des informations privilégiées), mais généralement ce n'est pas si important, et la seule différence est la rapidité avec laquelle la protection fonctionne (instantanément ou après quelques minutes d'indisponibilité du projet, comme dans Hetzner).
La question est de savoir comment cela se fait: une attaque avec amplification peut être repoussée en bloquant le trafic en provenance des pays où le trafic est le plus nuisible, ou vous pouvez rejeter uniquement du trafic vraiment inutile.
Mais en même temps, d'après mon expérience, tous les acteurs sérieux du marché russe peuvent y faire face sans problème: Qrator, DDoS-Guard, Kaspersky, G-Core Labs (anciennement SkyParkCDN), ServicePipe, Stormwall, Voxility, etc.
Les entreprises en Russie travaillent rarement avec des opérateurs de sécurité étrangers, à l'exception de Cloudflare. J'écrirai sur Cloudflare séparément.
Je n'ai pas rencontré de protection contre des opérateurs tels que Rostelecom, Megafon, TTK, Beeline, selon des collègues, ils fournissent ces services de haute qualité, mais pour l'instant, le manque d'expérience affecte périodiquement: parfois, vous devez resserrer quelque chose grâce au soutien de l'opérateur de protection.
Certains opérateurs disposent d'un service distinct «protection contre les attaques au niveau L3 / L4», ou «protection des canaux», cela coûte beaucoup moins cher que la protection à tous les niveaux.
Et si le fournisseur de backbone repousse les attaques de centaines de Gbps, il n'a pas ses propres canaux?L'opérateur de protection peut se connecter à n'importe lequel des principaux fournisseurs et repousser les attaques «à ses frais». Vous devrez payer pour le canal, mais toutes ces centaines de Gbps ne seront pas toujours utilisées, il existe des options pour réduire considérablement le coût des canaux dans ce cas, de sorte que le schéma reste opérationnel.
Ce sont les rapports de la protection supérieure L3 / L4 que je recevais régulièrement, prenant en charge le système d'hébergement.Protection L7 (niveau application)
Les attaques au niveau L7 (niveau application) sont capables de battre les unités régulièrement et efficacement.
J'ai une expérience assez grande avec
- Qrator.net;
- DDoS-Guard;
- Laboratoires G-Core;
- Kaspersky
Ils facturent pour chaque mégabit de trafic net, un mégabit coûte environ plusieurs milliers de roubles. Si vous avez au moins 100 Mbps de trafic pur - oh. La protection coûtera très cher. Je peux dire dans les articles suivants comment concevoir des applications afin d'économiser très bien sur la capacité des canaux de protection.
Le vrai "roi de la colline" est Qrator.net, les autres sont quelque peu derrière eux. Qrator est le seul dans ma pratique à donner un pourcentage proche de zéro de faux positifs, mais en même temps, ils sont plusieurs fois plus chers que les autres acteurs du marché.
Les autres opérateurs bénéficient d'une protection stable et de haute qualité. De nombreux services que nous supportons (y compris très connus dans le pays!) Sont protégés par DDoS-Guard, G-Core Labs, et sont très satisfaits du résultat, je peux les recommander.
Attaques repoussées par QratorIl existe encore de l'expérience avec les petits opérateurs de protection tels que cloud-shield.ru, ddosa.net, etc. Je ne peux certainement pas le recommander, car l'expérience n'est pas très grande, je vais parler des principes de leur travail. Le coût de la protection est souvent inférieur de 1 à 2 ordres de grandeur à celui des grands acteurs. En règle générale, ils achètent un service de défense partielle (L3 / L4) à l'un des plus grands joueurs + font leur propre défense contre les attaques à des niveaux supérieurs. Cela peut être assez efficace + vous pouvez obtenir un bon service pour moins d'argent, mais ce sont toujours de petites entreprises avec un petit personnel, veuillez considérer.
Cloudflare
CloudFlare est un phénomène distinct. Il s'agit déjà d'une énorme entreprise qui coûte plusieurs milliards de dollars, leurs clients représentent la moitié des générateurs de trafic dans le monde et le service de protection DDoS est tout simplement le plus célèbre de leurs services. Nous les utilisons également en permanence pour l'hébergement DNS, CDN, en tant que service proxy de trafic.
Pour un site / service qui n'a pas d'attaques complexes, Cloudflare est tout à fait correct, mais avec des attaques sérieuses (quand elles ne «remplissent» pas seulement le canal, mais combinent de nombreux types d'attaques), leur plan d'affaires de 200 $ ne nous a jamais sauvés, mais parlons-en La protection des entreprises pour la Russie n'a aucun sens, il est moins coûteux et plus efficace de se tourner vers d'autres joueurs.
Pourquoi Je pense qu'il est difficile de rendre un service massif presque gratuit de très haute qualité.
Au fait, beaucoup d'ingénieurs russophones travaillent dans les FC :)
Opérateurs de sécurité étrangers
J'ai déjà eu une vraie expérience avec Dragonara.net (autrefois le plus grand opérateur de sécurité au monde), qui n'existe plus aujourd'hui.
Il y a déjà beaucoup d'articles sur Habré sur les opérateurs modernes, je vais juste donner un lien vers la
dernière critique:
habr.com/en/post/350384Certes, beaucoup d'entre eux sont très bons si le projet ne vise pas le marché russe, mais en Russie, il y a des problèmes avec eux.
La première - une protection efficace doit être aussi proche que possible du défenseur et tenir compte des spécificités locales (en Russie seulement, en Chine la seconde, en Amérique du Sud la troisième).
Deuxième raison: une tâche vraiment difficile et coûteuse est la protection au niveau L7. Et oui, cela coûte cher à tout le monde, en principe, peu d'entreprises dans le monde offrent une bonne protection L7, et les services russes gagnent souvent simplement la concurrence.
Quelle est la difficulté de repousser les attaques au niveau L7?
Toutes les applications sont uniques et vous devez autoriser le trafic qui leur est utile et bloquer le trafic nuisible. Il n'est pas toujours possible d'éliminer les robots sans équivoque, vous devez donc utiliser beaucoup de degrés de purification du trafic.
Autrefois,
le module nginx-testcookie était suffisant, et maintenant il suffit de repousser un grand nombre d'attaques. Lorsque je travaillais dans le secteur de l'hébergement, ma protection L7 était basée uniquement sur nginx-testcookie. Soit dit en passant, Beget.ru, Netangels.ru, FastVPS.ru avaient un système similaire.
Hélas, les attaques sont devenues plus difficiles. testcookie utilise des contrôles pour les bots basés sur JS, et de nombreux bots modernes peuvent les passer avec succès.
Les réseaux de zombies attaquants sont également uniques et vous devez tenir compte des caractéristiques de chaque grand réseau de zombies.
Amplification, inondation directe depuis un botnet, filtrage du trafic de différents pays (filtrage différent pour différents pays), inondation SYN / ACK, fragmentation des paquets, ICMP, inondation http, tandis qu'au niveau application / http, vous pouvez trouver un nombre illimité d'attaques différentes.
Au total, au niveau de la protection des canaux, des équipements spécialisés pour nettoyer le trafic, des logiciels spéciaux, des paramètres de filtrage supplémentaires pour chaque client, il peut y avoir des dizaines et des centaines de niveaux de filtrage.
Pour gérer correctement cela et régler correctement les paramètres de filtrage pour différents utilisateurs, vous avez besoin de beaucoup d'expérience et de personnel qualifié. Même un opérateur majeur qui a décidé de fournir des services de protection ne peut pas «bêtement jeter un problème à l'argent»: il faudra acquérir de l'expérience sur les sites de mensonge et des faux positifs sur le trafic légitime.
Pour l'opérateur de protection, il n'y a pas de bouton «hit DDoS», il existe un grand nombre d'outils, vous devez pouvoir les utiliser.
Et un autre exemple de bonus.
Le serveur sans protection a été bloqué par l'hébergeur lors d'une attaque d'une capacité de 600 Mbps(La "perte" de trafic n'est pas perceptible, car un seul site a été attaqué, il a été retiré du serveur pendant un certain temps et le verrou a été libéré en moins d'une heure).
Le même serveur est protégé. Les assaillants se sont «rendus» après une journée d'attaques repoussées. L'attaque elle-même n'était pas la plus forte.Les attaques L3 / L4 et leur protection sont plus triviales, elles dépendent principalement de l'épaisseur du canal, des algorithmes de détection et de filtrage des attaques.
Les attaques L7 sont plus complexes et originales, elles dépendent de l'application attaquée, des capacités et de l'imagination des attaquants. La protection contre eux nécessite une grande connaissance et expérience, et le résultat peut ne pas être immédiat et pas à cent pour cent. Jusqu'à ce que Google propose un autre réseau de neurones pour la protection.