16 марта в Impact Hub Moscow состоялся митап «Безопасность сайта на платформе WordPress: проблемы и решения» со Львом Звягинцевым, разработчиком Теплицы социальных технологий.
Мы поговорили о причинах взлома сайтов и о том, как можно защитить уязвимые места сайта от хакеров.
Видео: Фёдор Корниенко
Чтобы понять, от чего защищать сайт, нужно ответить на вопрос «кто и зачем взламывает сайты?».
Хакерство — это получение несанкционированного доступа к закрытой информации: административным разделам сайта, банковским карточкам, почтовой переписке и так далее. Об истории хакерства можно прочитать в статье.
Взламывать сайты могут как конкретные люди, так и роботы, образующие сеть «ботнет».
Ботнет (от англ. botnet, произошло от слов robot и network) — это компьютерная сеть, состоящая из некоторого количества хостов, с запущенными ботами — автономным программным обеспечением.
Как работает ботнет?
При взломе в сайт встраивают вредоносный код, который позволяет использовать ресурсы сайта и наносить вред серверу по внешней команде.
Чужеродный контент на сайте может появиться и через рекламные объявления, которые встраиваются в тему сайта специальным кодом.
Не стоит недооценивать детей, которые учатся ломать сайты. Они ещё не умеют создавать и ради развлечения могут причинить вред вашему сайту, если вы его не защитите.
Способы защиты сайта
Если вы не разбираетесь в коде и вам нужно быстро предпринять меры по защите сайта, то предлагаем вам выбрать один из 5 плагинов безопасности.
- All in one WP Security and Firewall. Самый популярный и востребованный плагин по защите сайта (на русском языке). Плагин имеет множество возможностей для защиты, настраиваемых вручную.
- Bulletproof Security. Плагин аналогичен предыдущему. Бесплатная версия обладает набором базовых средств защиты, в платной версии добавлено множество продвинутых способов обезопасить сайт.
- Google Authenticator. Плагин позволяет установить на сайте так называемую двухфакторную аутентификацию. Это означает, что для доступа в административный раздел сайта пользователь должен ввести дополнительную пару из логина и пароля.
- Sucuri Security. Плагин будет полезен, если ваш сайт уже подвергся заражению. Он позволяет просканировать файлы сайты на предмет наличия вредоносного кода.
- VaultPress (стоимость от 5 у.е.). Плагин аналогичен предыдущему, кроме того он позволяет создавать ежедневные резервные копии вашего сайта.
Дальнейшие рекомендации подходят для защиты сайтов, созданных на платформе WordPress. Часть из них аналогично работают с платформами Bitrix и uСoz.
Итак, три основных уязвимых места сайта: код, доступ к данным и доступ к файлам.
Для защиты кода следует предпринимать несколько простых мер:
- Скачивать тему сайта и плагины только из официальных репозиториев WordPress.
- Постоянно следить за обновлениями темы вашего сайта и плагинов.
Гибкость и открытость платформы WordPress привела к тому, что количество плагинов достигло 25 тысяч. Как следствие, легко найти продукт, который содержит ошибку и потенциально уязвим. Поэтому выбирайте только плагины, написанные проверенными разработчиками и имеющие высокую оценку другими пользователями.
Совет от Льва Звягинцева: Те плагины, которыми вы не пользуетесь, стоит удалить, так как даже неактивированный плагин может использоваться для взлома сайта. Если у вас установлено несколько аналогичных по функциям плагинов, то выберите один, а остальные удалите.
Рекомендации по защите доступа к данным
- Есть множество программ, которые автоматически подбирают пароли и взламывают сайт, комбинируя цифры и слова. Поэтому для составления надёжного пароля в него должны входить заглавные и строчные буквы, цифры и специальные символы.
- Составление надёжного логина так же важно, как и создание пароля.
В WordPress записи автоматически появляются от имени «пользователя по умолчанию» — администратора. Часто этот пользователь имеет имя admin или administrator, и это имя является наиболее популярным логином при входе в административную панель. В результате логин администратора легко угадать, и это делает сайт уязвимым ко взлому. Чтобы устранить эту уязвимость, вы можете изменить логин или вовсе удалить автора записей на своём сайте.
- Вы можете установить на сайте HTTP-аутентификацию. Для выполнения этой рекомендации обратитесь за помощью к программисту.
- Вы можете поставить «капчу» на формы логина и регистрации.
Рекомендации по защите доступа к файлам
- Не все владельцы сайтов знают, что при выборе хостинга нужно узнавать не только цену на тариф, но также и какие услуги по защите сайта предоставляются пользователю. Узнайте, делает ли ваш хостинг резервное копирование сайта, и если да, с какой периодичностью. Также важный вопрос — изменение прав доступа к файлам сайта на сервере.
- В качестве дополнительной меры по защите сайта вы можете удалить информацию о версии WordPress и его темы оформления. Эта информация часто отображается в виде ссылок внизу главной страницы сайта и облегчает хакерам взлом сайта.
- Конкретные инструкции по изменению php-кода можно прочитать в этой статье. Также будет полезно правильно настроить файл .htaccess.
О резервном копировании
Если в ваш сайт встроили вредоносный код, то вам придётся просматривать каждый скрипт и удалять ненужные фрагменты кода (или целые файлы). Эта кропотливая работа занимает много времени, и задача значительно упрощается, если у вас есть резервная копия кода без вредоносных ссылок.
Резервное копирование предполагает периодическое создание полной копии базы данных и файлов с кодом сайта. Для копирования вы можете воспользоваться следующими вариантами:
- Договориться с хостингом о настройке копирования сайта и его базы данных.
- Установить плагины, которые копируют содержимое сайта в отдельный файл.
- Копировать код вручную на свой персональный компьютер.
Однако в первых двух случаях есть опасность: если ваш сайт закрыт по причине взлома сервера, то доступ к копиям вы получить не сможете. В этом случае на помощь приходит облачное копирование сайта через платные сервисы: Acronis, Селектел, Amazon и другие.
Кстати, 31 марта – международный день резервного копирования. Самое время позаботиться о своём сайте.
Ещё один платный способ защиты сайта – это покупка SSL-сертификата и использование протокола HTTPS. О том, почему для НКО важно использовать протокол HTTPS, читайте в материале Алексея Ницы.
Также сегодня на рынке существует множество компаний, предлагающих услуги по аудиту безопасности сайта. Каждый из описанных способов поможет улучшить вашу систему безопасности.
В коротком интервью Лев Звягинцев напоминает о трёх простых вещах, которые стоит делать регулярно для профилактики сайта:
http://youtu.be/6QHcxs6ZtVU
Видео: Фёдор Корниенко