Сайты небольших компаний взламывают не адресно, а массово: автоматические программы обходят адреса подряд и перебирают известные уязвимости и слабые пароли. Никто не изучает конкретно ваш проект — просто сканер нашёл устаревший модуль или подобрал пароль администратора. Отсюда практический вывод: защита строится не на дорогих средствах, а на нескольких базовых правилах, которые закрывают большую часть случаев.
Базовый минимум
Этот набор мы просим выполнить в первую очередь на любом проекте, независимо от его размера и платформы.
- Обновления. Устаревшая CMS и модули — причина большинства взломов. Критические исправления безопасности ставятся сразу, остальные — по расписанию.
- Пароли. Длинные и разные, в менеджере паролей, без «admin» в логине и без общего пароля на все сервисы.
- Двухфакторный вход в админку сайта, в панель хостинга и в почту, привязанную к домену.
- Права доступа. Отдельные учётные записи вместо общей «для всех», у каждого — только те права, которые нужны для работы.
- Резервные копии файлов и базы, хранятся отдельно от сервера сайта.
- https на всём сайте, включая формы и админку, с автоматическим продлением сертификата.
- Минимум лишнего. Неиспользуемые модули, темы и старые скрипты удаляются, а не отключаются.
Что чаще всего становится входом
Точки входа повторяются от проекта к проекту. Разбирая взломанные сайты, мы почти всегда находим что-то из этого списка.
| Слабое место | Как эксплуатируют | Что делать |
|---|---|---|
| Устаревший модуль или тема | Известная уязвимость с опубликованным описанием | Обновлять по расписанию, ненужное удалять |
| Слабый пароль администратора | Перебор по словарю | Сложные пароли, ограничение попыток входа, двухфакторный вход |
| Формы без проверки данных | Загрузка постороннего файла, внедрение кода в запрос | Проверять тип и размер файлов, запретить исполнение в папке загрузок, использовать подготовленные запросы к базе |
| Открытые служебные адреса | Доступ к настройкам, архивам и файлам конфигурации | Закрыть паролем или по списку адресов, убрать архивы и выгрузки базы из корня сайта |
| Забытый тестовый сайт или копия | Старая версия с незакрытыми уязвимостями на том же сервере | Удалить или закрыть доступ, не держать копии в открытых папках |
| Общий хостинг-аккаунт на несколько сайтов | Взлом соседнего сайта и переход к остальным | Разносить проекты по разным учётным записям, обновлять все сайты аккаунта |
| Заражённый компьютер сотрудника | Кража сохранённых паролей FTP и админки | Не хранить пароли в клиентах без шифрования, работать по защищённым протоколам, менять доступы при подозрении |
| Доступы прежних подрядчиков | Вход под забытой учётной записью | Вести список доступов, отзывать их сразу при завершении работ |
Настройки, которые делаются один раз
Помимо регулярных работ есть вещи, которые настраиваются однократно и дальше работают сами. Их обычно и не делают, потому что на живом сайте всё и так открывается.
- Запрет на исполнение скриптов в папках, куда загружают файлы посетители.
- Закрытые от посторонних файлы конфигурации, журналы и служебные каталоги.
- Отключённый вывод ошибок на страницы: текст ошибки подсказывает злоумышленнику версии и пути.
- Ограничение числа попыток входа и задержка после неудачных попыток.
- Корректные права на файлы и каталоги — без «доступно всем на запись».
- Отдельная учётная запись базы данных для сайта, без прав администратора сервера баз данных.
- Заголовки безопасности и перенаправление всего трафика на https.
- Регулярная проверка целостности файлов, чтобы посторонние скрипты обнаруживались автоматически.
Признаки, что сайт уже взломан
Взлом редко выглядит как надпись на главной странице. Чаще сайт продолжает работать, а посторонний код прячется и приносит доход кому-то другому. Насторожить должно следующее.
- В поиске по сайту появляются чужие страницы с посторонними товарами или ссылками.
- Браузер или антивирус предупреждает о небезопасности, в панели вебмастера появилось уведомление.
- С сервера уходит спам, домен попал в чёрные списки, письма перестали доходить.
- В файлах появились новые скрипты с непонятными именами или свежие даты изменения там, где никто ничего не правил.
- Резко выросла нагрузка на хостинг без роста посещаемости.
- В админке есть учётная запись, которую никто не заводил.
- Посетители с телефонов попадают на посторонний сайт, а с компьютера всё выглядит нормально.
Что делать при взломе
Главная ошибка в такой ситуации — начать чистить боевой сайт вручную и не искать причину. Посторонний код почти всегда лежит в нескольких местах, и через неделю история повторяется. Порядок действий такой.
- Закрыть сайт от посетителей, чтобы не разносить вредоносный код и не терять репутацию домена.
- Сохранить копию заражённого сайта и журналы сервера: по ним потом ищут точку входа.
- Сменить все пароли: админка, база, хостинг, FTP, почта, сторонние сервисы.
- Восстановиться из заведомо чистой копии, а не «почистить» рабочие файлы.
- Обновить систему и модули до актуальных версий, удалить лишние расширения.
- Найти причину по журналам: без этого взлом повторится.
- Проверить учётные записи и задания по расписанию — там часто оставляют способ вернуться.
- Отправить сайт на перепроверку в панелях вебмастеров и вывести домен из чёрных списков.
Если непонятно, какая копия чистая, ориентируются по датам изменения файлов и записям в журналах: они показывают, когда появились посторонние скрипты, и позволяют взять копию заведомо раньше этого момента.
Про резервные копии
Копия имеет ценность только тогда, когда из неё получается развернуть сайт. Проверять это стоит раз в квартал: типичный сценарий — копии делались год, а при попытке восстановления выяснилось, что база в них не сохранялась или архив обрывался на середине.
Разумная схема выглядит так: копии делаются ежедневно, хранятся вне сервера сайта, глубина хранения не меньше месяца, доступ к хранилищу отдельный от доступа к хостингу. Последнее важно при взломе: если копии лежат в той же учётной записи, их удаляют вместе с сайтом. Отдельно проверяется, что в копию попадают и файлы, и база: чаще всего теряется именно база.
Что делаем мы на сопровождении
На проектах, которые мы ведём, защита не отдельная услуга, а часть регулярных работ: обновления по расписанию, наблюдение за доступностью и журналами, ежедневные копии с проверкой восстановления, контроль сроков домена и сертификата, ревизия учётных записей. Плюс разбор любого подозрительного поведения сайта до того, как оно превратится в аварию.
Такой порядок стоит предсказуемых денег и занимает немного времени. Восстановление после взлома непредсказуемо по обоим параметрам: помимо самих работ приходится возвращать доверие поисковых систем, чинить репутацию домена в почтовых службах и объясняться с клиентами.
Проверить защиту сайта
Если вы не знаете, когда последний раз обновлялась CMS и разворачивалась ли резервная копия, начинать стоит с проверки текущего состояния. Мы посмотрим сайт, найдём открытые места и приведём их в порядок — это сопровождение и защита сайта. Напишите нам, и мы скажем, что требует внимания в первую очередь.
Скорость, доступность и безопасность требуют регулярного внимания: это техническая поддержка сайта, а не разовая настройка.











