Проблема авторизации сразу у всех пользователей

Сегодня столкнулся с проблемой у клиента, что при попытке авторизоваться на форуме получаем следующее:

Неверное имя пользователя или пароль. Вы использовали предел попыток входа! Попробовать войти в следующий раз вы сможете не ранее, чем через 15 минут. Не забудьте, что пароль чувствителен к регистру. Забыли пароль? Нажмите здесь!

Первая мысль — брутят! Но не всех же пользователей сразу. Далее, смотрю, как форум распознает IP-пользователей, но и здесь все нормально. Захожу в табличку strikes, чтоб посмотреть зависимость блокировок от времени, и увидел, что у всех юзеров в поле «strikeip» записан IP-сервера. Собственно, все стало ясно.

Чтобы научить Apache нормально распознавать IP пользователей, необходимо установить mod_rpaf. На сервере клиента стоит CentOS, поэтому ниже выкладываю небольшую заметку с блога phpsuxx.blogspot.com по установке вышеупомянутого модуля на CentOS:

Установка mod_rpaf Centos

rpm -ihv http://centos.alt.ru/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm

Теперь надо отключить этот репозиторий, чтобы система случаем чего лишнего не апнула vi /etc/yum.repos.d/centalt.repo:

enabled=0

Теперь ставим пакет:

yum -y —enablerepo=CentALT install mod_rpaf

Теперь конфигурируем: vi /etc/httpd/conf.d/00-rpaf.conf (вместо xx.xx.xx.xx вписываете айпи вашей машинки)

LoadModule rpaf_module /usr/lib/httpd/modules/mod_rpaf-2.0.so #32битныеОС
LoadModule rpaf_module /usr/lib64/httpd/modules/mod_rpaf-2.0.so #64битныеОС
RPAFenable On
RPAFsethostname Off
RPAFproxy_ips xx.xx.xx.xx
RPAFheader X-Real-IP

/etc/init.d/httpd restart

Как проверить, работает ли установленный модуль (взято у Mchost).

На любом из доменов, которые расположены на Вашем сервере, разместите файл test.php с содержимым:

Далее зайдите по ссылке http://domain.tld/test.php, где domain.tld — имя вашего домена. Если как результат отображается IP, отличающийся от IP вашего сервера, модуль работает корректно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *