Безопасность блога на WordPress

bezopasnostВсем доброго времени суток.

Ниже будут перечислены основные меры защиты своего блога на движке WordPress. Кому-то они покажутся наивными, но о них написать все равно нужно…

Предлагаю двигаться от простого к сложному:

Во-первых, нужно придумать хороший пароль к своему админскому аккаунту. Под хорошим паролем понимаю пароль из 10-15 цифр и букв разного регистра. В идеале можно разбавить пароль знаками препинания, такими как #@&)%.

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

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

Бэкап – резервное копирование – создание и сохранение копии всех данных на своем носителе. Можно использовать плагин WordPress Database Backup. Бэкапами нельзя пренебрегать. Мало ли что может придти в голову хостерам или злобным хакерам. Будет очень обидно, если Ваш блог с кучей хороших постов бесследно исчезнет.

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

Плагин же Bad Behavior вообще не пускает IP из черного списка на блог.

Полезен будет плагин Limit Login Attempts. Он блокирует доступ к блогу после четырехкратного ввода неправильного пароля. Блокирует на 20 мин. Благодаря этому плагину процесс подбора пароля растянется еще на 10-20 веков…

Одним (ли) из наиболее популярных плагинов для обеспечения безопасности является WP security scan. Главная его функция – сканирование блога на предмет дыр. Например, он может сравнить права доступа на ваши файлы и папки с правами, которые должны на них стоять. Точнее не должны… а быть максимально узкими без потери функционала. Есть в плагине функция быстрой смены прав доступа. Кроме этого WP Security Scan может изменять названия таблиц в базе данных. По умолчанию они начинаются с “wp-”.НЕ ЗАБУДЬТЕ бэкапнуться перед этим процессом. Смысл смены имен такой же, как и с админским логином – меньше знает злоумышленник – крепче спишь ты.

Ну и на последок поговорим о файле.htaccess. При каждом обращении к вашему блогу сервер проверяет этот файл. В нем находятся настройки сервера конкретно для вашего блога. .htaccess – возможность перенастроить файл httpd.conf – главные конфиги сервера. Инструкции в фале .htaccess действуют на все файлы и папки, вложенные в ту, где лежит сам файл и кроме тех, в которых находится другой “.htaccess”. Кроме всех прелестей и возможностей .htaccess нас сейчас больше всего интересует возможность не пускать на блог определенные/все кроме определенных IP. Рекомендую запретить доступ в админку с не ваших IP. Для этого нужно поместить .htaccess в папку wp-admin и прописать в нем

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “Access Control”
AuthType Basic
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx

Что означают первые строки точно не скажу, а вот последние две означают следующее “запрещать доступ всем, кроме данного IP”. Можно писать несколько IPшников с новой строки, после последнего ставится точка.

А вообще нашел удобный сервис – генератор .htaccess Здесь с помощью простого интерфейса можно сделать мощный файл .htaccess

Ну, вот, пожалуй, и все. Ах да, забыл самое главное – не разбалтывайте свои пароли за кружкой пива в общественных местах! :)

22 Responses to Безопасность блога на WordPress
  1. Роман Швыков Ответить

    >> Плагин же Bad Behavior вообще не пускает IP из черного списка на блог.

    Ни за что бы не поставил, так как у нас в основном динамические IP адреса, если кто то из моей сети напакостит, то соответственно и я не смогу зайти на блог – ИМХО это не правильно!

    Насчет логина – согласен, странно что он после установки ставит только admin, а не предлагает ввести свой, хотя это тоже спорный момент! Если в движке нет SQL инъекций, то подобрать пароль к учетке admin можно только с применением жесткой силы (брутфорс), а это почти не реал….

    Но опять таки есть и другие методы взлома….так что я за то что бы включили ввод логина админа!

    Кста вроде с 10.06 будет новая версия WP 2.8!

  2. Кочнев Илья Ответить

    “WP security scan” вот с ним не сталкивался. Надо посмотреть поближе 8) Спс )

  3. TiamatInc Ответить

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

    Вот к админке – совсем другое дело ;-)

  4. Стрекоза Ответить

    Интересная статья, спасибо ))) Я интуитивно чувствовала что пароль надо позабористей подобрать, а вот насчет логина… как то в голову не приходило ))

  5. Макс Ответить

    Спасибо, полезная статья :) Только насчет антиспам плагинов – ИМХО крутовато. Я вообще пользую простую каптчу и модерирую комментарии. И региться не позволяю, а то повадились делать так: регить акк, комментить без ссылки, а после аппрува через некоторое время ставить ссыль в профиль.

  6. Iceman Ответить

    Чем больше плагинов – тем больше дыр и тем медленнее ваш блог. имхо

  7. Сhief Ответить

    Смена пароля – обычное дело, должно войти в привычку. Хакеры народ такой, им все “интересно”…

  8. Freebies Ответить

    Еще бы добавил один плагин – belavir (php MD5). Обеспечивает проверку целостности файлов WordPress.

  9. IBOX Ответить

    Регистрируйтесь на блогах IBOX. Этот сервис позволяет размещать свою рекламу. А за рекламу размещенную самим сервисом на страницах написанных пользователями последним выплачиваются комиссионные.

  10. D_hunter_ Ответить

    Вот кстати)) боольшой плевок в сторону безопасности давать права скриптам сторонних контор

  11. Купе Ответить

    Плагины обеспечивающие безопасность нужно ставить первыми ни в коем случае ими не пренебрегать…..
    Насчет безопасного пароля все просто:
    1. В пароле должны быть буквы, цифры и какой-то знак.
    2. Длина пароля не должна быть менее 8 символов.
    3. Пароль должен меняться не реже 60-ти дней.

    • TiamatInc Ответить

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

      • Купе Ответить

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

  12. D_hunter_ Ответить

    Кстати есть еще совет не храните пароль на рабочем столе рабочего компьютера в файле “пароль от админки”

    • TiamatInc Ответить

      Точно, ещё надежнее его хранить на бумажке прилепленной к монитору :-)

  13. D_hunter_ Ответить

    или под клавой))

  14. VitaliyRain Ответить

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

  15. Infato Ответить

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

  16. Дизайнер-художник Ответить

    А меня вчера вечером взломали, точнее видимо как-то прочухали пароль. Версия вордпресса 2.8 от Лекактуса. Сам пароль надёжный был, символы, цифры, регистр. В общем опубликовали статью под названием: “Интересный сайт о жизни в интернете: программирование, верстка, seo”. Куча текста напихали, 3 ссылки и от моего (якобы) имени администратора опубликовано. И под рубрикой новости (которой у меня не существует). Больше никаких следов, IP тоже не знаю как узнать, кто заходил? Обнаружил час спустя после публикации (хорошо, что недолго), но думаю, что в ридер попала публикация.

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

    Судя по whois размещенным ссылкам, автор 3-х сайтов один и тот же – некий Aleksey V Bertram из Ижевска. Будьте бдительны, а я пока пароли поменял все..

    • Темыч Ответить

      А я вчера в ридере читал – подумал еще что за чушь.

      Про IP не знаю, зато можно письмо хостеру накатать, если таковой имеется. Совсем уже охренели со своими ГС.

  17. Илья Ответить

    Можно еще вставить в function.php код для скрытия ненужной информации из тега :

    remove_action(‘wp_head’,'wp_generator’);
    remove_action(‘wp_head’,'rsd_link’);
    remove_action(‘wp_head’,'wlwmanifest_link’);
    remove_action(‘wp_head’,'index_rel_link’);
    remove_action(‘wp_head’,'parent_post_rel_link’, 10, 0);
    remove_action(‘wp_head’,'start_post_rel_link’, 10, 0);
    remove_action(‘wp_head’,'adjacent_posts_rel_link’, 10, 0);

    Еще видел плагин для подмены версии WordPress в теге
    remove_action(‘wp_head’, ‘wlwmanifest_link’);

  18. Андрей Лем Ответить

    Есть еще один хороший плагин для WP. Называется TAC (Theme Authenticity Checker). Он проверяет Файлы темы на наличие нежелательного кода. Если такой код находится, плагин показывает в каком файле, полный путь к файлу и номер строки. При помощи этого плагина отсеял кучу тем с кодированными исходящими ссылками и хайджеками. Очень советую его устанавливать если вы часто меняете темы оформления.

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>