Советы по безопасности сайта на WordPress

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

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

Ниже Вы можете увидеть разные советы, хаки и плагины, которые помогут вам намного увеличить безопасность WordPress сайтов, но предупреждаю, что 100% безопасности они не дадут.

Советы как обезопасить сайт на 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 (чтобы отредактировать этот файл откройте его с помощь блокнота):

<files wp-config.php>
order allow,deny
deny from all
</files> 

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 и поставить галочку возле пункта «Включить ежедневное сканирование антивирусом».

WP Antivirus

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» или какой-то другой. Это уже зависит от ваших нужд и фантазии.

Stealth Login

5. Anti-XSS attack

Anti-XSS attack – уже с названия плагина можно понять для чего он. Плагин предназначен для отбивания XSS атак на WordPress. Подробнее про то, как работает плагин можно прочитать на странице автора плагина (на русском). Anti-XSS attack не имеет никаких настроек, просто активируйте плагин и все, защита от XSS атак будет автоматически включена.

Заключение

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

Если у Вас есть еще какие-то советы или хаки, которыми Вы пользуетесь, тогда поделитесь с нами в комментариях.

киберсант-вебмастер

Автор: Евгений Кириленко

Редакция: Рог Виктор и Андрей Бернацкий. Команда webformyself.

E-mail: contact@webformyself.com

Курс WordPress-Ученик

12 фишек без которых Вы гарантированно не создадите полноценный сайт на WordPress!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (105)

  1. Елена

    Евгений, спасибо большое за информационный ликбез.
    Но попытки выполнить шаги удались далеко не все.
    1.У меня не отражается указанная информация о версии Вордпресса в исходном коде.
    2. При внесении order allow,deny
    deny from all — свой сайт — оказывается закрыт, а вместо него попадаю на страницу своего Хоста, с указанием ошибки 403. Так что пришлось отказаться от данного предложения.
    3. Нашла папку function.php, файл не обнаружила.
    Так что, для меня не все предложения оказались осуществимы. Жду подсказок.

    • Laila

      перед каждой строчки в документе .htaccess поставьте такой значек — решетку и пробел
      #
      Тогда будет правильно

  2. Светлана

    Ежедневный осмотр AntiVirus в блоге бьет тревогу.
    ipromarketplace.biz

    Notify message by AntiVirus for WordPress
    wpantivirus.com
    Это то что присылает на почту мне,когда захожу и проверяю то там красным цветом и желтым есть выделенный текст html,я с перепугу первый раз нажала на кнопку «это не спам»и теперь все нормально показывает,но на самом деле я не знаю,верно ли я поступила,обьясните пожалуйста,вот как поступать,если антивирус обнаружил спам,какие мои действия?и как я пойму действительно ли это спам,если я в html почти ничего не соображаю? Вы уж меня извените,но буду очень признательна,если подскажете.С УВАЖЕНИМ!

  3. Евгений

    Наиполезнейшая статья!
    У меня один вопрос по пункту «4. Файл wp-config.php»
    Вы пишите, что нужно поднять файл в иерархии сервера. Честно сказать не совсем понятно…

  4. mishuta

    Вопрос не совсем по теме, но не знаю к кому обратиться:)
    У меня блог о кошках с весьма скромными параматрематрами, нигде в топы не входит. Но недавно яндекс.бар показал в индексе 540 каких-то страниц типа cat-mishuta.ru/?daf= и на них не моя всякая ерунда. Как можно от этой гадости избавится?

  5. Надежда

    я загнала файл wp-config.php вначале в папку stats — сайт не показывается — ОШИБКА,потом переместила wp-includes — снова ОШИБКА.
    Подскажите, как мне уж его вернуть на своё место? Дело в том, что в File Manager на Хостинге он не находится в какой-то папке, наряду с другими подобными файлами ему
    с названиями wp-…

  6. Надежда

    Извините за беспокойство. Я смогла вернуть файл wp-config.php на место. Спасибо.

  7. Дмитрий

    Order Deny,Allow
    Deny from all

  8. Дмитрий

    <Files «wp-config.php»>
    Order Deny,Allow
    Deny from all
    </Files>

  9. Юрий

    Всё не так однозначно, нужно ко всяким мерам безопасности подходить очень осторожно, иначе самому на свой сайт можно не попасть. Лучше поэкспериментировать с поддоменом — слетит и чёрт с ним — удаляем и ставим по новой, времени займёт чуть, зато сайт в сохранности.

  10. Екатерина

    Ура, наконец-то нашла как бороться с вирусами. Уже что только не делала. Атакуют каждый день в течении месяца. Сейчас уже четыре дня без вируса.

  11. Lyda

    Уставила плагин AntiVirus, и он присылает сообщения о подозрении на вирус.Подскажите что предпринять в этом случае,я новичек.

  12. Евгений

    Похоже что бесполезно сюда писать, все равно никто не ответит, все блин заняты…

    • Андрей Кудлай

      Достаточно было повторить Ваш вопрос — не за всем ведь уследишь :)
      Ответ на Ваш вопрос: «У меня один вопрос по пункту «4. Файл wp-config.php»
      Вы пишите, что нужно поднять файл в иерархии сервера. Честно сказать не совсем понятно…»
      Очевидно, автор подразумевал следующий порядок действий:
      1) зайти по FTP на сервер;
      2) вырезать файл wp-config.php;
      3) кликнуть дважды на папочку с двумя точками (это и есть переход на уровень выше);
      4) в директории, куда при этом попали, вставить вырезанный файл.
      Не проверял, будет ли работать при этом сайт… но мое мнение — толку от этого мало, мягко говоря… так что лучше забудьте этот совет.

      • Евгений

        Очень ценная информация :) особенно про палочку с двумя точками ))
        Но это я все как раз понимаю. А дело в том, что сайт при этом работать не будет, поэтому и был задан мой вопрос выше.

        • Андрей Кудлай

          «Начиная с версии 2.6, wp-config.php можно переместить в директорию на уровень выше той, в которой расположен WordPress.» Это цитата из кодекса WP (http://codex.wordpress.org/%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_wp-config.php)
          Только что ради интереса попробовал переместить этот файл на уровень выше — у меня все работает, как и положено.
          Теперь к Вашему комментарию. Евгений, если это скептицизм, то мне непонятно, чем заслужила его моя попытка помочь. Я постарался объяснить как можно понятнее как «поднять файл в иерархии сервера», поскольку в исходном Вашем вопросе прозвучало «Вы пишите, что нужно поднять файл в иерархии сервера. Честно сказать не совсем понятно…» Из Вашего вопроса я сделал вывод, что Вы не знаете что значит переместить файл из дочернего в родительский каталог. Я попытался объяснить как можно доступнее… можете рассказать мне, как еще доступнее можно объяснить это совсем новичку словами — я приму Ваши слова к сведению.
          Я Вам ответил, что это значит и как это понимать… но при этом честно предупредил, что сайт может не работать и сказал, что большого смысла я в этом не вижу.
          P.S. Кстати, не «паЛочка», а папочка. :)

          • Евгений

            Никакого скептицизма, честно! Просто я человек несколько веселее чем надо, наверно… и конечно спасибо за ваше желание помочь.
            Честно сказать у меня после перемещения блог перестал работать сразу, возможно это связано с хостингом, не знаю…
            Еще раз спасибо, и не обижайтесь пож. если что не так.
            Успехов вам!

        • Андрей Кудлай

          Я тож немного погорячился ;)
          Кстати, на локальном сервере после перемещения конфигурационного файла все работает… а попробовал на сервере хостера — не пашет ))
          На досуге попробую разобраться почему так.

  13. Евгений

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

    • Андрей Кудлай

      Скорее всего… когда лень меня отпустит и работа недоймет — обязательно разберусь с этим вопросом )

  14. Ирина

    Скажите а почему после установки плагина Anti-XSS attack я не могу сделать изменения в настройках темы и сайтбаре. Надо отключать плагин когда хочешь сделать изменения?

  15. Evgeniy

    ОЧень хорошие советы. Весь Интернет перерыл на эту тему, а у вас все так понятно и доходчиво написано, спасибо.

  16. Людмила

    Сайт только начала вести, движок WP устанавливал хостер, но с самого начала не работают php-файлы управления сайтом через админку. Может быть кто-то знает, в чем причина? Буду очень благодарна.

    • Андрей Кудлай

      Людмила, у нас есть форум. Создайте тему и опишите в ней проблему более конкретно, поскольку сейчас на совсем понятно, что значит «не работают php-файлы управления сайтом через админку».

  17. Никита

    Вопрос по wp-config.php
    Как спрятать этот файл на хостинге hostenko. Ведь директории выше той папки, где установлен блог, нет!

    • Андрей Кудлай

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree