Назад | Перейти на главную страницу

Можно ли обслуживать определенные страницы на основе IP-адреса?

Я стал жертвой атаки методом грубой силы на два моих сайта WordPress. Злоумышленник использует старый добрый XML-RPC, чтобы усилить атаку паролей методом перебора. К счастью, у нас есть очень хорошо сгенерированные пароли, поэтому я очень сомневаюсь, что он когда-нибудь чего-нибудь добьется.

Я только что использовал iptables, чтобы блокировать его запросы всякий раз, когда он снова появляется (всегда от того же поставщика виртуального облака), но я бы предпочел изменить сервер, чтобы всякий раз, когда его IP-адрес запрашивал любой страницы, он получает ответ, говорящий ему обрести жизнь. Большинство запросов представляют собой POST-запросы, поэтому в идеале я хотел бы просто изменить заголовок ответа, включив в него что-то вроде «Удачи в следующий раз!» или что-то столь же удовлетворительное.

Это возможно? Я далек от эксперта по Apache, поэтому не уверен, насколько сложно это будет реализовать. Но даже если это займет у меня часы, удовольствие будет бесценным.

Для справки, я использую Ubuntu 16.04.2 LTS, а Apache 2.4.18 размещает Wordpress 4.7.3.

Просто установите fail2ban с соответствующей тюрьмой и покончить с этим. Не утруждайтесь давать индивидуальный ответ, так как, скорее всего, его никогда не увидят.

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

В Apache вы можете изменять заголовки на примере:

Header set GetOut "Better luck next time!"

Это очень просто с ModSecurity, сторонним модулем WAF для Apache. Хотя это требует изучения синтаксиса языка правил.

Вы также можете использовать ModSecurity, чтобы просто разорвать соединение, а не отвечать вообще.

Сказать, что установка ModSecurity только для этого, когда, как предполагали другие, вероятно, ответы будут проигнорированы, вполне может быть излишним.

Я бы пошел с fail2ban и отбрасывал запросы из известных мест злоупотреблений. И если вы чувствуете, что провайдер услуг злоумышленника не виноват, сообщите об атаках на его адрес электронной почты, где он был нарушен.

Если вы хотите потратить время на создание чего-то, что замедлит злоумышленника, вы можете попробовать сделать битумная яма. Сначала вы, конечно, должны знать, откуда исходят атаки. Затем вы можете использовать apache для перенаправления запроса с ip (диапазон?) На определенный скрипт. это может помочь, хотя сам я не пробовал. Затем просто реализуйте сценарий, который, например, выводит точку (или что-то из / dev / null) каждые 15 секунд, чтобы соединение злоумышленника оставалось открытым на неопределенный срок.

Поскольку злоумышленник, скорее всего, использует сценарии для атаки на ваш сайт, может потребоваться время, чтобы заметить, что атаки остановились, поскольку все соединения кажутся активными, таймаута не будет, и запрос не будет отклонен на месте.

Проблема в том, что вы посвящаете свое время и ресурсы чему-то, что, вероятно, будет не так полезно, как более важная задача: обеспечение безопасности вашего входа в систему. Трудно атаковать, когда не знаешь, куда атаковать. Рассмотрим некоторые из следующего:

  • ограничить доступ к странице входа (только в интрасети? диапазон IP? vpn? другое?).
  • Добавить reCaptcha или другой проверочный вопрос для входа.
  • использовать Многофакторная аутентификация.
  • скрыть свою страницу входа. Если возможно, не ссылайтесь на него со своей главной страницы и не используйте / login или другое очевидное местоположение.