О безопасности блога на WordPress

безопасность WordPress

Безопасность Вашего блога - залог его надежной и бесперебойной работы. Ни один сайт не является на 100% защищенным от злоумышленников, и всегда может найтись специалист, который выявит слабое место Вашего сайта, поэтому нужно сделать Ваш сайт по максимуму защищенным. Ведь чем больше преград - тем труднее их всех одолеть.

В сегодняшней статье будут рассмотрены способы повышения безопасности блога на WordPress в плане защиты его от взлома.

    1. Регулярно делайте бэкапы

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

    Полный бэкап блога на WordPress состоит из 1) базы данных и 2) файлов, размещенных на хостинге.

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

    Для Вордпресса есть неплохой плагин WP-DB-Backup, который может регулярно высылать копию базы данных MySQL на Ваш e-mail. Советую им воспользоваться.

    2. Регулярно обновляйте системные файлы и плагины

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

    Но не забывайте - если вы перед этим вносили какие-либо изменения в системные файлы - их нужно будет внести повторно, поскольку процесс обновления заменяет старые системные файлы на новые. Поэтому советую записывать, какие системные файлы Вордпресса Вы меняли и какие именно изменения Вы в них сделали.

    3. Измените логин администратора

    Традиционно логин администратора такой - admin. Злоумышленникам это хорошо известно, поэтому в таком случае им легче будет получить административный доступ к Вашему блогу. Начиная с 3-й версии WordPress логин администратора можно выбрать при установке, как я писал в статье об установке Вордпресс.

    Но если Вы этого не сделали, то логин можно изменить и позже, внеся некоторые изменения в базу данных MySQL. Для этого в phpMyAdmin выполните команду

    UPDATE wp_users SET user_login='admin', user_login='новый логин';

    Если Вы испытываете трудности при работе с phpMyAdmin, то можно воспользоваться специальным плагином Username Changer.

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

    Также желательно, чтобы Вы не пользовались данным логином для написания статей на блоге - для этого советую создать себе отдельную учетную запись с ограниченными правами (только публикация статей).

    4. Установите надежный пароль для администратора

    Банально, но наличие простого пароля несет угрозу безопасности блога. Не используйте в пароле свою дату рождения или номер телефона. Используйте сложный буквенно-цифровой пароль на 10 или более знаков, тогда его труднее будет подобрать.

    5. Скройте версию CMS WordPress

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

    Прежде всего, найдите строку отображения версии WordPress в файле header.php:

    <meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

    и удалите из нее код <?php bloginfo('version'); ?>

    Далее добавьте следующий код в файл шаблона functions.php: <?php remove_action('wp_head', 'wp_generator'); ?>

    Найдите в папке wp-includes файл version.php, а в нем строку такого вида: $wp_version = '3.0.5'; и замените в ней код версии на какой-то другой, например 3.0.5 на 7.4.0. Еще советую удалить файлы readme.html и license.txt из корневой папки блога.

    6. Не пользуйтесь FTP

    Пользование FTP для выгрузки файлов на сервер - также одно из слабых мест в безопасности Вашего блога. Если Ваш хостер поддерживает защищенное FTP-соединения или предоставляет SSH доступ - желательно пользоваться ими.

    В случае, если Вы пользуетесь SSH, можно вообще запретить доступ к сайту по FTP. Для этого в корневой папке сайта создайте файл .ftpaccess и внесите в него следующие строки:

    <Limit ALL>
    Deny from all
    </Limit>

    Если же использование FTP - единственный возможный выход для Вас, тогда никогда не храните пароли в FTP-клиенте и при возможности ограничьте доступ к FTP-клиента с помощью мастер-пароля. Знаю, что такую возможность поддерживает программа CuteFTP Professional.

    7. Запретите регистрацию пользователей на блоге

    Подумайте, обязательно ли посетителям Вашего блога регистрироваться на нем? Ведь комментировать на блоге можно и без регистрации.

    Дело в том, что WordPress использует единную админ-панель для всех - и администратора, и пользователей. Именно в этом слабое место в безопасности блога. Поэтому если модель функционирования блога не предусматривает обязательной регистрации - запретите ее в настройках WordPress, этим Вы значительно уменьшите вероятность взлома.

    8. Ограничьте доступ к папке wp-admin

    Если на блоге не предусмотрена свободная регистрация пользователей, советую ограничить доступ к админке по IP. Благодаря этому любой желающий не сможет получить административный доступ к Вашему блогу, даже зная логин и пароль. Это можно будет сделать только с Вашего компьютера или с определенной локальной сети.

    Для этого создайте файл .htaccess и поместите его в папку wp-admin/. Данный файл должен содержать следующие строки:

    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName 'Access Control'
    AuthType Basic
    order deny,allow
    deny from all
    allow from 123.456.78.90

    Вместо 123.456.78.90 пропишите Ваш IP-адрес. В случае, если IP динамический, можно прописать маску, например 123.456.78, в этом случае доступ к админке будет открыт только с сети Вашего Интернет-провайдера.

    9. Отключите сообщения об ошибках авторизации

    Данная настройка усложнит возможность выявления логина администратора, тем самым злоумышленник не будет знать, для какого именно логина нужно подбирать пароль.

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

    add_filter('login_errors',create_function('$a', "return null;"));

    10. Плагин Login LockDown

    Если на блоге предусмотрена свободная регистрация пользователей и их доступ к админке, тогда советую пользоваться плагином Login LockDown, который можно скачать отсюда: http://wordpress.org/extend/plugins/login-lockdown/. Данный плагин записывает все неудачные попытки доступа к админке блога (включая время и IP), а также блокирует доступ к админке после определенного количества неудачных попыток на протяжении определенного периода времени (можно задать в настройках плагина).

    11. Измените префикс базы данных MySQL

    По умолчанию таблицы базы данных MySQL имеют префикс wp_. Советую изменить данный префикс на какой-то другой (например pre_) с помощью phpMyAdmin или банальным методом поиска-замены по базе данных, или же с помощью плагина WP Security Scan (см.ниже ). Помните, что префикс должен заканчиваться символом «_».

    12. Защитите файл wp-config.php

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

    Рекомендуется выставить на него права доступа chmod 750.

    Есть еще один интересный способ защиты данного файла (работает не на всех хостингах). Можно переместить на хостинге файл wp-config.php в папку на один уровень выше. Например, если файлы блога загружены в папку myblog.com.ua/public_html/, переместите wp-config.php в папку myblog.com.ua/. WordPress умеет искать данный файл в папке более высокого уровня.

    13. Запретите возможность просмотра папок

    Это можно сделать следующим образом: в файл .htaccess в корневой папке Вашего блога добавьте код: Options –Indexes

    Также можно создать пустой файл index.html и выгрузить его как минимум в папки wp-content/plugins и wp-content/uploads.

    14. Права доступа к папкам и файлам

    В целях повышения безопасности блога на папки выставьте права chmod 755, кроме папок cache/ и uploads/ - на них должны быть права 777.

    На все файлы выставьте права 644. На файл .htaccess в корне блога желательно выставить права 444, а на файлы темы 666 (ограничение внешнего доступа к ним).

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

    15. Плагин WP Antivirus

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

    Скачать данный плагин можно отсюда.

    16. Плагины WP Security Scan и Secure WordPress

    Большинство из рассмотренного выше можно сделать с помощью плагинов WP Security ScanWP Security Scan или Secure WordPress.

    Если Вы пока еще не очень уверенный пользователь WordPress и phpMyAdmin - тогда советую пользоваться каким-то из этих плагинов. Особенности работы с одним из них я рассмотрю в одном из следующих постов.

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

Желаю Вам безопасной работы с WordPress и до встречи!

Коментарі тимчасово вимкнені / Комментарии временно отключены