Безопасность сайта на WordPress

Безопасность сайта на WordPressВсем привет. Хочу поговорить про безопасность. О проблемах безопасности задумываются не все. Часто мы думаем: «Это не про меня», «меня это не коснётся» и т.д. По статистике проблемами безопасности в реальной жизни озадачены 3% людей. Эти 3% — это люди, которые уже стали жертвами злоумышленников, и так же думали, что их это не коснётся. Весь бизнес, связанный с безопасностью (охранные системы, сигнализации, видеонаблюдение, инкассаторы, ЧОПы, замки, двери и прочее) строится на этих 3%, на людях, которые знают, что проблема безопасности касается их. А злоумышленникам остаются остальные 97%. И я такой был, входил в эти 97%, до тех пор, пока мне не пришлось восстанавливать свой сайт после взлома. Это было лирическое отступление, тема безопасности очень актуальна, но многие ее игнорируют. Вернемся к WordPress.

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

Содержание:

  1. Зачем и кому надо взламывать сайт
  2. Обеспечение безопасности сайта на WordPress
  3. Список мер по обеспечению защиты
  4. Выводы

Зачем и кому понадобилось взламывать сайт

Кстати, хакеры – это люди, которые могут взломать, потому что их знаний для этого хватает. Но настоящий хакер никогда не будет взламывать Ваш сайт для «грязных» делишек. А хороший хакер еще и напишет Вам о том, что взломал сайт, и скажет как. Поэтому не люблю, когда хакерами называют злоумышленников. Давайте попробуем поставить себя на место злоумышленника. Что мы можем получить, взломав блог?
1. Спортивный интерес. Это конечно удел новичков, которым важен сам факт взлома.
2. Получение конфиденциальной информации с сайта, которую можно продать (база клиентов, адреса, номера кредиток, доступы к платежным системам и т.п.).
3. Ресурсы. Можно использовать ресурсы сайта для разных целей. Для рассылки спама, для взлома других сайтов, для размещения файлов, и многое другое.
4. Размещение на сайте жертвы рекламы. Как пользователь размещает рекламу для заработка, так и злоумышленник может это сделать.
5. Получив доступ, злоумышленник может использовать шантаж.
6. Кража посетителей. С помощью скриптов подменяется контент, и пользователь видит не контент сайта, а другой контент.
7. Если сайт имеет ненулевые показатели ТИЦ/RP то с помощью взломанного сайта поднимаются показатели других сайтов.
8. Заказ конкурентов в бизнесе.
9. Захват сайта. Случай редкий, но тоже реальный. Получив доступ к сайту и почте, меняется его владелец.
Причин взломать сайт достаточно. Кто и зачем захочет взломать именно Ваш сайт, никто не знает. Но однозначно захочет.

Обеспечение безопасности сайта на WordPress

Закон Мёрфи гласит: «Если есть вероятность того, что какая-нибудь неприятность может случиться, то она обязательно произойдет».

Защита блога включает в себя две составляющие. С одной стороны нужно обеспечить максимальную защиту от несанкционированного доступа, а с другой стороны нужно быть готовым, что сайт могут взломать. Если с обеспечением безопасности всё понятно (нужно что-то сделать, и это обеспечит защиту), то с готовностью к взлому нужно быть осторожным. Для этого мы сделаем резервную копию вручную или средствами плагинов. Но важно уметь восстанавливать из резервной копии сайт. Пока блог не оброс статьями, пока это пустой движок, установленный на хостинг – потренируйтесь. Восстановите базу данных, восстановите файлы на хостинге из своей резервной копии. Если сайт уже начал обрастать статьями, и боитесь сломать, то можно купить другой домен. Многие хостеры предоставляют возможность одновременной работы с несколькими сайтами. Потренируйтесь на отдельном сайте. Это обойдется в каких-нибудь 600р. Зато даст Вам возможность быть готовым к нештатным ситуациям. Обнаружить взлом не всегда получается вовремя. Иногда проходит много времени, и восстановиться из резервной копии не всегда лучшее решение. Защищайте свой блог от злоумышленников!

Список мер по обеспечению защиты

1. Используйте хороший логин.
В статье про установку WordPress, я уже рассказывал, что нужно придумать хороший логин. Не используйте никаких admin, administrator, user и прочих стандартных логинов. В WordPress можно легко узнать логин. Достаточно в строке адреса ввести http://Ваш_домен.ru?author=1, и там же в строке адреса будет Ваш логин. Если сайт уже установлен, создайте нового пользователя с правами администратора, зайдите под новым пользователем, а старого удалите.

2. Используйте хороший (сложный) пароль.
Знать логин не достаточно. Нужно к нему еще подобрать пароль. Обычный перебор всех комбинаций, вскроет 9 символьный пароль за 3 дня. Вот Вам пример, для чего нужен взлом сайта: запустить на компьютере хостера скрипт, для подбора паролей к другому сайту, или несколько скриптов с разных хостеров. А вот 15 символьный пароль будет подбираться 450 лет. Есть сервисы, которые могут определить надежность пароля к брутфорс атакам, попробуйте погуглить, даже на сайте касперского есть такой сервис. Не стоит забывать, что есть перебор по словарю. Если у Вас в качестве пароля словарное слово, то подбор сокращается в разы.

Брутфорс атака заключается в использовании специального программного обеспечения (скрипта), которое подбирает пароль перебором из бесконечного числа существующих вариантов. Требует от системы максимальных ресурсов, самый долгий из процессов. В своё время был самым продуктивным вариантом взлома паролей, так как фактически любая задача была брутфорсу по плечу. Для защиты от брутфорс атак используется ограничение на количество неправильно введенных комбинаций.

3. Измените адрес страницы входа в панель администрирования.
Все знают, как попасть на страницу ввода логина и пароля в WordPress. А вот если адрес изменен, то только посвященным известно, куда идти, что бы ввести пароль. Один из наиболее продуктивных способов прикрыть свой блог. Но есть вирусы на компьютере, которые могут слить историю браузера. Так, что данный метод не панацея, но использовать его нужно.

4. Своевременно обновляйте WordPress.
В связи с популярностью WordPress много людей пытаются его взломать. Обнаруживаются уязвимости. Уязвимости закрываются. И выходит новый апдейт. Большинство обновлений связаны именно с безопасностью. Своевременно обновляйтесь, не забывая делать резервную копию, перед каждым обновлением.

5. Своевременно обновляйте плагины WordPress.
Плагины, как и движок, имеют уязвимости, которые закрываются с выходом обновлений на плагины. Обновлять нужно и плагины. Конечно, не забывая создать резервную копию.

6. Скрывайте версию WordPress.
В стандартном варианте WordPress выводит в заголовок страницы (<head>)  информацию о версии. Зайдите на любую страницу Вашего блога и нажмите ctrl+shift+i. Раскройте блоки <head>  и вот она, версия движка.

Узнать версию движка WordPress. Блог Андрея Дубина
Рис. 1. Узнать версию движка WordPress.

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

7. Скачивайте темы и плагины с надежных ресурсов.
Всё, что устанавливается на движок, по сути, становится его частью. Плагины и темы имеют доступ ко всем ресурсам, как и сам движок. Устанавливайте все дополнения к движку из проверенных мест (с популярных, известных ресурсов). И смотрите на популярность плагина. Популярные плагины проверены многими людьми.

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

9. Регулярно проверяйте свой локальный компьютер на наличие вирусов.
За безопасностью нужно следить не только на сайте. Чтобы информация о паролях и страницах входа на блог не ушла через вирусы, используйте антивирус, проверяйте компьютер. Можно соблюдать все правила на блоге, при этом через компьютер все Ваши 20-символьные пароли сольются куда не следует.

10. Делайте резервные копии Базы Данных.
Про это уже говорилось не однократно. Резервную копию базы данных нужно делать регулярно, а так же перед каждым существенным изменением на сайте, и самое главное, уметь из нее восстанавливаться.

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

12. Используйте защищенное соединение.
Весь трафик между клиентом (в том числе администратором блога) и сайтом можно шифровать. Хостеры продают SSL сертификаты. Это стоит не дорого. Но лично я считаю, что это нужно больше для интернет-магазинов, где присутствуют деньги, оплата. Хотя, ходят слухи, от того же Яндекса, что якобы, сайты с SSL в выдаче предпочтительнее. Точно не могу сказать, так ли это. Коммерческая тайна алгоритмов Яндекс.

13. Создайте .htaccess файл.
В корне сайта должен быть файл .htaccess (при установке WordPress должен был его создать), в котором можно вручную назначать правила безопасности. Зайдите по FTP и увидите его в корне сайта. Есть большое количество плагинов, которые настраивают параметры безопасности через этот файл. В этом файле есть настройки WordPress, они находятся между строками:

# BEGIN WordPress
… какие-то настройки WordPress …
# END WordPress.

Все что Вы пишите, должно находится за пределами этих меток.

14. Измените префикс таблиц базы данных.
Для усложнения доступа к базе данных нужно изменить стандартный префикс таблиц. Кто изменил его при установке (как я советовал в статье про установку WordPress), тот молодец. В одной из следующих статей я расскажу, как это сделать с помощью плагина.

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

16. Удалите readme.html и license.txt.
В корне сайта лежат файлы readme.html и license.txt. В этих файлах, как и в заголовке, есть информация о версии движка. Эти файлы нужно удалить. А так же, делать это после каждого обновления движка.

17. Используйте двухфакторную аутентификацию учетных записей.
У нас есть логин и к нему пароль – это один фактор. Если добавить к этому еще какую-нибудь проверку, то это будет вторым фактором. Например, капча. При входе в систему помимо логина и пароля пользователь должен ввести, например, слово с картинки. Или выполнить элементарную математическую операцию в соответствии с картинками. Или еще сложнее – необходимо ввести одноразовый пароль, который пришел в виде СМС на телефон. Какой именно второй фактор выбирайте сами. Для блога вполне достаточно элементарной капчи, что бы закрыть доступ для ботов переборщиков паролей. Эта задача решается установкой небольшого плагина.

18. Используйте плагины, обеспечивающие безопасность.
Большинство перечисленных пунктов можно решить установкой плагинов. Безусловно хорошо, если Вы всё настроите вручную. Думаю, так могут далеко не все. Пользуйтесь плагинами, так Вы сильно поднимите уровень безопасности своего сайта.

19. Не используйте один почтовый ящик для нужд сайта и для аккаунта хостинга.
Лучше не использовать один ящик для всех целей. Если Вы будете светить везде своим почтовым ящиком, если он заинтересует кого-то, и его взломают, а ящик привязан к аккаунту хостинга, то это чревато последствиями. Да, соглашусь, что иметь несколько ящиков немного напрягает. Можно настроить сборщик почты. Который будет скачивать всю почту с других ящиков. Стоит только настроить и все письма так же в одном ящике.

Выводы

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

Тема сложная, но очень актуальная. В следующих статьях расскажу, как настроить все эти «непонятные» вещи. Если есть вопросы или дополнения – пишите, пожалуйста, комментарии.

А какие способы защиты используете Вы? Пишите в комментариях.

Немного юмора
Юзер: Здравствуйте!
Техподдержка: Добрый вечер.
Юзер: Форум на сайте не работает… Можно разобраться, в чем проблема?
Техподдержка: Можно. Разбирайтесь.

Всем удачи и безопасного блоговедения!

Автор: Андрей Дубин.

18 thoughts on “Безопасность сайта на WordPress

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

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

  3. Хорошие рекомендации, все верно написано, пока не обожгутся о защите не думают. Периодическая замена пароля и вовсе должна войти в привычку.

  4. Статья для меня оказалась полезной, ведь всегда хочется защитить свой сайт, от разных напастей. Я всегда стараюсь делать резервную копию.

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

  6. Прочла всю статью с большим интересом, пару лет назад не понимала половины слов употребляемых в ней :-). Пришлось разбираться. Я отношу себя тоже к 3%, правда не из-за компьютерного взлома, а из-за нескольких взломов жилья, которые пережила. Так что всегда «держу руку на пульсе».

  7. я так часто работаю в компьютере, на своем сайте, но об безопасности я подумал в первую очередь, ведь без нее никак сейчас.

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

  9. У нас стоит несколько плагинов, поставил после того, как постоянно пытались взломать блог, отслеживал попытки, блокировал IP адреса, но потом поставил нужные плагины и забыл о желающих попасть в админку. Безопасность должна быть на уровне, особенно, когда ресурс посещаем.

  10. у моей подруги взломали сайт — там висело какое-то исламское объявление… Не помню как, но довольно сложным путем, она избавилась.

    Не все я поняла в статье, надо еще «пожевать» тему…

  11. А кто же хочет, чтобы его сайт взломали? Думаю, таких людей в природе не существует.

  12. С удовольствием прочла статью, и абсолютно согласна с тем, что о безопасности блога или сайта надо заботиться. Свою работу надо ценить и беречь.

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

  14. Спасибо. Полезные советы. Надо сесть и по пунктам всё просмотреть, относительно своего сайта.

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

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

*