Безопасность сайта: 7 минимальных мер, которые нельзя откладывать

Однажды вы открываете свой сайт, а браузер показывает красное предупреждение. Или звонит клиент и говорит, что с вашей страницы всплывает странная реклама. Это не голливудский взлом с зелёными строками кода — почти всегда за этим стоит забытое обновление плагина, слабый пароль и отсутствие бэкапа.
Небольшие сайты атакуют не потому, что кто-то целенаправленно выбрал именно вас. Боты сканируют тысячи адресов подряд и заходят туда, где дверь оказалась не заперта. И на этом история не заканчивается: как только Google помечает сайт как скомпрометированный, это касается уже не одной страницы, а всей видимости в поиске.
К этому добавляется потеря доверия: увидев предупреждение «сайт небезопасен» один раз, посетитель второй раз не рискует — он просто открывает сайт конкурента. Эта потеря не попадает ни в один отчёт, потому что никто не пишет вам, почему ушёл.
Почему это в итоге бьёт по SEO
Google Safe Browsing ежедневно защищает миллиарды устройств и показывает предупреждение перед переходом на сайт, который считает опасным. По собственному описанию сервиса, при обнаружении взлома владельцу отправляется уведомление, чтобы он мог найти и устранить проблему — но само предупреждение уже появилось, и трафик не вернётся, пока проблема не будет исправлена и повторно проверена.
Кроме того, злоумышленник может незаметно добавить в код сайта скрытые ссылки или вредоносный скрипт: для посетителя страница выглядит как обычно, а поисковая система уже видит другое содержимое. Месяцы работы над SEO обнуляются за одну ночь, потому что вернуть доверие занимает гораздо больше времени, чем восстановить файлы.
7 минимальных мер
1. Автоматический бэкап, хранящийся отдельно
Простой вопрос: если сайт взломают сегодня, на сколько часов назад вы сможете откатиться? Если ответ «не знаю» — бэкапа фактически нет. Стандартной копии от хостинга часто недостаточно: она обычно лежит на том же сервере и пропадает вместе с сайтом при его компрометации. Нужна хотя бы одна копия в другом месте — облачное хранилище, отдельный аккаунт — и процесс восстановления стоит время от времени проверять на практике, а не просто предполагать, что он сработает. Например, у интернет-магазина данные о заказах меняются ежедневно — если недельного бэкапа мало, настройте ежедневный автоматический.
2. Обновляйте CMS, плагины и серверное ПО
Устаревшая версия — самая частая точка входа. OWASP Top 10, документ, отражающий отраслевой консенсус по самым критичным рискам веб-приложений, год за годом показывает одни и те же уже известные и давно исправленные уязвимости в верхних строчках. Проблема не новая — просто патч никто не поставил. Перед обновлением всегда делайте свежий бэкап, чтобы неудачное обновление не создало отдельную проблему само по себе.
3. Ограничьте доступ
Панель администратора — первое, что пробуют боты. Стандартный логин, повторяющийся слабый пароль и отсутствие двухфакторной аутентификации вместе делают автоматический подбор пароля простой задачей. Используйте менеджер паролей с отдельным длинным паролем для каждого аккаунта и включайте вторую проверку везде, где это возможно. Избегайте общих логинов на несколько человек — у каждого должен быть свой аккаунт, чтобы при инциденте было понятно, чей доступ использовался.
4. Следите за сроком SSL-сертификата
Замок в адресной строке — не элемент дизайна, а шифрование всего обмена данными между сайтом и посетителем. Такие организации, как Let's Encrypt, выдают его бесплатно и автоматически — сертификатами этого центра пользуются более 700 миллионов сайтов по всему миру, — так что отсутствие сертификата больше не оправдание. Не допускайте истечения срока: это одновременно удар по доверию и по позициям в выдаче.
5. Поставьте firewall и фильтр ботов
Firewall на уровне сервера или CDN блокирует подозрительные запросы ещё до того, как они дойдут до сайта. Он не остановит абсолютно все атаки, но отсеивает основную массу автоматических ботов и снижает нагрузку на сервер. Многие хостинги и CDN уже предлагают это как встроенную функцию — покупать отдельный инструмент чаще всего не нужно, достаточно включить настройку.
6. Сведите права пользователей к минимуму
Не выдавайте всем аккаунтам права администратора: редактору нужен доступ к контенту, бухгалтеру — к отчётам, не больше. Чем больше людей имеет полный доступ, тем выше шанс, что один слабый пароль или забытый аккаунт обернётся дорогой проблемой. Доступ уволенного сотрудника нужно закрывать в тот же день — это самый часто забываемый шаг.
7. Настройте мониторинг
О проблеме первым должны узнать вы, а не клиент. Раздел «Проблемы безопасности» в Google Search Console показывает то, что обнаружил сам Google, а сервисы мониторинга доступности сообщают о неожиданных изменениях или падении сайта. Оба варианта бесплатны, а настройка занимает один раз. Привяжите уведомления к почте или мессенджеру, чтобы не заходить на сайт по несколько раз в день ради проверки.
Взломанный сайт — это не история про восстановленные файлы, это сайт, потерявший доверие Google, а вернуть доверие занимает куда дольше, чем восстановить резервную копию.
Если сайт уже взломан: первый час
Паника — первый враг, а вторая проблема — потерянное время. По порядку: временно закройте сайт или включите режим обслуживания, смените все пароли — от админки, хостинга, FTP, базы данных, — восстановите последнюю копию, в чистоте которой вы уверены, и запросите повторную проверку через Search Console. Перед восстановлением проверьте, не появились ли новые, незнакомые вам учётные записи с правами администратора: злоумышленники часто оставляют такой аккаунт как чёрный ход, и одного удаления вредоносного файла недостаточно. Сообщите о взломе хостинг-провайдеру — иногда дополнительные меры нужно принимать именно на уровне сервера, а не сайта. Если сделать всё это быстро своими силами не получается, каждый час означает потерянный трафик и доверие.
Это не разовая задача
Ни одна из этих семи мер технически не сложна, но выполнять их все вовремя и не забывая — отдельная дисциплина, особенно по мере роста сайта. Поэтому многие компании передают это в наш сервис поддержки и технического обслуживания — обновления, бэкапы и мониторинг работают в фоне, без лишних напоминаний.
Проверить техническое состояние сайта, включая корректность настройки сертификата, можно за пару минут с помощью нашего бесплатного инструмента аудита.