Не блокируется IP адрес злоумышленника или не работает Deny From IP

Никаких проблем с безопасностью сайта у меня было, единственно, я столкнулся с тем, что не мог заблокировать IP адрес злоумышленника.

Проблема заключалась в следующем. С одного IP адреса поступала большое количество запросов на пару страниц моего сайта, из за чего сайт переставал работать, тк резко возрастала нагрузка на хостинге.

Если первый раз я даже не обратил на это внимание, то при второй остановке сайта из-за действий злоумышленника, мне пришлось писать провайдерам.

Информация по IP доступна на данном сайте https://www.nic.ru/whois/?query=
Находим строчку Comment: abuse contact, где рядом указан электронный адрес провайдера.
В переводе abuse contact означает “связь в случае нарушений”.

IP адрес оказался из США. На адрес электронный адрес почты провайдера я отправил запрос, чтобы проверили владельца IP адреса, тк с него идёт большое количество запросов, возможно, ddos атака. Мне ответили, опишите подробнее нарушение, на что я отправил им лог-файлы, которые мне предоставили сотрудники хостинга. К сожалению, ответа больше я не получил, а через месяц опять с этого IP адреса посыпалось большое количество запросов и мой сайт опять перестал работать.

Какой выход из ситуации? Заблокировать данный IP адрес с помощью .htaccess файла. Что я и сделал, прописав следующие строки, правда допустил ошибку, не указав order allow,deny.

Неправильно:
allow from all
deny from 64.79.85.205
deny from 64.79.

Правильно:

order allow,deny
deny from 64.79.85.205
allow from all

Если вам нужно заблокировать пользователя с определённым IP, То создайте файл с названием .htaccess и впишите код, указанный выше, но не всегда данный способ может помочь.

Среди причин по которым может не работать блокировка по IP – это баги хостинга.  Юрий Белотицкий описывает данную проблему в статье  “Не работает Deny From IP”.

На некоторых хостинговых конфигурациях в .htaccess не работает классическое
Order Allow,Deny
Allow From All
Deny From 213.180.193.3

Такой баг возникает на связке nginx+apache из-за не совсем корректного проброса входящего IP-адреса. Если попали в такую ситуацию, пробуем так:
SetEnvIf Remote_Addr “^213\.180\.193\.3$” denyremoteaddr
Order Allow,Deny
Allow From All
Deny From env=denyremoteaddr
Всякое совпадением с реальным ip-адресом является случайностью.

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

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