ПРОЕКТЫ 


  АРХИВ 


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: Работа с ип адресом



Hello!

On Tue, Nov 01, 2011 at 12:55:44PM -0400, xoper wrote:

> Доброго времени суток.
> Столкнулся с такой проблемой, сервер
> находится под ДДОС атакой уже
> несколько суток, вроде эту проблему
> победили на уровне nginx'a следующим
> образом:
> раз в 15 минут парсится access.log и
> выбираются плохие адреса с занесением
> в файл в виде
> ип_адрес 1;
> в конфиге нгинкса прописано так:
> http
> {
> ..........
>     geo $remote_addr $ip_blocklist_out {
>         default 0;
>         include /home/test/ddos_ip;
>    }
>    server{
>   ................
>        if ($ip_blocklist_out = 1){
>               rewrite ^/(.*) /index_ddos.htm last;
>               return 403;

Just a side note: до "return" тут дело не дойдёт.

>        }
> 
>   ..............
>  }
> }
> Все работает LA с 66 упал до привычных 0.5
> но попались юзеры, у которых оказался
> хитрый провайдер:
> вместо $remote_addr подставляется "общий ип",
> а ип адрес пользователя прописывается
> в $http_x_forwarded_for, следовательно
> конструкция банит всю подсеть
> провайдера по $remote_addr.
> Так вот вопрос в следующем, как при
> наличии ип адреса в $http_x_forwarded_for
> учитывать его в geo фильтре а при
> отсутствии использовать $remote_addr.
> Спасибо.

Для этого в модуле geo есть директива proxy.  Подробнее тут:

http://nginx.org/ru/docs/http/ngx_http_geo_module.html

Желательно туда не заносить всех подряд, а только реально 
существующих провайдеров, которые делают так.  В противном случае 
такая блокировка будет легко и непринуждённо обходиться 
дописыванием в запрос заголовка "X-Forwarded-For: <случайный ip>".

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.