Как защитить сайт или блог WordPress от взлома

Здравствуйте, друзья! Сегодня я продолжу тему безопасности WordPress в том числе посредством Login Lockdown и описание того, как защитить сайт от взлома. Как вы, наверное, уже поняли из предыдущего поста, этому надо уделить значительное внимание, чтобы не потерять нажитое непосильным трудом.

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

Это можно сделать в самой админ панели, например на Спринтхост, которым я пользуюсь (кстати, его рекомендую и вам, поскольку за все время работы с ним не имел вообще никаких проблем), есть специальная ссылка «Смена пароля», кликнув по которой, можно попасть непосредственно на страницу редактирования:

Я думаю, на каждом хосте должна быть подобная функция, поищите в админке. Пароль необходимо поменять на очень сложный, с использованием цифр и букв со сменой регистра (маленькие и заглавные буквы), ставьте сразу знаков 20-25, чтобы быть спокойным.

Способы защиты блога WordPress от взлома

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

1. Открыть файл .htaccess с помощью замечательного редактора notepad plus plus. Обычно он находится в корневой папке (public_html либо htdocs). Если у вас его нет, то создайте, ничего сложного здесь нет. Просто сохраните в текстовом редакторе пустую страницу, дайте ей название .htaccess, затем подключитесь к вашему сайту по ФТП при помощи HTML редактора notepad plus plus или FTP клиента Filezilla и загрузите в корневую папку. Все, теперь данный файл присутствует и его можно редактировать с помощью вышеназванных инструментов. Итак, загружаем .htaccess, если он у вас в наличии, то будет иметь примерно такой вид:

AddDefaultCharset UTF-8
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Теперь просто добавляем в него строчку (после </IfModule>):

Options All -Indexes

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

http://ваш блог/wp-content/

и 

http://ваш блог/wp-content/plugins/

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

2. Откройте файл function.php вашего шаблона (темы) и в самом начале кода пропишите строчку:

&amp;amp;amp;lt;?php remove_action ('wp_head', 'wp_generator'); ?&amp;amp;amp;gt;

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

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

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

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

add_filter('login_errors',create_function('$a', &amp;amp;amp;quot;return null;&amp;amp;amp;quot;));

Теперь надпись, предупреждающая о некорректно введенном пароле, не будет выводиться, следовательно, это еще один плюсик в дело укрепления безопасности.

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

5. Далее, снова с помощью FTP-соединения откройте на редактирование файл .htaccess и добавьте в него следующие строчки:

&amp;amp;amp;lt;Files wp-config.php&amp;amp;amp;gt;
order allow,deny
deny from all
&amp;amp;amp;lt;/Files&amp;amp;amp;gt;

Такая запись закроет доступ к очень важному файлу wp-config.php. Еще один шаг к тому, чтобы качественно защитить свой блог WordPress.

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

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

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

Еще статьи по данной теме:
Самые интересные публикации из рубрики: Создание сайтов

13 отзывов

  1. Василий

    Очередная хорошая статья. Игорь, а почему вы не установили кнопку Гугл Плюс? С этой кнопкой Гугл быстрее сайт индексирует. Написал статью, нажал кнопку. У меня несколько минут и сайт проиндексирован Гуглом. А Яндекс... это что-то. Если нет аккаунта, заведите, будете там публиковать ссылки.

  2. Игорь

    Да, Василий, Вы меня просто подтолкнули к действиям. Никак руки не доходят, а Вы обновите мою кнопку, когда появится? 🙂 Насчет, индексации, опять же правы. Яша у меня индексирует за пару часов, а Гоша в в течении суток не укладывается. Будем принимать меры, спасибо за напоминание.

  3. Максим

    Зачем писать в .htaccess Options All -Indexes так и не понял. Если пустой index.php лежит в папках, тогда в браузере отображается пустая страница, если index.php удалить - в браузере пишет что нет доступа к данной директории.

  4. Игорь

    Значит у Вас все нормально, Максим. Но так происходит далеко не на всех хостингах.

  5. Простой

    Так как в итоге должен смотреться .htaccess со всеми изменениями?

  6. Игорь

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

  7. Простой

    А в носить изменения в конце файла с новой строки? Или как?

  8. Игорь

    Да, с новой строки и, если мной указано место, то желательно именно туда.

  9. Простой

    Спасибо. А можно ли после всех изменений как нибудь проверить - правильно ли они были сделаны?

  10. Игорь

    Простой, я же написал как проверить корректность всех действий. Например, после того, как пропишете в файле .htaccess строчку Options All -Indexes, пропишите в адресной строке браузера адрес одной из директорий: _http://ваш блог/wp-content/. Если содержимое не отображается, то все в порядке. Кстати, действительно в порядке, я проверил. Ну и так далее. Или Вас интересует что-то конкретное?

  11. Простой

    Просто если в этих директориях _http://ваш блог/wp-content/. созданы пустые html файлы, то прописывать в .htaccess не нужно?

  12. Игорь

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

  13. Олег

    Отличная вещь, пользуюсь давно, и не чего не глючит, спасибо тем кто придумал)

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

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

Чтобы ввести любой код, вставьте его между [php] и [/php]. Ссылка (URL), помещенная в текст комментария, не будет активной. C целью ее выделения и более удобного копирования можно заключить ее между тегами <pre> и </pre>.