На днях опять начали подбирать пароль к админке одного из моих сайтов. Я уже писал, как отсечь нежелательный траффик на эти страницы, но недавно открыл их для доступа, т.к. на некоторое время уезжал.
В этом посте я попробую дать несколько советов по защите, которые усложнят жизнь взломщикам.
1. Отключить сообщение о не правильном логине/пароле
Это не даст понять, что именно не верно – логин или пароль. Что затруднит подбор пароля.
2. Смена логина администратора на что-то не очевидное
Для этого придется выполнить вот такой SQL-запрос
update TABLEPREFIX_users set user_login = 'Не очевидный логин' where user_login = 'admin';
3. Защитим наш wp-config.php от просмотра из вне
В этом фале все настройки и пароль для базы данных. Лучше чтобы ни кто и ни как не смог просмотреть его через интернет. Для этого в .htaccess допишем строчку
<files wp-config.php> order allow,deny deny from all </files>
4. Защита от скриптов в запросах к сайту.
Добaвим следующий код в .htaccess
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]
Этот код позволит для всех запросов, содержащих тэг SCRIPT выдавать ошибку 403 – доступ запрещен.
5. Защита от SQL инъекций и инъекций кода в base64
Для этого можно использовать маленький плагин Block Bad Queries (BBQ).
6. запретить листинг директорий в Apache
На самом деле любой человек может посмотреть что за файлы лежат у вас в директориях сайта. Чтобы избежать этого достаточно добавить следующую строчку в файл .htaccess (не все хостеры это разрешают)
Options -Indexes
Ну а если так не вышло – придется создать во всех директориях пустой файл index.php
7. Постоянно обновляйте WordPress, плагины и темы
В новых версиях фиксятся различные баги и закрываются уязвимости (не факт, что новых не наделают 😀 но пока их еще найдут… ). Чем более свежие версии софта у вас стоят, тем сложнее злоумышленникам – ведь новые дыры еще не найдены ) . Если на вашем хостинге лежит сразу несколько сайтов – обновляйте все и сразу.
Надеюсь эти простые шаги помогут вам избежать большинства неприятностей.
Спасибо за статью!
Но есть пара вопросов:
1. Отключить сообщение о не правильном логине/пароле
где это сделать?
2. Смена логина администратора на что-то не очевидное
если при установке WP было сразу выбрано отлиное от Admin имя, это тоже актуально?
1. Это небольшое изменение в коде. в functions.php add_filter(‘login_errors’,create_function(‘$a’, “return null;”));
2. Уже не актульано )