Как защитить WordPress от взлома — 10 простых советов


WordPress на сегодняшний день, пожалуй, самая популярная бесплатная система управления контентом (CMS). Изначально эта CMS рассматривалась больше как платформа для блогов, но за последние годы она сильно изменилась. Разработчики существенно улучшили функциональность, появилось огромное количество дополнений (плагинов), что позволяет на базе этой CMS создавать не только блоги, но и полноценные информационные порталы, корпоративные сайты или сайты для электронной коммерции.
Популярность данной системы, а также тот факт, что любой может получить ее исходные коды сделали ее еще и мишенью для хакеров. Причем, если раньше взламывались в основном популярные сайты, то в последнее время наблюдается тенденция взлома даже тех сайтов, которые не имеют большого количества посетителей. Взломы происходят в подавляющем большинстве с целью отправки спама или размещения фишинг сайтов. Поэтому действия по защите сайтов на базе WordPress сейчас как никогда, актуальны.
В этой статье мы попытались собрать наиболее популярные способы защиты, которые может внедрить любой пользователь:

1. Обычно взлом начинается с попытки подобрать логин и пароль администратора. Поэтому важно избегать логина admin или administrator и постараться придумать что-то более сложное. Также никогда не используйте пароли типа 12345, qwerty и т.д. Такие сайты взламываются в первую очередь. Пароль должен быть сложным, содержать как меленькие так и большие буквы, цифры и символы. Например, сложным можно считать пароль:
Abu0T29aA^%sfAI*_)G

2. Практически всегда при обнаружении новой уязвимости разработчики WordPress, плагинов и тем реагируют довольно быстро, выпуская либо обновленную версию, либо заплатку которая закрывает уязвимость. Поэтому всегда обновляйте Вашу систему до последней версии, включая все плагины и темы. Старайтесь использовать только темы и плагины, полученные из доверенных источников, таких как https://wordpress.org/. Здесь можно найти огромное множество бесплатных тем и плагинов для расширения функционала Вашего сайта.
Старайтесь удалять те плагины, которые Вам не нужны. Храните в системе только то, чем действительно пользуетесь.
Некоторые плагины и темы являются платными. В интернете можно найти большое количество сайтов, предлагающих платные темы и плагины для скачивания бесплатно. Мы рекомендуем избегать использования подобных тем, так как они могут содержать вредоносный код и навредить Вашему сайту. Лучше приобрести плагин или тему у разработчиков, но быть уверенным, что ваш сайт не пострадает.

3. Защитите конфигурационный файл wp-config.php. Закрыть доступ к этому файлу из вне довольно просто. Достаточно добавить в файл .htaccess такие строки:
<Files wp-config.php>
order allow, deny
deny from all
</Files>

Также можно защитись сам файл .htaccess добавив в него запись:
<Files .htaccess>
order allow, deny
deny from all
</Files>

4. Префикс таблиц базы данных. По умолчанию WordPress использует префикс таблиц «wp_». Замените его на что-то более сложное, например «wpRTcU_» или совсем не связанное за WordPress «tbpref_». Выбор за Вами. Процесс изменения состоит из нескольких этапов:

— Сначала нужно сделать дамп базы с помощью phpMyAdmin или других средств, которые предоставляем вам хостинг компания. Скачать его на локальный ПК. Открыть в любом текстовом редакторе и сделать замену «wp_» на новый префикс «wpRTcU_». Затем с помощью того же phpMyAdmin загрузить дамп на сервер. В итоге у вас в базе будут таблицы с двумя префиксами. Таблицы со старым префиксом нужно будет удалить.

— После того как обновленная база готова к работе нужно настроить сам WordPress на работу с таблицами с новым префиксом. Для этого нужно открыть файл wp-config.php, найти в нем запись:
$table_prefix = ‘wp_’;
и заменить ее на $table_prefix = ‘wpRTcU_’;
Данный пункт можно считать выполненным.

5. Закрываем доступ к каталогам. Иногда у взломщиков есть возможность просмотра содержимого каталогов указывая к ним полный путь. Этого можно избежать скопировав в каждый каталог пустой файл index.html. Более простой, на наш взгляд, вариант — это просто добавить в .htaccess файл Вашего сайта директиву:
Options —Indexes

6. Еще один интересный способ защиты это переименование стандартного файла для входа в систему wp-login.php во что-то другое. Для этого нужно сделать такие шаги:
— переименовать wp-login.php например на vhodvsistemu.php. Затем открыть этот файл в текстовом редакторе и выполнить в нем замену wp-login на vhodvsistemu везде, где встречается.
— добавить такие стоки в файл .htaccess
<Files wp-login.php>
Order Deny,Allow
Deny from all
</Files>

7. Всегда делайте резервные копии сайта. К сожалению взломщики не стоят на месте, и даже если разработчики закрывают одну уязвимость, всегда существует вероятность того, что будет найдена другая. Поэтому лучше потратить несколько минут, чтобы сделать резервную копию сайта, и в случае если его таки взломали, восстановить сайт из резервной копии, чем потерять данные навсегда. Мы периодически делаем резервное копирование аккаунтов расположенных на серверах нашей хостинг компании, но со своей стороны рекомендуем пользователям, тоже делать копии время от времени.

8. Всегда используйте хорошее антивирусное ПО на Вашем локальном ПК и держите антивирусные базы в актуальном состоянии. К сожалению существует вероятность заражения вашего ПК каким либо трояном, с помощью которого будет украден ваш FTP пароль и как следствие ваш сайт будет взломан.

9. По возможности используйте https протокол для входа в панель управления аккаунтом (Cpanel, Directadmin) и sftp протокол.
Также используйте https протокол для входа в админ панель сайта (wp-admin). Для этого Вам нужно приобрести и установить SSL сертификат для Вашего сайта.
Хотим обратить ваше внимание, что мы недавно анонсировали акцию по предоставлению бесплатных подписных SSL сертификатов для наших клиентов:
https://domen-hosting.net/ssl-free.html

10. Использование плагинов, помогающих защитить сайты на WordPress.
На сегодняшний день таких плагинов есть огромное количество. Все их перечислить практически невозможно. Мы лишь хотим обратить Ваше внимание на некоторые из них:
Wordfence (https://wordpress.org/plugins/wordfence/)
iThemes Security (https://wordpress.org/plugins/better-wp-security/)
All In One WP Security & Firewall: (https://wordpress.org/plugins/all-in-one-wp-security-and-firewall/)
Limit Login Attempts (https://wordpress.org/plugins/limit-login-attempts/)

Устанавливать сразу все плагины нет смысла. Достаточно остановиться на одном из них.
В будущих статьях постараемся рассмотреть каждый их этих плагинов отдельно и рассказать о том функционале, который они несут.

В заключение хотим пожелать, чтобы ваши сайты никогда не взламывали, хостинг не подводил и вместо восстановления сайта после взлома вы тратили свое время на более интересные и приятные вещи.