Как защитить свой блог на WordPress: 12 необходимых способов защиты

Автор:
(Людмила Лунева)

Веб-дизайнер и разработчик сайтов на wordpress

Никто не хочет, чтобы его сайт или блог взломали.
Обычные владельцы сайтов, которые сами не занимаются взломом считают, что взломщик – это плохой парень, который исключительно из личных побуждений (чтобы навредить вам) может взломать ваш сайт.

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

Процесс этот инициируется массово и, как правило, не направлен именно против вашего сайта, а скорее против всех сайтов, встречающихся на пути скрипта-взломщика.

Чем грозит взлом сайта?

В лучшем случае выходом его из строя на несколько часов или дней.

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

И в самом тяжелом случае, когда в файлы темы вашего блога пропишут вредоносный код, забрасывающий вирусы посетителям, санкциями поисковых систем, которые будут предупреждать посетителей о том, что «Этот сайт опасен для вашего компьютера».

Как вы думаете, много ли посетителей рискнут зайти на ваш сайт, увидев такое предупреждение?

Для того, чтобы ничего из вышеперечисленного не случилось с вашим любимым блогом, позаботьтесь о его безопасности заранее.

Как же защитить свой сайт?

Защита сайта и безопасность сайта
Учитывая написанное выше, основная задача владельца по защите своего сайта в 90% случаев сводится к маскировке движка или, на крайний случай, его версии, нейтрализации возможных уязвимостей в движке и используемых скриптах, защите папок на сервере и генерации сложных паролей.

Давайте осуществим это на практике:

  • Удалите опасный код из вашей темы:
    • В файле searchform.php иногда используется такой код:

      <?php echo $_SERVER [‘PHP_SELF’]; ?>

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

      <?php bloginfo (‘home’); ?>
    • Информацию о версии WordPress.

      По умолчанию WordPress публикует в хедере сайта номер своей версии. Хакеру остается только, узнав версию, найти в интернете соответствующий этой версии скрипт для взлома.

      Чтобы лишний раз не подвергать свой сайт опасности взлома, нужно удалить строку с номером версии WordPress. Обычно, для этого рекомендуют плагин Replace-wp-version. Но, на мой взгляд, это можно сделать проще:

      • Найдите в файле header.php строчку

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

        и удалите ее.

      • Далее, откройте файл functions.php в папке с вашей темой (или создайте этот файл) и вставьте в него следующий код:
        <?php
        // Удаление строки  <meta name="generator" content="WordPress 2.х" />
        remove_action('wp_head', 'wp_generator');
        ?>
      • Кроме этого, измените версию WordPress в файле wp-includes/version.php:
        $wp_version = '2.8.1';
      • Удалите файл readme.html и license.txt из корневой папки сайта - там тоже упоминается версия движка.

      После всех этих действий версия WordPress должна исчезнуть не только из html-кода вашего блога, но и из кода rss-фида.

    Все, от версии мы избавились.

  • Идем дальше.

  • Запретите регистрацию на сайте (если только у вас не многопользовательский блог).

    В WordPress одна админ панель для всех, только с разным набором функций (в зависимости от уровня прав).

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

    Это можно сделать в админке, пункт меню «Настройки», раздел «Общие».

    В строке «Членство» снимите галочку в окошке «Любой может зарегистрироваться».

  • Защитите свой блог с помощью длинного и сложного пароля.

    Сгенерируйте сложный пароль для доступа к админке вашего блога. Пароль должен содержать большие и маленькие буквы, цифры и различные знаки. Длина пароля пусть будет не меньше 12, а лучше 15-20 знаков.

  • Сгенерируйте значения для строк (если вы до сих пор этого не сделали) AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY для файла wp-config.php.

    Генератор можно найти здесь - https://api.wordpress.org/secret-key/1.1.

  • Измените логин администратора по умолчанию.

    По умолчанию учетная запись администратора в WordPress имеет логин admin.
    Поменять логин можно с помощью следующего sql-запроса к базе данных:

    UPDATE wp_users SET user_login='admin', user_login='mylogin';

    Т. о. вы измените логин на mylogin. Это обеспечит безопасность при попытке брутфорса учетной записи администратора.

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

  • Правильно установите права на папки и файлы на сервере.

    На папки следует выставить права 755, на файлы - 644.

  • Защитите ваши папки на сервере от посторонних:

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

    Создайте пустой файл index.html и положите его в папку plugins, а заодно и в папку themes (тоже не лишнее!). Или же просто добавьте следующую строку в файл .htaccess в корне сайта:

    Options All –Indexes

    Теперь все OK.

  • Защитите от индексации папку wp-admin.

    Можно легко запретить поисковикам индексировать папку wp-admin и другие WordPress-папки, на ваше усмотрение, с помощью файла robots.txt:

    Пропишите в нем что-то вроде этого:

    User-agent: *
    Disallow: /cgi-bin/
    Disallow: /wp-*
    Disallow: /images/
    Disallow: /wp-login.php
    Disallow: /wp-register.php
    Disallow: /xmlrpc.php
    Disallow: */trackback
    Disallow: */feed
    Disallow: /?

Продолжение поста Как защитить свой блог на WordPress: 12 необходимых способов защиты читайте на следующей странице »

Хотите получать сообщения о скидочных акциях,
новых постах и темах для wordpress?
  1. Хорошая статья, спасибо, у меня уже несколько раз взламывали сайт.

  2. Хорошо что случайно попала на ваш сайт. Всё откладывала защиту своего сайта на будущее, теперь постараюсь обезопасить своё детище, на всякий пожарный. Спасибо за хорошую статью :)

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

  4. Блог перестал работать после ввода строк: [quote]<?php
    // Удаление строки
    remove_action('wp_head', 'wp_generator');
    ?>[/quote]
    когда удалил всё вернулось на место

    • Возможно, этот код конфликтует с каким скриптом вашего сайта.
      В таком случае, не пользуйтесь этим.

  5. Спасибо за статью. многого не знал просто. А с правами на папки вы мне просто помогли, а то после взлома возникла ситуация, когда у меня только главная страница отображалась, а посты нет.

  6. Создаю блог для клиента, так в нем, в хедере нет строчки <meta name="generator" content="WordPress "/>, зато в подробностях расписана версия шаблона в таблице стилей. Так что стоит еще и ее проверять.

  7. Замечательно, но перемудрив с защитой:

    Это запретит доступ к .htaccess, выключит описание сервера, запретит доступ к конфигам (например wp-config.php) и отключит индексирование директорий (например /wp-includes).

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

    Как сделать, чтобы правило работало только для злоумышленников, но не затрагивало простых посетителей сайта?

    • То, что написано в посте - это общие рекомендации, а защиту всегда нужно настраивать в зависимости от особенностей сайта и работы хостинга :).

      Поэтому, не зная особенностей сайта, ничего подсказать не могу.

  8. Здравствуйте, Ксана. У меня на сайте возникла такая проблема. То что была опубликовано в подвале сайта, сохранилось на сайте. Но теперь я хочу удалить запись, но она не видна, где или как ее можно найти?

    • Извините, не поняла вопроса, но вам лучше задать его на форуме поддержки.

  9. С прошлой проблемой я разобралась. Подскажите пожалуйста, как Вы сделали слайдер в шаблоне Sabrina, Lavanda. С помощью какого плагина? Как его настроить? Заранее спасибо.

    • Это не плагин, а встроенный js.
      В настройках можно указать, какую категорию выводить в слайдере.
      Настройку можно выполнить на странице настроек темы.

      На будущее - техподдержка тем происходит на форуме.
      Задавайте, пожалуйста, вопросы там.

  10. Спасибо за интересную и нужную информацию !

Внимание: все отзывы проходят модерацию.

Топ комментаторов
АватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватар
Самые комментируемые записи
Самые читаемые записи

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

В каждом письме публикуется код разблокировки.

Пользуйтесь кодом только из последних, пришедших вам на Email, писем. Закрыть »

Постов 197
Отзывов 4442