Страница входа до сих пор является одним из самых уязвимых мест блога — на ней расположена форма для ввода логина и пароля, есть ссылки на страницу регистрации и страницу для сброса и восстановления пароля. Поэтому именно опасные запросы к странице входа чаще всего являются той лазейкой, через которую злоумышленники пытаются попасть в блог — проанализируйте логи своего сайта, чтобы убедиться в этом.
Одним из самых распространенных видов атаки является брутфорс — попытка взлома путем подбора пароля перебором. В ход идут алгоритмы, учитывающие алгоритмы людей при создании пароля, методы социальной инженерии (попытка вычисления пароля на основе предпочтений человека, его связей и увлечений). Поэтому я всегда советую использовать не те пароли, которые выдумали вы, а те, которые сгенерировала для вас программа, опираясь всего на один тезис: пароль, который придумали вы, может придумать и программа, ведь ее вычислительные мощности, особенно при переборе и составлении сложных паролей, несравненно выше. В любом человеческом пароле есть логика, и рано или поздно следы этой логике станут доступны и взломщикам.
Поэтому самый надежный пароль — это тот, в котором нет логики (если он достаточно длинный). Такой пароль позволяют создавать генераторы случайных, криптоустойчивых паролей (например, онлайновый генератор WordPress.org, о котором я упоминал в посте Защита куки WordPress с помощью плагина IP Dependent Cookies).
Защита от брутфорс-атак — это, наверное, первое, что нужно обеспечить, и я об этом неоднократно уже писал:
- WP-Sentinel – плагин для защиты от опасных HTTP-запросов
- Как повысить безопасность блога | WordPress Firewall
- Как установить полный контроль за входом в блог – Login Lock
- Как защитить свой блог от Brute Force атак | Limit Login Attempts
Однако можно не ограничиваться только прямой блокировкой слишком частых запросов, по которым распознается брутфорс-атака, а внедрить и более радикальную защиту — запретить обращаться к странице входа. Практически все боты, осуществляющие брутфорс-атаку, обращаются напрямую к странице входа, которая так или иначе завязана на адресе ваш_блог/wp-admin, и это легко можно пресечь, создав дополнительную защиту, поменяв этот адрес на другой. Это умеет плагин Lockdown WordPress Admin.
Этот плагин может сменить адрес ваш_блог/wp-admin на другой, какой вам удобнее использовать, например, на ваш_блог/logininblog. Боты об этом адресе ничего не знают, и будут ломиться на тот, какой им известен (ваш_блог/wp-admin), и в ответ будут либо заблокированы, либо перекинуты на главную страницу блога, либо получат сообщение Error 404, говорящее, что такая страница не существует.
Новый адрес страницы входа можно дополнительно защитить, внедрив еще одну авторизацию по логину и паролю. Для этого можно использовать уже существующие данные пользователей, либо создать секретных пользователей, не видимых с общем списке, со своим логином и паролем.
Это практически не пробиваемая защита, ведь даже если бот и узнает новый адрес, то подставлять сразу два разных логина и пароля он не сможет, а тем более перебирать их.
Lockdown WordPress Admin
А ещё очень поможет ограничение на количество попыток с неверным паролем.