- Modifié
Maintenant, on va se débarrasser de ce type d’attaque DDOS de façon définitive …
La syntaxe que je vais utiliser est compatible avec Nginx 1.6 :
perso Nginx 1.9.3
-Parti 1 fail2ban
créer le fichier /etc/fail2ban/filter.d/nginx-dos.conf
A partir du tuto de Ex rat
Fail2ban
Rajoutez ces lignes au début :
Source https://beeznest.wordpress.com/2012/06/08/anti-nginx-dos-filter-for-fail2ban-4/
Pour toutes discutions rendez-vous là http://mondedie.fr/d/7001/1
La syntaxe que je vais utiliser est compatible avec Nginx 1.6 :
perso Nginx 1.9.3
-Parti 1 fail2ban
créer le fichier /etc/fail2ban/filter.d/nginx-dos.conf
A partir du tuto de Ex rat
Fail2ban
nano /etc/fail2ban/filter.d/nginx-dos.conf
-Ajouter ses lignes de codes# Fail2Ban configuration file
#
# Generated on Fri Jun 08 12:09:15 EST 2012 by BeezNest
#
# Author: Yannick Warnier
#
# $Revision: 1 $
#
[Definition]
# Option: failregex
# Notes.: Regexp to catch a generic call from an IP address.
# Values: TEXT
#
failregex = ^<HOST> -.*"(GET|POST).*HTTP.*"$
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
Ensuite nous allons editer le fichier jail.localnano /etc/fail2ban/jail.local
[nginx-dos]
# Based on apache-badbots but a simple IP check (any IP requesting more than
# 240 pages in 60 seconds, or 4p/s average, is suspicious)
# Block for two full days.
# @author Yannick Warnier
enabled = true
port = http,https
filter = nginx-dos
logpath = /var/log/nginx/*-access.log
findtime = 60
bantime = 172800
maxretry = 240
-Partie II: Dans la partie serveurnano /etc/nginx/sites-enabled/rutorrent.conf
# Serve static files directly
location ~* \.(png|jpe?g|gif|ico)$ {
expires 1y;
access_log off;
try_files $uri $uri/ @rewrite;
gzip off;
}
location ~* \.(mp3)$ {
expires 1y;
access_log off;
gzip off;
}
location ~* \.(css)$ {
expires 1d;
access_log off;
}
location ~* \.(js)$ {
expires 1h;
access_log off;
}
Éditez votre fichier de configuration de Nginx :nano /etc/nginx/nginx.conf
Et recherchez l’ouverture des balises http :Rajoutez ces lignes au début :
http {
#Connexions maximum par ip
limit_conn_zone $binary_remote_addr zone=limit_per_ip:10m;
limit_conn limit_per_ip 15;
#Nombre de requêtes/s maximum par ip
limit_req_zone $binary_remote_addr zone=allips:10m rate=150r/s;
limit_req zone=allips burst=150 nodelay;
include /etc/nginx/mime.types;
default_type application/octet-stream;
-Redemarrer nginx
Bon, faites tout de même attention avec ces paramètres, si ils sont trop restrictifs ça pourrait empêcher une navigation correcte sur votre site pour les utilisateurs légitimes, n’hésitez pas à lâcher du lest si vous avez des problèmes.
service nginx restart
Source: https://www.abyssproject.net/2014/06/bloquer-les-attaques-ddos-nginx/Source https://beeznest.wordpress.com/2012/06/08/anti-nginx-dos-filter-for-fail2ban-4/
Pour toutes discutions rendez-vous là http://mondedie.fr/d/7001/1