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

Dev evdanil at gmail.com
Sun Jan 25 14:04:33 MSK 2009


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


On 1/25/09, Доронин Сергей <nophear at yandex.ru> 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 at 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 at 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 at web48 ~]$
>
> 92.113.238.129 - данный IP не только успешно соединяется с nginx (не смотря
> на "deny"), но и делает это параллельно бесконечное множество раз
>
> (не смотря на limit_zone/limit_conn). Скажите пожалуйста, что я делаю не
> так? Почему nginx игнорирует соответствующие директивы в конфигах?
>
> Заранее, спасибо!
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090125/c13c08ae/attachment.html>


More information about the nginx-ru mailing list