Auteur Sujet: Détecter (et bloquer) un DDOS sortant ?  (Lu 5345 fois)

0 Membres et 1 Invité sur ce sujet

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 666
  • WOOHOO !
    • OrneTHD
Détecter (et bloquer) un DDOS sortant ?
« le: 28 avril 2019 à 15:03:30 »
Hello les amis, j'ai besoin de vous cette fois-ci :)

Je viens d'avoir un mail il y a quelques jours concernant une attaque à laquelle l'un de nos abonnés aurait participé. La victime en question est nForce et je tiens à souligner la qualité de leurs mails avec plein d'infos aussi bien basiques (comment vous protéger nananère) que techniques (voici un échantillon de dump) pour réduire l'ampleur des attaques.

Notre réseau utilise déjà la technique BCP38 (en gros, tout le trafic UDP avec une IP source qui n'est pas OrneTHD, je jette) et ça élimine pas mal de merdes, je vous assure.

Par contre, là je confirme, l'abonné a bien sorti 14Mbps (le max de sa ligne) pendant quelques minutes. En l'appelant, j'ai vite compris que c'était à son insu et qu'il comprenait pas comment c'était possible. Donc les paquets UDP sont bien sorti avec sa vraie IP. Les paquets faisaient 1278 octets chacun (qui n'a pas fait exploser les pps, donc l'antiddos en place n'a rien vu), avec du texte assez parlant :
2019-04-26 00:24:05.543398 IP (tos 0x8, ttl 51, id 5697, offset 0, flags [DF], proto UDP (17), length 1278)
   193.148.82.xxx.3150 > 74.91.119.x.14597: UDP, length 1250
   0x0000:  4508 04fe 1641 4000 3311 5797 c194 5207  E....A@.3.W...R.
   0x0010:  4a5b 7718 0c4e 3905 04ea dced 4920 6861  J[w..N9.....I.ha
   0x0020:  5665 2073 6d41 6c6c 2043 6f63 434b 2053  Ve.smAll.CocCK.S
   0x0030:  796e 646f 726d 2053 7777 7920 4920 666f  yndorm.Swwy.I.fo
   0x0040:  7267 6574 2068 6f77 2074 6f20 7370 6565  rget.how.to.spee
   0x0050:  6c6c                                     ll

J'avoue que je suis un peu à court de solutions (bon il y a toujours des solutions payantes, qu'on voudrait éviter). Selon moi, il faudrait vraiment aller au coeur du paquet en L7, mais là pareil, si le mec remplace "i have small cocks" par "i wanna be a superstar", ça passe au travers  ::)

Aussi, mon post veut aussi attirer l'attention sur les capacités en upload qui augmentent de plus en plus : là mon gars n'a sorti que 14Mbps, j'imagine les dégats avec qq abonnés FTTH avec 600Mbps au cul  :-X

Voilà, merci d'avance pour vos réponses :)

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 443
  • Lyon (69) / St-Bernard (01)
    • Twitter
Détecter (et bloquer) un DDOS sortant ?
« Réponse #1 le: 28 avril 2019 à 15:09:48 »
Si tu n'as qu'un seul abonné, pour moi c'est impossible...

Moi je fais des alertes par port sur le global, si un port dépasse le gbit/s, hors certains ports genre 443/TCP/UDP, ça envoie une alerte.

C'est pas magique mais ça dépanne...

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
Détecter (et bloquer) un DDOS sortant ?
« Réponse #2 le: 28 avril 2019 à 15:14:15 »
Netflow + whitelist sur les ports UDP "communs"/standards.

Eventuellement, regarder si une signature est possible à partir des champs IP: tos, id, etc.

Curieux de savoir quel est le code sur la machine de ton abonné qui a généré ce trafic.

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 666
  • WOOHOO !
    • OrneTHD
Détecter (et bloquer) un DDOS sortant ?
« Réponse #3 le: 28 avril 2019 à 18:27:07 »
Curieux de savoir quel est le code sur la machine de ton abonné qui a généré ce trafic.
Oula, sur ce point difficile à dire, mais c'est sûr qu'un PC doit être salement infecté chez lui.

Après, j'ai une population loin d'être geek. J'ai régulièrement des abonnés qui se font avoir par les fameux mails "hé, on t'a vu avec ta webcam te branler, tu as des goûts sympa en matière de vidéos, on va tout passer à tes contats si tu files pas 1 bitcoin". On doit sans cesser être plus sévère dans nos filtrages pour contrer ces merdes.

Une chance que le BCP38 empêche beaucoup de merdes de sortir (encore une fois, empêcher que des abonnés sortent des paquets avec une IP qui n'est pas la leur). Du coup là ce qui sort c'est vraiment des paquets qui viennent de mon réseau en direction d'un serveur ciblé.

Citer
Si tu n'as qu'un seul abonné, pour moi c'est impossible...
Oui je ne me fais pas beaucoup d'illusion.

On m'a aussi suggérer de brider l'upload UDP à qq Mbps et laisser au TCP open bar. Suffisant pour laisser passer la VOIP (genre Mumble) et les jeux.

alain_p

  • Abonné Free fibre
  • *
  • Messages: 16 245
  • Delta S 10G-EPON sur Les Ulis (91)
Détecter (et bloquer) un DDOS sortant ?
« Réponse #4 le: 28 avril 2019 à 18:58:33 »
Oula, sur ce point difficile à dire, mais c'est sûr qu'un PC doit être salement infecté chez lui.

Ou une caméra de video surveillance piratée ? Cela s'est vu..

https://www.lemondeinformatique.fr/actualites/lire-des-cameras-ip-chinoises-a-l-origine-de-la-gigantesque-attaque-ddos-66311.html
https://www.numerama.com/tech/179729-lizard-squad-pirate-cameras-de-surveillance-mener-attaques-ddos.html

Et si le client n'est pas trop geek, il n'a pas mis sa caméra à jour ni changé les mots de passe.

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 371
Détecter (et bloquer) un DDOS sortant ?
« Réponse #5 le: 28 avril 2019 à 19:05:06 »
On m'a aussi suggérer de brider l'upload UDP à qq Mbps et laisser au TCP open bar. Suffisant pour laisser passer la VOIP (genre Mumble) et les jeux.

Solution qui me parait être un moindre mal. Et facile à mettre en place.

Celle de BadMax est pas mal non plus.


Slothy

  • Abonné Bbox fibre
  • *
  • Messages: 1 169
  • 2x FTTH 1 Gb/s sur Le Plessis-Trévise (94)
Détecter (et bloquer) un DDOS sortant ?
« Réponse #6 le: 28 avril 2019 à 20:41:41 »

On m'a aussi suggérer de brider l'upload UDP à qq Mbps et laisser au TCP open bar. Suffisant pour laisser passer la VOIP (genre Mumble) et les jeux.
Du coup tu vas brider les VPN :(

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 371
Détecter (et bloquer) un DDOS sortant ?
« Réponse #7 le: 28 avril 2019 à 21:38:29 »
Ah oui c'est vrai ça... je cherchais justement ce qui pouvait beaucoup consommer en UDP, et j'avais zappé certains VPN.

Du coup la whitelist est peut-être plus pertinente, en admettant que le gars en face n'ai pas changé le port.

Ou a la limite, vu que c'est un petit réseau, le mieux serait peut-être de brider manuellement la ligne, et lever la restriction quand le client aura désinfecté ses machines ? Ça lui apprendra peut-être à faire plus attention ou à se documenter sur le sujet...

Optix

  • AS41114 - Expert OrneTHD
  • Abonné Orne THD
  • *
  • Messages: 4 666
  • WOOHOO !
    • OrneTHD
Détecter (et bloquer) un DDOS sortant ?
« Réponse #8 le: 28 avril 2019 à 22:00:36 »
Ou a la limite, vu que c'est un petit réseau, le mieux serait peut-être de brider manuellement la ligne, et lever la restriction quand le client aura désinfecté ses machines ? Ça lui apprendra peut-être à faire plus attention ou à se documenter sur le sujet...

Ma réflexion se voulait au-delà de mon propre réseau, étant donné que j'ai ce cas très concret qui est intéressant et qu'avec les topics "Bouygues augmente l'upload", "Free annonce 600Mbps", et avec la 5G qui arrive, cela mérite d'être exposé.

Mais effectivement dans le cas d'espèce, je lui ai conseillé de bien passer antivirus (plusieurs hein), et de faire le ménage, car il n'est pas à l'abri que qqn espionne sa webcam ou autre.

Citer
Ah oui c'est vrai ça... je cherchais justement ce qui pouvait beaucoup consommer en UDP, et j'avais zappé certains VPN.
MMhhh, sinon j'ai une astuce (pour l'exemple) : par défaut je bride toutes les flux UDP sortants à 1Mbps, SAUF s'il l'IP en face échange aussi des paquets. En gros, il faut vraiment que l'hôte en face te réponde aussi.
Sur du routeur Mikrotik, faire ça en 2 étape : 1) une règle qui match les flux en entrées qui peuplent une address-list, et 2) une règle qui shape tous les flux UDP sortants vers les IP qui ne sont pas dans l'address-list.

Citer
Celle de BadMax est pas mal non plus.
Ca dépend de la signature obtenue. Tu as un flux légitime qui part vers une IP, comment savoir si la communication est légitime ou non ? A mon sens, je pense que le fait de savoir s'il y a un retour d'information permet de s'en assurer.

Vous en pensez quoi ?

renaud07

  • Abonné Orange adsl
  • *
  • Messages: 3 371
Détecter (et bloquer) un DDOS sortant ?
« Réponse #9 le: 28 avril 2019 à 22:15:29 »
MMhhh, sinon j'ai une astuce (pour l'exemple) : par défaut je bride toutes les flux UDP sortants à 1Mbps, SAUF s'il l'IP en face échange aussi des paquets. En gros, il faut vraiment que l'hôte en face te réponde aussi.
Sur du routeur Mikrotik, faire ça en 2 étape : 1) une règle qui match les flux en entrées qui peuplent une address-list, et 2) une règle qui shape tous les flux UDP sortants vers les IP qui ne sont pas dans l'address-list.

Ben voilà t'as trouvé  ;) Je suis loin d'être expert en réseau, même si j'aime bien bidouiller à domicile, je n'aurais pas pensé à cette solution.

Ca dépend de la signature obtenue. Tu as un flux légitime qui part vers une IP, comment savoir si la communication est légitime ou non ? A mon sens, je pense que le fait de savoir s'il y a un retour d'information permet de s'en assurer.

Maintenant que tu le dis... c'est évident. Donc je pense que tu peux partir sur ta solution de "retour positif" pour brider ou non le flux.

Gabi

  • Abonné SFR THD (câble)
  • *
  • Messages: 94
Détecter (et bloquer) un DDOS sortant ?
« Réponse #10 le: 28 avril 2019 à 22:31:24 »
En plus des VPN, des jeux et de la VoIP, il y a aussi le Streaming sur WebRTC, avec les solutions type Streamroot qui peuvent générer pas mal de trafic UDP (en P2P). C'est sûr qu'on envoie jamais des dizaines de Mbps vers une seule IP, mais en cumulé, c'est tout à fait possible de dépasser plusieurs dizaines de Mbps en pic.

Catalyst

  • Abonné FAI autre
  • *
  • Messages: 191
Détecter (et bloquer) un DDOS sortant ?
« Réponse #11 le: 29 avril 2019 à 10:40:07 »

Sur du routeur Mikrotik, faire ça en 2 étape : 1) une règle qui match les flux en entrées qui peuplent une address-list, et 2) une règle qui shape tous les flux UDP sortants vers les IP qui ne sont pas dans l'address-list.
Vous en pensez quoi ?

Peut-être utiliser connection-state=established, au lieu d'une address-list ?