La Fibre

Télécom => Logiciels et systèmes d'exploitation => Linux Linux (usage serveur) => Discussion démarrée par: vivien le 07 août 2014 à 17:24:01

Titre: Limitation par IP sur un serveur Apache
Posté par: vivien le 07 août 2014 à 17:24:01
Sur https://testdebit.info/ il y a plusieurs serveurs qui proposent des fichiers de 1Go.

Certains petits malins se mettent à faire des script pour télécharger en boucle les fichiers. Cela géne les autres utilisateurs, quand le serveur est à 1 Gb/s et la box à 1 Gb/s.

Comment limiter le trafic par IP sur une durée ? Par exemple limiter à 10 Go transféré par heure, au-delà, cela coupe (ou diminue fortement le débit)

Un exemple d'aujourd'hui, à plus de 900 Mb/s de moyenne :


x.x.96.163 - - [07/Aug/2014:17:17:35 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:38 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:41 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:44 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:47 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:50 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:53 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:56 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:17:59 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:03 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:06 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:09 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:12 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:15 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:18 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:21 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:24 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:27 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:30 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:33 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:36 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:39 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:43 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:46 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:49 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:52 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:55 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:18:58 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:01 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:04 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:07 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:10 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:13 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:16 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:19 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:22 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:25 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
x.x.96.163 - - [07/Aug/2014:17:19:28 +0200] "GET /fichiers/1000Mo.dat HTTP/1.1" 404 418 "-" "Wget/1.13.4 (linux-gnu)"
Titre: Limitation par IP sur un serveur Apache
Posté par: thenico le 07 août 2014 à 18:37:49
Absolument non testé: Module Apache::Quota pour mod_perl (http://search.cpan.org/~drolsky/Apache-Quota-0.04/lib/Apache/Quota.pm).
Titre: Limitation par IP sur un serveur Apache
Posté par: buddy le 07 août 2014 à 20:04:00
c'est radical mais une règle fail2ban ? qui bannit l'ip pendant X heures si elle fait par exemple 20 GET /fichiers/* en 1 heure ?
Titre: Limitation par IP sur un serveur Apache
Posté par: vivien le 07 août 2014 à 20:23:52
Merci pour les propositions !
Titre: Limitation par IP sur un serveur Apache
Posté par: Optrolight le 07 août 2014 à 20:35:35
Il y a vraiment des gens qui n'ont rien d'autre à faire? Créer un script pour cela. La bêtise humaine. Une source inépuisable.
Titre: Limitation par IP sur un serveur Apache
Posté par: Leon le 07 août 2014 à 20:50:21
Voilà pourquoi je trouve que la course aux débits monstrueux (400Mb/s ou 1Gb/s) pour le grand public est limite dangereuse. Le risque de dérives est quand même assez fort.
Les bot-net avec des machines à 1Gb/s, ça promet de faire de gros dégâts. 

Leon.
Titre: Limitation par IP sur un serveur Apache
Posté par: Optrolight le 07 août 2014 à 20:57:00
Arf oui et non. Car de l'autre coté ça pousse au progrès pour la protection.
Titre: Limitation par IP sur un serveur Apache
Posté par: cali le 07 août 2014 à 21:16:51
Voilà pourquoi je trouve que la course aux débits monstrueux (400Mb/s ou 1Gb/s) pour le grand public est limite dangereuse. Le risque de dérives est quand même assez fort.
Les bot-net avec des machines à 1Gb/s, ça promet de faire de gros dégâts. 

Leon.

C'est vrai mais généralement il y a un protocole PtP genre PPPoE qui permet d'empêcher le spoofing donc si une machine se met à attaquer on peut facilement la mettre hors ligne.

Autrement, 1Gbit/s chez la majorité des FAI c'est juste sur leur propre réseau.
Titre: Limitation par IP sur un serveur Apache
Posté par: Bensay le 08 août 2014 à 17:23:19
Arf oui et non. Car de l'autre coté ça pousse au progrès pour la protection.
Comme les règles Anti-Ddos à 100M sur les DSLAM?
Je ne sais pas si on peut appeler ça un progrès  ::)  ;)
Titre: Limitation par IP sur un serveur Apache
Posté par: corrector le 08 août 2014 à 17:45:20
c'est radical mais une règle fail2ban ? qui bannit l'ip pendant X heures si elle fait par exemple 20 GET /fichiers/* en 1 heure ?
Pas d'accord si elle fait 20 petits téléchargements!
Titre: Limitation par IP sur un serveur Apache
Posté par: vivien le 08 août 2014 à 18:08:45
Je ne vais pas mettre les limitations pour l'instant, je me renseigne sur ce qui est possible si un coup dur arrivait.
Titre: Limitation par IP sur un serveur Apache
Posté par: buddy le 08 août 2014 à 22:49:40
Pas d'accord si elle fait 20 petits téléchargements!

çà reste un serveur de test de débit ... pas un site pour télécharger des fichiers / pages / podcasts "intéressants".
quel intérêt de faire 20 petits téléchargements ? quelques "gros" téléchargements sont suffisants pour le test de débit.
Titre: Limitation par IP sur un serveur Apache
Posté par: corrector le 08 août 2014 à 23:55:47
Pour voir la montée?