ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Проблема с блокировкой IP а дресов, а также с limit_conn


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Проблема с блокировкой IP а дресов, а также с limit_conn
  • From: Dev <evdanil@xxxxxxxxx>
  • Date: Sun, 25 Jan 2009 21:04:33 +1000
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type; bh=tz/ocy8UXIWahjYH77P6e34ZGEhwieRonslLaDesW2s=; b=u011Oe6yVpvn7OT1SnBpslkq8pZ0sP8MF7K0O75leey6F/CS3fVpMmSWH4NJXv6UH6 hvx6sf0m2+dKoZPARkmJKdwyY984Gsepl3Srr0UWhcER4TttsJaXr03QrtuPFZfNSRQt v30dPU5yhGgZ70l5miPQivQxyNviHdFTe0MOQ=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=EOA5iTwmdDvMORcQdBoq8DlvzNwuqucpGZwaC2aQWbNOCk2/5IsOHzK542E4q9TsPM 3FKkMSjrZjtuDKcitVGoKMoMo0fL2TGTDcvNGYFOjfm+qoaADZ55+JrqfnGYRjVyoSJn PbAL/5M9qW1Px6EgkBiGL5Hdv47SnTXctW26E=
  • In-reply-to: <739721232879912@xxxxxxxxxxxxxxxxxxx>
  • References: <739721232879912@xxxxxxxxxxxxxxxxxxx>

allow all
deny bla bla
вы же сами все разрешили.. попробуйте deny впереди поставать

 
On 1/25/09, Доронин Сергей <nophear@xxxxxxxxx> wrote:
Здравствуйте!
У меня на сервере на 8080 порту установлен apache, а на 80 nginx. Иногда мой сайт подвергается http-флуд атакам, что влечёт за собой множество

соединений с одного IP. Соответственно мне нужно средствами nginx ограничивать количество соединений с одного IP и блокировать доступ к сайту

для некоторых IP адресов. В документации по nginx я нашёл решение обоих вопросов. Вырезка из nginx.conf:

# NGINX Server configuration

worker_processes  3;

error_log  /home/myhost/logs/error.log;

pid        /home/myhost/logs/nginx.pid;

events {
   worker_connections  1024;
}


http {
   include       /usr/local/etc/nginx/mime.types;
   default_type  application/octet-stream;
   server_names_hash_bucket_size 64;

   access_log  /home/myhost/logs/access.log combined;

   sendfile        on;

   keepalive_timeout  20;


   limit_zone   one  $binary_remote_addr  10m;

   server {
       listen       1.2.3.4:80;
       server_name  myhost.nichost.ru www.myhost.nichost.ru;

       limit_conn   one  3;

       allow all;
       deny 92.113.238.129;
.....................
Где 1.2.3.4 - IP моего сервера.
С данным конфигом я запускаю nginx. После этого смотрю в netstat и вижу такую картину:

[myhost@web48 ~]$ netstat -an|grep ESTABLISH|more
netstat: kvm not available
tcp4       0      0  1.2.3.4.80      62.182.93.42.55050     ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20928   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.124.46.214.3788     ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.19614   ESTABLISHED
tcp4       0      0  1.2.3.4.80      62.182.93.42.56534     ESTABLISHED
tcp4       0    330  1.2.3.4.80      62.182.93.42.64848     ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.19580   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20842   ESTABLISHED
tcp4       0    330  1.2.3.4.80      95.79.9.220.3079       ESTABLISHED
tcp4       0    690  1.2.3.4.80      92.126.158.158.49561   ESTABLISHED
tcp4       0    690  1.2.3.4.80      92.126.158.158.49560   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20807   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20795   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.19495   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20776   ESTABLISHED
tcp4       0    330  1.2.3.4.80      95.79.9.220.3078       ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20775   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20774   ESTABLISHED
tcp4       0    330  1.2.3.4.80      89.250.149.46.61099    ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20760   ESTABLISHED
tcp4       0    690  1.2.3.4.80      92.243.181.212.17171   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.124.46.214.3784     ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20735   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20738   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20718   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20708   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20699   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20669   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20666   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.19411   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20657   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20633   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.19377   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.19400   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.124.46.214.3780     ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20599   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20598   ESTABLISHED
tcp4       0    330  1.2.3.4.80      92.113.238.129.20587   ESTABLISHED
[myhost@web48 ~]$ ps aux|grep nginx
myhost 89909  0.0  0.0 12224  1220  ??  Ss   12:47PM   0:00.00 nginx: master process /usr/local/sbin/nginx -c /home/myhost/nginx/nginx.conf

(nginx)
myhost 89910  0.0  0.1 12684  1692  ??  S    12:47PM   0:06.15 nginx: worker process (nginx)
myhost 89911  0.0  0.0 12500  1508  ??  S    12:47PM   0:08.07 nginx: worker process (nginx)
myhost 89912  0.0  0.0 12500  1508  ??  S    12:47PM   0:08.19 nginx: worker process (nginx)
myhost 94547  0.0  0.0  1592   836  p5  S+    1:13PM   0:00.00 grep nginx
[myhost@web48 ~]$

92.113.238.129 - данный IP не только успешно соединяется с nginx (не смотря на "deny"), но и делает это параллельно бесконечное множество раз

(не смотря на limit_zone/limit_conn). Скажите пожалуйста, что я делаю не так? Почему nginx игнорирует соответствующие директивы в конфигах?

Заранее, спасибо!




 




Copyright © Lexa Software, 1996-2009.