Récemment, j'ai aidé quelques clients à effectuer des tests de pénétration, j'ai retourné les journaux du CDN, je suis content - bon gars, le trafic d'attaque est presque débordant, la stratégie de protection est encore coincée dans le “blocage de l'IP” à ce stade primitif. De nos jours, même le CDN doit “prévenir les coéquipiers”, vous dépensez beaucoup d'argent pour acheter des services de défense de haut niveau, si vous ne regardez pas les logs, cela équivaut en fait aux pirates de répandre de l'argent.
J'ai vu trop d'équipes considérer le CDN de haute défense comme une “boîte noire”, pensant qu'il suffit d'activer la protection pour être tranquille. En fait, les journaux du CDN sont plus riches en indices d'attaques que les alarmes du pare-feu. Mais une question se pose : face à des centaines de gigaoctets de fichiers journaux, quels sont finalement les champs dont il faut se préoccuper ? Quelles sont les données qui constituent des signaux vraiment dangereux ? Ne vous inquiétez pas, aujourd'hui je vais utiliser l'expérience du monde réel pour vous aider à démonter.
Tout d'abord, un malentendu classique : beaucoup de gens viennent pour regarder le pic de bande passante. Les pics de bande passante sont bien sûr à surveiller, mais maintenant l'attaque CC a appris depuis longtemps - les gens avec un faible débit lent frappent, chaque demande IP seulement quelques fois par seconde, en choisissant votre interface dynamique pour commencer. J'ai testé le système de journalisation de CDN5, leurs diagrammes de distribution QPS sont beaucoup plus sensibles que les diagrammes de bande passante, souvent 20 minutes à l'avance pour capturer la montée anormale.
Les mesures vraiment accablantes sont cachées dans le code d'état HTTP. Ne vous contentez pas de regarder les erreurs 404/500, il peut s'agir d'un bogue du programme. Concentrez-vous sur les erreurs 499 (déconnexion à l'initiative du client) et 429 (limite de fréquence). La dernière fois qu'une station de commerce électronique a recueilli des informations, l'attaquant a utilisé un grand nombre d'adresses IP pour lancer la demande d'interface de paiement, puis a immédiatement annulé, et le journal est rempli de 499 :
Laissez directement tomber la demande d'exception 90%.
L'analyse de l'agrégation d'URL est le meilleur moyen d'exploiter les logs. Même les pirates les plus rusés laisseront des modèles - tels qu'un grand nombre de requêtes pour des chemins sensibles comme `/wp-admin.php` et `/api/v1/user/login` en même temps. Le panneau de logs de 08Host a une fonctionnalité géniale : il signale automatiquement la fréquence d'accès à des URL similaires, et peut regrouper et afficher les requêtes qui ont été codées d'une manière qui est contournée. Même les demandes de variantes de codage contournées peuvent être regroupées et affichées. Je recommande souvent à mes clients de mettre en place des alertes de seuil pour les avertir par SMS lorsqu'une seule URL dépasse 2 000 requêtes par minute.
Lorsqu'il s'agit d'analyser le comportement des IP, il ne faut pas croire que le blocage d'une seule IP résoudra le problème. Les attaques avancées reposent sur l'interrogation d'un pool d'adresses IP, où chaque adresse IP n'est utilisée que quelques fois. Mais une machine reste une machine, et il y a toujours des failles. Regardez ce cas réel : dans un DDoS, bien que toutes les IP soient nouvelles, j'ai trouvé que les User-Agents étaient tous `Go-http-client/2.0`, ce qui était manifestement un script Go. Ajouter une règle directement au backend CDN5 :
Supprimez instantanément 70% de trafic indésirable.
Les cartes de distribution géographique constituent également un trésor d'outils. L'accès normal de l'utilisateur a une concentration géographique (par exemple, le trafic de l'entreprise nationale 90% à partir du territoire), mais le trafic d'attaque fait souvent un bond en avant au niveau mondial. La semaine dernière, une station d'affaires a soudainement vu apparaître un grand nombre de visites sud-africaines. Plus tard, ils ont ouvert un contrôle d'accès géographique sur CDN07, et le trafic non professionnel a été directement rejeté, ce qui a fait chuter la pression sur le serveur.
Enfin, parlons d'une technique avancée : la corrélation de la chronologie du journal. Si l'on se contente d'observer les pics instantanés, on risque de passer à côté d'attaques lentes ; il faut donc étirer la chronologie pour voir la tendance. Par exemple, si l'interface API est habituellement accédée 100 fois par minute, puis devient soudainement 500 fois et dure 10 minutes - c'est plus dangereux qu'une rafale instantanée de 5 000 fois, car cela ressemble plus à une pénétration à basse fréquence contrôlée artificiellement. Un bon CDN (tel que 08Host) devrait supporter des alertes personnalisées par fenêtre de temps, et pas seulement les statistiques par défaut de 5 minutes.
En fait, l'optimisation de la stratégie de défense repose sur trois points essentiels : avant les points enfouis (champs de journalisation à lire tous), en matière de corrélation (analyse croisée multidimensionnelle), et après l'automatisation (blocage des liens d'alarme). De nombreuses entreprises sont bloquées à la première étape : même Referrer, X-Forwarded-For, ces champs de base, ne sont pas enregistrés, et il n'y a aucun moyen de commencer l'analyse ultérieure.
Pour vous donner un exemple de configuration, voici le format des journaux qui doivent être enregistrés en plus du côté de Nginx :
N'oubliez pas que les logs CDN ne sont pas des bases de données à archiver, mais des cartes de combat en temps réel. Ne regardez pas certains fournisseurs qui explosent, un très bon système de journalisation doit prendre en charge : les téléchargements de journaux originaux, les requêtes API en temps réel, les tableaux de bord personnalisés. CDN5 est très performant à cet égard, même le temps de la poignée de main TCP peut être retiré pour effectuer une analyse de latence, afin d'aider les clients à découvrir un grand nombre d'attaques lentes.
En fin de compte, la plus grande valeur d'un CDN à haute défense n'est pas de transporter le trafic avec force, mais de vous donner les munitions pour l'analyser. La prochaine fois que vous consulterez les journaux, essayez mon ensemble de combinaisons : d'abord la fréquence des URL du TOP100, puis une analyse croisée du code de l'État et de la distribution géographique, et enfin l'utilisation des fonctions User-Agent pour effectuer le filtrage secondaire - afin de vous assurer que vous pouvez déterrer ces demandes “pseudo-normales” cachées en profondeur. "Requêtes.
L'attaque et la défense en matière de sécurité sont essentiellement une confrontation de coûts. Si vous supprimez les coûts de main-d'œuvre d'un attaquant grâce à une analyse automatisée, il ne peut pas gagner. Allez vérifier votre configuration de journalisation CDN maintenant, et ne dites pas que je ne vous ai pas prévenu - il y a des nids de poule qu'il faut attendre qu'ils s'écroulent avant de penser à les remplir.

