Что это значит, когда в логах Apache есть много запросов POST к /wp-login.php?


15

Сообщения направлены на сайт WordPress на моем сервере. Они приходят из access_log, и я не знаю, должно ли это беспокоить меня или нет.

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

108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:49 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:50 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:51 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:52 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:53 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
103.22.200.207 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"
108.162.216.73 - - [22/Oct/2014:21:54:54 -0400] "POST /wp-login.php HTTP/1.1" 200 3467 "-" "-"

Я просто сделал подсчет для всех экземпляров этих двух IP-адресов, и с 22-го числа к нему обращались как минимум более 100 000 раз.

Ответы:


30

Кто-то пытается грубо взломать вашу страницу входа. HTTP POST-запросы используются для данных формы HTML, которые в случае wp-login.phpстраницы, вероятно, будут формой имени пользователя / пароля.

В частности, для WordPress вы должны прочитать эту вики-страницу , на которой упоминается ряд полезных шагов, которые необходимо предпринять и защитить свой экземпляр, таких как:

  • не используя adminимя пользователя
  • выбрать надежный пароль
  • использование плагинов для ограничения попыток входа в систему на уровне WordPress, Apache или сервера
  • htpasswd-защита страницы (с помощью генератора )

В любом случае, настройка fail2ban- это то, что вы должны обязательно рассмотреть. Это ограничит количество попыток входа определенного IP-адреса на ваш компьютер (например, через FTP, SSH и т. Д.).


Я попытался настроить fail2ban, но это сделало невозможным доступ к моему серверу. Был в состоянии использовать безопасную перезагрузку, но не смог удалить его или что-либо еще. Я погуглил мою проблему и обнаружил, что другие, которые были на Centos 7, имели ту же проблему. К счастью для меня, у меня ничего не было на сервере, поэтому я просто переустановил ОС, что заняло несколько минут.
Трэвис

2
Ах, это прискорбно. У меня не было проблем с этим на моем сервере CentOS. Обычно это не должно так сильно мешать.
slhck

Еще одна вещь, которую стоит рассмотреть, это PeerGuardian.
парадроид

2
@travis Этого следует ожидать, когда у вас есть SSH-входы на основе пароля. Вам следует рассмотреть возможность использования SSH-ключей для аутентификации и полного отключения входа на основе SSH-пароля, и, вероятно, также стоит изменить стандартный SSH-порт на вашем сервере
Зима

1
@glglgl Это сдерживающий фактор. Он не дает кому-то сказать «Интересно, если это небезопасно ...» - не остановит направленную атаку, но остановит случайного хакера. «Где-то еще проще».

2

Похоже, попытки взлома грубой силой проникнуть в консоль администратора сайта WordPress. Я постоянно получаю их на своих сайтах WordPress. Если бы у вас был пользователь с именем admin с паролем «pass», он наверняка уже был бы в сети.

Установите плагин безопасности, который будет блокировать IP-адреса после определенного количества попыток входа в систему. Я использую Wordfence .


4
Эти IP-адреса, похоже, поступают с серверов CloudFlare CDN в Сан-Франциско и Японии, что немного странно.
парадроид

Я ожидаю, что это означает, что сайт находится за CloudFlare. Возможно, есть X-Forwarded-Forзаголовок, который mod_rpafможно использовать, но он не настроен на
ceejayoz

@ceejayoz Я не уверен, что ты имеешь в виду. Поскольку wp-login.phpэто не статический файл, он все равно не будет в CDN. Я не понимаю, почему эти входящие соединения, похоже, приходят с серверов CloudFlare CDN. Возможно, CloudFlare также делает хостинг серверов?
paradroid

Вы можете (и обычно делаете) указывать весь свой домен на CloudFlare. Это означает, что входящие запросы - GET и POST, динамические или статические - сначала проходят через CloudFlare и, следовательно, имеют свои IP-адреса.
ceejayoz
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.