Привет! Первый урок второй части марафона – «Защита блога от взлома и спама».
Как это не прискорбно, случаи взлома блогов на WordPress имеют место быть. Поэтому дополнительная защита никогда не помешает. Приступим.
Защита блога с помощью плагинов
Вот список плагинов, которые вы должны будете установить:
- Anti-XSS attack.
- Login LockDown (уже должен быть установлен).
- WP-Security Scan.
- WP Antivirus.
- WP-DB-Backup.
Теперь давайте приступим к настройке каждого из них.
Anti-XSS attack
Просто устанавливаем и активируем.
Для чего этот плагин объяснять не буду. Но если Вам интересно, можете почитать здесь.
Login LockDown
Этот плагин Вы должны были установить еще в первой части марафона. Если не установили, бегом ставим!
WP-Security Scan
Данный плагин проверит настройки безопасности Вашего блога и позволит быстро исправить большинство из них. Действуем по такому алгоритму:
- Устанавливаем и активируем плагин.
- Проверяем блог на уязвимости.
- Устраняем уязвимости.
- Деактивируем и удаляем плагин (он Вам больше не понадобится).
WP Antivirus
Плагин WP Antivirus проверяем файлы шаблона на наличие вредоносного кода (вирусов). Если он найдет что-то подозрительное, то сразу же уведомит Вас об этом на почту. Прелесть плагина в том, что он указывает в каком файле и на какой строчке обнаружен подозрительный код.
WP Antivirus не нуждается в настройке. Просто устанавливаем и активируем.
WP-DB-Backup
Данный плагин создает резервную копию базы данных Вашего сайта и отправляет её Вам на e-mail. Если Вас взломают, то Вы в любой момент сможете восстановить сайт.
Для начала создайте какую-то «левую» почту, например, на yandex, mail или google. На эту почту будут каждый день приходить резервные копии Вашего сайта. Никому не сообщайте ее адрес и установите пароль, который у Вас нигде не больше не стоит.
Устанавливаем и активируем плагин. Идем «Инструменты» è «Резервное копирование».
Здесь в разделе «Таблицы» и «Настройки резервного копирования» все оставляем как есть и переходим в раздел «Расписание резервного копирования». Здесь все настраиваем как на скрине (вместо «Ваш e-mail» пишем адрес созданной электронной почты).
В конце не забудьте нажать «Запомнить расписание».
На этом установку плагинов для защиты блога закончим. Теперь давайте немного поковыряемся в коде.
Защищаем файл wp-config через .htaccess
Вы наверное помните файл wp-config.php. При установке WordPress Вы вписывали в него данные для доступа к базе данных: имя базы данных, имя пользователя и пароль. В этом файле хранится важная информация, и Вы не должны дать злоумышленнику ни единого шанса заполучить её.
Подключаемся к сайту по FTP, заходим в папку public_html и ищем файл .htaccess
Открываем его (правая кнопка мыши, правка).
Теперь в конце этого файла вставляем такой код:
<files wp-config.php> order allow,deny deny from all </files>
Потом сохраняем файл (Ctrl+S) и закрываем. После этого нас уведомят, что файл был изменен. Жмем «Да».
Соглашаемся, что хотим заменить файл.
Вот и все.
Прячем лишнюю информацию
Давайте попробуем при входе в админ панель ввести не верный пароль. Вот что нам выдает:
В переводе это означает «Ошибка: не верный пароль».
Получается, что логин правильный. Злоумышленник понимает, что ему осталось только подобрать пароль.
Лучше сделать так, чтобы подобные ошибки вообще не выводились.
Для заходим в админку. Потом «Внешний вид» è «Редактор». Открываем файл fuction.php.
Вставляем в конец следующий код.
add_filter('login_errors',create_function('$a', "return null;"));
Обратите внимание!!! Код нужно вставлять не в самый конец файла, а перед «?>».
Теперь опять попробуйте ввести неверный пароль. Если все сделано правильно, то Вам выдаст такое:
Защищаемся от скриптовых инъекций
На WordPress создают динамические сайты, защита которых особенно важна. Что такое скрипт-инъекция объяснять не буду, мы просто защитимся от них и забудем.
Итак, открываем уже известный файл .htaccess и в конце вставляем следующий фрагмент кода, который блокирует скрипт-инъекции.
Options +FollowSymLinks RewriteEngine On 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]
Прячем версию WordPress
WordPress автоматически выводит на экран версию движка, которую Вы используете. Это не есть good J. Чтобы такого не происходило, открываем знакомый файл fuction.php в редакторе и в конце после кода, который прячет ошибку ввода пароля и перед «?>» вставляем следующий код.
remove_action('wp_head', 'wp_generator');
Защита блога от спама
От спама будем защищаться с помощью плагина Antispam Bee.
Принцип работы плагина
Antispam Bee создает невидимое поле для ввода текста для роботов, которые хотят оставить спам на Вашем блоге. Смысл заключается в том, что робот всегда заполняет абсолютно все поля: фамилия, имя, отчество, комментарий и невидимое поле в том числе. Если это человек, то он никак не увидит невидимое поле, а соответственно и не заполнит его. Что нам и нужно.
Почему мне нравится Antispam Bee:
- Плагин не пользуется базой данных (нагрузка на сервер уменьшается).
- Antispam Bee не потребляет ресурсов.
- Абсолютно бесплатен.
- Плагин легок в установке (активируем и все!).
- За ним не нужно следить, так как спам удаляется автоматически.
- Antispam Bee не пользуется сторонними серверами.
Пользуйтесь на здоровье!
На этом я заканчиваю свою статью. Удачи! 😉