Author Topic: Apache: ограничение входящего трафика по методу POST  (Read 4531 times)

0 Members and 1 Guest are viewing this topic.

Offline Vladn

  • Newbie
  • *
  • Posts: 40
  • Karma: +0/-0
Есть такая проблема: спаммеры кушают входящий трафик (который у меня ограничен), посылая POST-запросы на разные страницы. Банить по IP адресам бесполезно - каждый раз используются новые адреса. Какими способами можно настроить Apache на выполнение проверки некоторых условий после получения пустой строки между заголовком HTTP-запроса и телом HTTP-запроса, чтобы при несоблюдении условий разорвать соединение со спаммером?

Offline never hood

  • Hero Member
  • *****
  • Posts: 845
  • Karma: +16/-10
  • www.4job.co
    • Работа, которую ты искал
Quote from: Vladn
Есть такая проблема: спаммеры кушают входящий трафик (который у меня ограничен), посылая POST-запросы на разные страницы. Банить по IP адресам бесполезно - каждый раз используются новые адреса. Какими способами можно настроить Apache на выполнение проверки некоторых условий после получения пустой строки между заголовком HTTP-запроса и телом HTTP-запроса, чтобы при несоблюдении условий разорвать соединение со спаммером?
вам прямая дорога к использованию mod_security

Offline SG_

  • Full Member
  • ***
  • Posts: 157
  • Karma: +0/-0
Quote from: Vladn
Есть такая проблема: спаммеры кушают входящий трафик (который у меня ограничен), посылая POST-запросы на разные страницы. Банить по IP адресам бесполезно - каждый раз используются новые адреса. Какими способами можно настроить Apache на выполнение проверки некоторых условий после получения пустой строки между заголовком HTTP-запроса и телом HTTP-запроса, чтобы при несоблюдении условий разорвать соединение со спаммером?
твое время стоит дешевле трафика?

Offline SinClaus

  • Sr. Member
  • ****
  • Posts: 453
  • Karma: +6/-2
на самом деле это просто делается при помощи mod_rewrite
Самый страшный вирус называется юзер.

Offline wHATEver

  • Administrator
  • Newbie
  • *****
  • Posts: 19
  • Karma: +3/-0
<Limit POST PUT DELETE>

Require valid-user
..
или
Deny from All
</Limit>
WBW, wHATEver

Offline Vladn

  • Newbie
  • *
  • Posts: 40
  • Karma: +0/-0
Quote
твое время стоит дешевле трафика?
1) Если админ не может решить такую проблему (как и борьба со спамом), то его время вообще ничего не стоит, т.к. это не админ.
2) Трафик не платный, он просто ОГРАНИЧЕН. Снять ограничение путём оплаты не предполагается


--------------
Я решил эту проблему так:
LimitRequestBody 300
т.к. по правилам работы сайта в теле нормального POST-запроса будет не более 300 байт.

-------------


Возникла другая проблема:
нужно настроить FreeBSD так, чтобы входящий трафик по 80-му порту из Томска обрабатывался текущей машиной, а из внешки - другой машиной (чтобы входящий трафик кушался другой машиной). Можно ли это сделать с помощью ipfw?




Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Quote from: Vladn
нужно настроить FreeBSD так, чтобы входящий трафик по 80-му порту из Томска обрабатывался текущей машиной, а из внешки - другой машиной (чтобы входящий трафик кушался другой машиной). Можно ли это сделать с помощью ipfw?

Можно. Занести  томские сети в таблицу (man ipfw /table), затем сделать форвардинг приходящего на эту машину на порт 80 не из табллицы на другую машину (man ipfw /fwd), на другой машине, если там тоже фря, сделать форвардинг приходящего на айпишник первой машины на нужный порт на 127.0.0.1 и обрабатывать как хочется.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]

Offline Vladn

  • Newbie
  • *
  • Posts: 40
  • Karma: +0/-0
А в случае с форвардингом на какой IP будет посылать пакеты внешняя машина: на адрес основной машины (которая перенаправит пакеты на вторую машину) или на адрес второй машины?
Я так думаю, что  пакеты всё равно будут приходить на IP основной машины и трафик будет кушаться именно для неё. А можно ли сделать так, чтобы при попытке установить TCP-соединение с основной машиной она сказала "а теперь общайся не со мною, а вон с той машиной" ?

Offline nuclight

  • Full Member
  • ***
  • Posts: 207
  • Karma: +1/-2
    • http://antigreen.org
Quote from: Vladn
А в случае с форвардингом на какой IP будет посылать пакеты внешняя машина: на адрес основной машины (которая перенаправит пакеты на вторую машину) или на адрес второй машины?
Я так думаю, что  пакеты всё равно будут приходить на IP основной машины и трафик будет кушаться именно для неё.

Да.

Quote
А можно ли сделать так, чтобы при попытке установить TCP-соединение с основной машиной она сказала "а теперь общайся не со мною, а вон с той машиной" ?

Единственный вариант - выдавать редирект в хттп-заголовках, то есть возложить реконнект на другой адрес на клиента.
WBR, Nuclear Lightning
[FreeBSD][Давить зелёных]