Tomsk Sysadmins Forum
Unix => Администрирование => Topic started by: Vladn on April 13, 2007, 05:35:01
-
Есть такая проблема: спаммеры кушают входящий трафик (который у меня ограничен), посылая POST-запросы на разные страницы. Банить по IP адресам бесполезно - каждый раз используются новые адреса. Какими способами можно настроить Apache на выполнение проверки некоторых условий после получения пустой строки между заголовком HTTP-запроса и телом HTTP-запроса, чтобы при несоблюдении условий разорвать соединение со спаммером?
-
Есть такая проблема: спаммеры кушают входящий трафик (который у меня ограничен), посылая POST-запросы на разные страницы. Банить по IP адресам бесполезно - каждый раз используются новые адреса. Какими способами можно настроить Apache на выполнение проверки некоторых условий после получения пустой строки между заголовком HTTP-запроса и телом HTTP-запроса, чтобы при несоблюдении условий разорвать соединение со спаммером?
вам прямая дорога к использованию mod_security
-
Есть такая проблема: спаммеры кушают входящий трафик (который у меня ограничен), посылая POST-запросы на разные страницы. Банить по IP адресам бесполезно - каждый раз используются новые адреса. Какими способами можно настроить Apache на выполнение проверки некоторых условий после получения пустой строки между заголовком HTTP-запроса и телом HTTP-запроса, чтобы при несоблюдении условий разорвать соединение со спаммером?
твое время стоит дешевле трафика?
-
на самом деле это просто делается при помощи mod_rewrite
-
<Limit POST PUT DELETE>
Require valid-user
..
или
Deny from All
</Limit>
-
твое время стоит дешевле трафика?
1) Если админ не может решить такую проблему (как и борьба со спамом), то его время вообще ничего не стоит, т.к. это не админ.
2) Трафик не платный, он просто ОГРАНИЧЕН. Снять ограничение путём оплаты не предполагается
--------------
Я решил эту проблему так:
LimitRequestBody 300
т.к. по правилам работы сайта в теле нормального POST-запроса будет не более 300 байт.
-------------
Возникла другая проблема:
нужно настроить FreeBSD так, чтобы входящий трафик по 80-му порту из Томска обрабатывался текущей машиной, а из внешки - другой машиной (чтобы входящий трафик кушался другой машиной). Можно ли это сделать с помощью ipfw?
-
нужно настроить FreeBSD так, чтобы входящий трафик по 80-му порту из Томска обрабатывался текущей машиной, а из внешки - другой машиной (чтобы входящий трафик кушался другой машиной). Можно ли это сделать с помощью ipfw?
Можно. Занести томские сети в таблицу (man ipfw /table), затем сделать форвардинг приходящего на эту машину на порт 80 не из табллицы на другую машину (man ipfw /fwd), на другой машине, если там тоже фря, сделать форвардинг приходящего на айпишник первой машины на нужный порт на 127.0.0.1 и обрабатывать как хочется.
-
А в случае с форвардингом на какой IP будет посылать пакеты внешняя машина: на адрес основной машины (которая перенаправит пакеты на вторую машину) или на адрес второй машины?
Я так думаю, что пакеты всё равно будут приходить на IP основной машины и трафик будет кушаться именно для неё. А можно ли сделать так, чтобы при попытке установить TCP-соединение с основной машиной она сказала "а теперь общайся не со мною, а вон с той машиной" ?
-
А в случае с форвардингом на какой IP будет посылать пакеты внешняя машина: на адрес основной машины (которая перенаправит пакеты на вторую машину) или на адрес второй машины?
Я так думаю, что пакеты всё равно будут приходить на IP основной машины и трафик будет кушаться именно для неё.
Да.
А можно ли сделать так, чтобы при попытке установить TCP-соединение с основной машиной она сказала "а теперь общайся не со мною, а вон с той машиной" ?
Единственный вариант - выдавать редирект в хттп-заголовках, то есть возложить реконнект на другой адрес на клиента.