Атака грубой силы / перечисление пользователей - PullRequest
0 голосов
/ 13 сентября 2018

С прошлой недели я продолжаю получать уведомления о неудачных попытках входа в систему на моем WordPress-сайте.

Первые пару дней злоумышленник использовал неправильное имя пользователя и впоследствии был заблокирован после 3 попыток.Я использую плагины sucuri free и wp-security.В последнем есть функция блокировки входа в систему.

Я удивился, когда через пару дней злоумышленник нашел и использовал мое имя пользователя.Я немедленно изменил его на новое имя пользователя, думая, что я буду в безопасности.Я также использовал большинство параметров закалки на обоих плагинах.Я специально проверил, что строка ? Author = n не дает никаких результатов на моем веб-сайте.

Несмотря на это, сегодня я получил еще 3 предупреждения о том, что кто-то пытался войти в систему с этим новым именем пользователя,Это означает, что я заблокирован на своем собственном сайте на 24 часа.

Это заставляет меня задуматься:

a) Как кто-то может найти мое имя пользователя?

б) есть ли какой-нибудь другой плагин, например cerber security, который предотвращает эти эксплойты?

в) есть ли какое-либо правило, которое я могу добавить в htaccess?(хотя я считаю, что sucuri и wp-security добавили несколько правил)

большое спасибо!

1 Ответ

0 голосов
/ 13 сентября 2018

список пользователей

Пользователь может перечислить ваши имена пользователей, используя:

yoursite.com?author=1

Где ID - идентификатор пользователя.

Вы можете предотвратить это, обнаружив страницу автора и перенаправив ее, например, (вставьте в свою тему function.php):

// Disable access to author page
function remove_author_pages_page() {
    global $wp_query;

    if ( is_author() ) {
        $wp_query->set_404();
        status_header(404);
        wp_redirect(get_option('home'));
    }
}
add_action( 'template_redirect', 'remove_author_pages_page' );

Найти имя пользователя из wp-admin

  • Злоумышленник может найти имя пользователя, выполнив вход в систему по wp-admin
  • Если злоумышленник введет хорошее имя пользователя, даже с неверным паролем, сообщение об ошибке WordPress изменяетсязлоумышленник знает, что имя пользователя существует
  • . Вы можете добавить этот код в function.php, чтобы предотвратить неправильные сообщения об ошибках входа в систему wp-admin, содержащие какую-либо информацию.

код:

function no_wordpress_errors() {
    return '<strong>Error</strong>: check your logins';
}
add_filter( 'login_errors', 'no_wordpress_errors' );

предотвращение wp-admin bruteforce

Это решение мне действительно нравится:

  • Используется wp-fail2ban плагин
  • Вашему серверу необходим установленный и настроенный пакет fail2ban
  • Этот пакет позволяет вам заблокировать (из iptables) IP, который не может много раз соединитьсяSSH, или перебор порта
  • , плагин wp-fail2ban дает вам шансom fail2ban jail для добавления в ваши fail2ban jails (плагин wp имеет полную документацию по этому поводу)
  • с обоими установленными, fail2ban запретит IP, который слишком часто выходит из строя на WP-admin (на уровне IPtable, поэтому PHPдаже не достиг.В конце концов, злоумышленник не будет использовать много ресурсов сервера, поскольку сервер заблокирует его IP-адрес.Он даже не может связаться с PHP)

Некоторые другие плагины (например, Wordfence) также обеспечивают некоторую безопасность, но по мере достижения PHP атакующий использует гораздо больше ресурсов.Но для этого нужно меньше технических знаний.

...