
Многие владельцы небольших сайтов уверены, что взламывают только банки и крупные магазины: «Кому нужна наша визитка с тремя страницами?» На деле большинство атак никто не направляет вручную. Автоматические программы круглосуточно перебирают миллионы сайтов подряд в поисках известных уязвимостей, слабых паролей и забытых обновлений. Им всё равно, продаёте вы янтарные украшения или ремонтируете кондиционеры. Им нужен ваш сервер — для рассылки спама, размещения вредоносных файлов, скрытых ссылок или майнинга.
Последствия взлома для малого бизнеса бывают очень ощутимыми: сайт помечается в поиске как опасный, браузеры показывают посетителям красное предупреждение, хостинг блокирует аккаунт, а заявки перестают приходить на несколько дней или недель. Восстановление обходится дороже, чем профилактика. Хорошая новость: большую часть рисков закрывают базовые меры, которые не требуют огромного бюджета. О них и поговорим.
Как обычно взламывают небольшие сайты
Чтобы понимать, от чего защищаться, полезно знать типичные сценарии. За время работы мы восстанавливали десятки сайтов, и причины почти всегда сводятся к нескольким вариантам.
Устаревшая CMS и плагины
Самая частая причина. В популярных системах управления и особенно в сторонних плагинах регулярно находят уязвимости. Разработчики выпускают исправления, но если сайт не обновлялся год-два, все найденные за это время дыры остаются открытыми. Информация о них публична, поэтому автоматические сканеры знают, что искать.
Слабые и повторяющиеся пароли
Пароль «admin123» или название компании с годом основания подбирается за минуты. Не меньшая проблема — один и тот же пароль для почты, хостинга и админки. Если он утёк с какого-нибудь стороннего сервиса, злоумышленники пробуют его везде.
Пиратские темы и плагины
Платная тема, скачанная бесплатно с сомнительного сайта, нередко содержит встроенный вредоносный код. Он может месяцами ничего не делать, а потом начать показывать рекламу или перенаправлять посетителей с телефонов на мошеннические страницы.
Уязвимые формы
Формы обратной связи, поиска, загрузки файлов без должной проверки входных данных позволяют внедрить вредоносный код в базу или на сервер. Это реже встречается на популярных CMS, но часто — на самописных сайтах, сделанных «на коленке».
Утечка доступов через людей
Доступы к хостингу, отправленные в мессенджере пять лет назад фрилансеру, с которым давно не работаете. Пароль на стикере у монитора. Общий аккаунт администратора на всех сотрудников. Технически это не взлом, но последствия те же.
Защищённое соединение: обязательный минимум
Если адрес вашего сайта начинается с http, а не с https, браузеры помечают его как небезопасный. Для посетителя это выглядит как предупреждение в адресной строке, а на страницах с формами — ещё и как явное сообщение о том, что вводимые данные могут быть перехвачены.
SSL-сертификат шифрует данные между браузером посетителя и сервером. Без него пароль, телефон или номер заказа, отправленные через общественный Wi-Fi в кафе, может прочитать кто угодно в той же сети. Сейчас базовый сертификат большинство хостингов выдают бесплатно и продлевают автоматически, так что причин работать без него нет.
После подключения сертификата важно проверить три вещи: что сайт автоматически перенаправляет с http на https, что все картинки и скрипты на страницах тоже загружаются по защищённому протоколу и что продление сертификата действительно настроено. Истёкший сертификат пугает посетителей даже сильнее, чем его отсутствие.
Пароли и доступы
Управление доступами — самая дешёвая и при этом самая недооценённая мера безопасности. Вот правила, которые мы рекомендуем всем клиентам:
- Длинные уникальные пароли для каждого сервиса: админки, хостинга, почты, регистратора домена.
- Менеджер паролей вместо таблицы на рабочем столе или блокнота.
- Двухфакторная аутентификация везде, где она поддерживается, особенно для хостинга и почты.
- Отдельная учётная запись для каждого сотрудника и подрядчика, с минимально необходимыми правами.
- Удаление учётных записей людей, которые больше не работают с сайтом.
- Смена паролей после завершения работы с внешним подрядчиком.
- Нестандартный адрес входа в админку или ограничение доступа к ней по IP-адресам.
Отдельно о домене. Доступ к личному кабинету регистратора — самый ценный из всех. Тот, кто им владеет, может перенаправить ваш адрес на любой сервер. Домен должен быть оформлен на вашу компанию или на вас лично, а не на веб-студию или фрилансера, и доступ к нему должен быть у вас.
Проведите простую ревизию: составьте список всех, у кого есть доступ к сайту, хостингу, домену и почте. Если в нём найдутся люди, с которыми вы больше не работаете, смените пароли сегодня же.
Обновления: скучно, но жизненно важно
Ядро CMS, тема оформления, плагины, версия PHP на сервере — всё это нужно обновлять. Чем дольше сайт не обновлялся, тем больше в нём известных уязвимостей и тем сложнее и опаснее становится само обновление.
При этом бездумно нажимать «Обновить всё» на рабочем сайте тоже не стоит. Новая версия плагина может конфликтовать с темой, а обновление PHP — сломать устаревший модуль. Правильный порядок выглядит так:
- Сделать резервную копию файлов и базы данных.
- Проверить обновления на тестовой копии сайта, если она есть.
- Обновить, начиная с ядра, затем плагины и тему.
- Проверить ключевые сценарии: открытие главной, отправку формы, оформление заказа.
- Если что-то сломалось — откатиться из копии и разбираться без спешки.
Для небольшого сайта разумная периодичность — раз в две-четыре недели для плагинов и сразу же для критических исправлений безопасности. Заодно стоит удалить неиспользуемые плагины и темы: даже отключённый плагин остаётся на сервере, и его уязвимости тоже.
Резервные копии, которые действительно спасут
Бэкап — последняя линия обороны. Когда все остальные меры не сработали, именно он позволяет вернуть сайт за час, а не за неделю. Но резервные копии работают только при соблюдении нескольких условий.
| Правило | Почему важно |
| Копировать и файлы, и базу данных | Без базы пропадут товары, заказы и тексты, без файлов — шаблоны и картинки |
| Хранить копии вне сервера сайта | При взломе или сбое хостинга копии на том же сервере тоже могут пострадать |
| Держать несколько копий за разные даты | Заражение часто обнаруживают через недели, и последний бэкап уже содержит вредоносный код |
| Делать копии автоматически | Ручные копии делают первые два месяца, потом забывают |
| Периодически проверять восстановление | Бэкап, из которого не получается развернуть сайт, бесполезен |
Для интернет-магазина с ежедневными заказами копию базы данных стоит делать минимум раз в сутки. Для сайта-визитки, где контент меняется раз в месяц, достаточно еженедельной копии. Хранить разумно хотя бы последние 14–30 дней.
Защита форм и от спама
Формы на сайте — вход для данных извне, а значит, потенциальная точка атаки. Помимо технической проверки входных данных, которую должен сделать разработчик, нужна защита от автоматических отправок.
Самый заметный симптом проблемы — десятки бессмысленных заявок в день со ссылками на подозрительные сайты. Они не просто раздражают менеджеров, но и могут привести к тому, что почтовые сервисы начнут помечать письма с вашего сайта как спам. Тогда настоящие заявки тоже перестанут доходить.
Решения разной степени строгости:
- скрытое поле-ловушка, которое заполняют только роботы;
- проверка времени заполнения: человек не может отправить форму через полсекунды после загрузки;
- невидимая капча, например SmartCaptcha от Яндекса, которая показывает задание только подозрительным посетителям;
- ограничение количества отправок с одного адреса за период.
Обычно хватает сочетания двух первых способов с невидимой капчей. Классическую капчу с распознаванием искажённых букв лучше не использовать: она раздражает живых людей и снижает количество заявок.
Если сайт принимает файлы — резюме, чертежи, фотографии для расчёта, — сервер должен проверять их тип и размер и не позволять загрузить исполняемые скрипты. Это одна из классических уязвимостей самописных сайтов.
Хостинг и мониторинг
Значительная часть безопасности зависит от хостинга. Дешёвый виртуальный хостинг за 100 рублей в месяц, где на одном сервере размещены тысячи сайтов, может быть опасен соседством: заражённый сайт соседа иногда становится проблемой для всех. Хороший хостинг обновляет серверное программное обеспечение, изолирует аккаунты друг от друга, предоставляет автоматические резервные копии и базовую защиту от массовых атак.
Вторая важная вещь — мониторинг. Вы должны узнать о проблеме раньше клиентов. Минимальный набор:
- сервис проверки доступности, который пришлёт уведомление, если сайт перестал открываться;
- Яндекс Вебмастер и Google Search Console — они сообщают, если обнаружили на сайте вредоносный код или признаки взлома;
- уведомления об истечении сертификата и оплаты домена;
- периодическая проверка сайта антивирусным сканером на стороне хостинга.
Однажды к нам обратился владелец туристического сайта из области: посетители жаловались, что с телефонов сайт перекидывает на сомнительный ресурс, а сам он с компьютера ничего не замечал. Вредоносный код срабатывал только на мобильных и только при переходе из поиска. Заражение длилось около трёх недель, за это время сайт успел получить пометку в выдаче. Лечение и снятие пометки заняли ещё около недели. Мониторинг через Вебмастер позволил бы заметить проблему в первые дни.
Подключите сайт к Яндекс Вебмастеру и включите уведомления на почту, которую вы реально читаете. Это бесплатно, занимает 15 минут и часто становится первым сигналом о взломе.
Что делать, если сайт всё-таки взломали
Даже при хорошей защите полностью исключить риск нельзя. Главное в такой ситуации — действовать спокойно и по порядку.
- Не удаляйте файлы хаотично. Сначала сделайте копию текущего состояния — она понадобится для анализа.
- Смените все пароли: админки, хостинга, баз данных, FTP, почты.
- Свяжитесь с хостингом: у них часто есть журналы и инструменты для поиска заражения.
- Найдите и устраните причину — устаревший плагин, слабый пароль, уязвимую форму. Без этого сайт взломают повторно через несколько дней.
- Восстановите сайт из чистой резервной копии или вычистите вредоносный код.
- Обновите все компоненты до актуальных версий.
- Отправьте запрос на перепроверку в Яндекс Вебмастер и Google Search Console, если сайт был помечен как опасный.
Самая частая ошибка — восстановить сайт из бэкапа и на этом успокоиться. Если причина не устранена, повторное заражение почти гарантировано.
Выводы
Безопасность небольшого сайта держится не на дорогих системах защиты, а на регулярной гигиене: защищённом соединении, надёжных и уникальных паролях, своевременных обновлениях, автоматических резервных копиях за несколько дат и базовом мониторинге. Каждая из этих мер по отдельности проста, но вместе они закрывают подавляющее большинство реальных угроз, с которыми сталкивается малый бизнес.
Если заниматься этим самостоятельно некогда, разумно передать сайт на техническое сопровождение специалистам — стоимость такой поддержки обычно в разы ниже, чем потери от недели простоя и затраты на лечение после взлома. Но даже в этом случае ключевые доступы, прежде всего к домену, должны оставаться у владельца бизнеса.
Нужен сайт или доработка текущего? Расскажите о задаче — через 24 часа покажем эскизы решения, а к готовому сайту добавим месяц продвижения в подарок.
Обсудить проект