10 советов как обезопасить блог на WordPress
1. Обновляйте движок и плагины
Как только выходит новая версия, не поленитесь и обновитесь. Когда у Вас стоит последняя версия WordPress’а и плагинов тогда у Вас больше шансов отбиться от хакерских эксплойтов (это программа или скрипт, которые получают доступ к ресурсам за счет уязвимостей в системе), и еще обновленные плагины могут уменьшить нагрузку на Ваш хостинг.
Кстати плагины, которые Вы не используете (то есть неактивные), нужно удалить, т.к. они несут угрозу для безопасности WordPress.
2. Пароли
Пароль в админ. панель сайта должен быть очень сложным, как минимум 10 символов (строчные и прописные буквы, цифры и разные спецсимволы), ни в коем случаи паролем не должна быть дата вашего рождения или ваш ник. Для хранения паролей пользуйтесь специальным софтом, например «Kee Pass» или сециальным блокнотом.
3. Бэкап БД
Делаем Бэкап БД (Базы Данных), как можно чаще, тогда у нас всегда будет на руках резервная копия сайта, с помощью которой мы в любое время сможем восстановить свой сайт.
Для того что бы сделать бэкап БД, нужно установить плагин «WP DataBase Backup», в настройках которого Вам нужно вписать свой email на который будет отправляться резервная копия БД. Кстати, там, в настройках плагина, можно настроить время отправки бэкапа Базы Данных, я рекомендую поставить 1 раз в день.
4. Файл wp-config.php
Скрываем файл wp-config.php от чужих глаз. Все знают, где находится этот файл, в этом файле записана все информация о доступе к БД сайта. Конечно, злоумышленник будет искать пути, как получить доступу к файлу wp-config.php. Мы в свою очередь должны спрятать этот файл от тех, кто захочет получить доступ к нему, просто возьмите и переместите wp-config.php на один уровень вверх в иерархии вашего сервера (это никак не повлияет на работу блога).
5. Ключи безопасности
Ключи безопасности в файле wp-config.php нужно всегда при установке WordPress ставить ключи безопасности, многие даже и не знаю о существовании таких ключей. Все что нам нужно сделать так это зайти на специальный сайт, где автоматически сгенерируются эти ключи, а затем открыть файл wp-config.php и вставить ключи безопасности.
Хаки для безопасности WordPress
1. Версия WordPress
. Скрываем версию WordPress от чужых глаз. Чтобы посмотреть, какая версия WP у Вас стоит, злоумышленнику хватит посмотреть исходный код вашего блога, и там он увидит вот такую строку:
<meta name="generator" content="WordPress 3.05" />
Чтобы скрыть версию WordPress, нужно зайти в файл function.php (он находится в папке шаблона), и вставьте вот этот код:
<?php remove_action('wp_head', 'wp_generator'); ?>
А затем немного отредактировать файл header.php (он находится в папке шаблона). Зайдите в него и найдите вот такой кусок кода и удалите его:
<meta content="WordPress<?php bloginfo ('version'); ?>" />
2. Просмотр директорий
Закрываем просмотр директорий. Некоторые хостинги позволяют просматривать директории сайта (папки сайта), мы же не хотим, чтобы плохие люди могли просматривать наши папки на сервере. Для этого нужно закрыть эту лазейку. Зайдите в файл .htaccess (что бы отредактировать этот файл откройте его с помощь блокнота) и добавьте вот эту строку:
Options-Indexes
3. Ошибка авторизации
Отключаем сообщения об ошибках авторизации при заходе в админку WordPress. Может, кто-то замечал, что когда вводишь неверно пароль при заходе в админ. панель, WP выводит вот такое сообщения:
Такое же сообщения выводится, когда введен неверно логин, это еще одна лазейка для плохих людей. Чтобы отключить эти сообщения нужно зайти в файл function.php (он находится в папке шаблона), и вставить с новой строки вот этот код:
<?php add_filter('login_errors',create_function('$a', "return null;")); ?>
4. Защита на файл настроек WordPress
Выше я уже писал, что в файле wp-config.php записаны все данные о доступе к БД сайта, а это логин, пароль и названия Базы Данных. Чтобы плохой человек не получил доступ к файлу настроек WP, нам нужно поставить защиту в файле .htaccess на файл wp-config.php. Для этого вставьте вот этот код с новой строки в файле .htaccess (чтобы отредактировать этот файл откройте его с помощь блокнота):
order allow,deny deny from all
5. Защищаем 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]
6. Использование SSL
Использование SSL (криптографического)– протокола для защиты передаваемых данных между пользователем и сервером. Прежде чем включить использования SSL – протокола узнайте, поддерживает ли Ваш хостинг SSL-протокол. Если поддерживает, тогда чтобы его включить, зайдите в файл function.php (он находится в папке шаблона), и вставить с новой строки этот код:
<?php define('FORCE_SSL_ADMIN', true); ?>
Плагины для безопасности WordPress
1. WP Antivirus
WP Antivirus – небольшой антивирус для WordPress, который проверяет все файлы вашего шаблона на наличия вредоносных кодов, если он что-то опасное находит, тогда он Вам сообщит. А также, если хотите получать ежедневный отчет на свой email, тогда в настройках плагина нужно вписать свой email и поставить галочку возле пункта «Включить ежедневное сканирование антивирусом».
2. Login LockDown
Login LockDown – плагин, с помощь которого можно поставить количество попыток авторизоваться в админ. панель WP, а также можно блокировать на определенное время IP тех пользователей, которые несколько раз подряд вводили неправильный данные. В настройках плагина Вы увидите такие настройки как:
Max Login Retries – количество попыток для авторизации
Retry Time Period Restriction (minutes) – время, через которое будет заблокирован человек, который несколько раз подряд не смог авторизоваться.
Lockout Length (minutes) – время, на которое блокируется человек.
Mask Login Errors? – спрятать сообщения о неправильном вводе логина или пароля.
Currently Locked Out – список, в котором показываются IP, с которых были сделаны неудачные авторизации и их время.
3. WP Security Scan
WP Security Scan – очень хорош плагин для анализа безопасности сайта на WP. В настойках плагина есть вкладка «Scanner», там можно посмотреть на всех ли файлах и папках стоят правильные права доступа (для папок права доступа должны быть 755, кроме таких папок как cache и uploads на них 777, а на файлы – 644).
Таблицы в Базе Данных WordPress по умолчанию при установке имеют префикс «wp_», это есть не очень хорошо, для устранения этой проблемы нужно переименовать этот префикс на более сложный. Чтобы не влезать в БД и все править руками, можно воспользоваться WP Security Scan, он сам переименует во всех таблицах префикс на новый. Вам нужно только на вкладке «Database» вписать, какой именно префикс Вы хотите.
После сканирования сайта и устранения всех лазеек, плагин WP Security Scan можно деактивировать и удалить.
4. Stealth Login
Stealth Login –с помощью этого плагин можно спрятать страницу авторизации от плохих людей. Например, вместо стандартной страницы авторизации «ваш-сайт.ru/login.php» можно поставить вот такой адрес «ваш-сайт.ru/admin» или какой-то другой. Это уже зависит от ваших нужд и фантазии.
5. Anti-XSS attack
Anti-XSS attack – уже с названия плагина можно понять для чего он. Плагин предназначен для отбивания XSS атак на WordPress. Подробнее про то, как работает плагин можно прочитать на странице автора плагина (на русском). Anti-XSS attack не имеет никаких настроек, просто активируйте плагин и все, защита от XSS атак будет автоматически включена.