Базовая безопасность сайта держится не на "сложных" средствах, а на дисциплине: обновлениях, принципе минимальных прав, резервных копиях, защите административного доступа и постоянном мониторинге. Ниже - безопасная пошаговая инструкция, как быстро закрыть самые частые пробелы, которые обычно игнорируют, и как проверить, что защита сайта от взлома действительно работает.
Что важно знать в двух словах
- Самые частые инциденты начинаются с устаревших CMS/плагинов, слабых паролей и лишних прав доступа.
- Резервные копии без регулярной проверки восстановления - это "файл надежды", а не защита.
- Доступы админки и сервера должны быть минимальными, раздельными и журналируемыми.
- Веб-уровень (HTTPS, заголовки, WAF) не заменяет порядок на сервере и в приложении.
- Нормальный аудит безопасности сайта - это не разовый сканер, а процесс: инвентаризация, исправления, контроль.
Когда этот подход уместен
Подход подходит, если у вас уже есть работающий сайт (WordPress/Bitrix/самопис) и нужно быстро укрепить базовую безопасность сайта без "переписывания с нуля". Он особенно полезен перед запуском рекламы, сезонными нагрузками, миграциями, подключением платежей, добавлением новых пользователей.
Не стоит выполнять эти изменения "наживую" на продакшене без бэкапа и окна обслуживания, если: сайт критичный по выручке, нет доступа к хостингу/серверу, неясно кто владелец домена/SSL/почты, или вы не можете откатиться. В таких случаях сначала организуйте техническую поддержку и безопасность сайта как процесс (ответственные, регламенты, доступы).
Что подготовить заранее

- Доступы: панель хостинга/облака, SSH/SFTP (если есть), админка CMS, доступ к DNS домена, доступ к почте на домене (для сброса паролей).
- Список пользователей и ролей в CMS, список интеграций (CRM, платежи, формы, SMTP, CDN).
- Понимание стека: где лежит сайт, где БД, где хранятся медиа/загрузки, есть ли отдельный staging.
- Инструменты: менеджер паролей, 2FA-приложение, утилита для бэкапов (или функция у хостинга), логирование (хотя бы access/error логи веб-сервера), сканер уязвимостей по необходимости.
- Окно работ и план отката: что делаем, как проверяем, как возвращаем назад.
Как выполнить задачу поэтапно
-
Сделайте инвентаризацию и зафиксируйте "как сейчас"
Запишите версии CMS/ядра, темы, плагинов/модулей, PHP/Node/.NET (что применимо), веб-сервера, а также список активных пользователей и их права. Это основа для последующего аудита безопасности сайта и контроля изменений.
- Соберите список точек входа: /admin, /wp-admin, панели хостинга, Git, FTP, базы данных, API-ключи.
- Проверьте, какие интеграции завязаны на входящую почту/SMTP - часто это скрытый риск.
-
Настройте резервное копирование и проверьте восстановление
Сделайте полный бэкап файлов сайта и базы данных, затем протестируйте восстановление на тестовой площадке или в отдельной директории. Без этого любые дальнейшие изменения небезопасны.
- Храните копии вне сервера сайта (другой аккаунт/бакет/хранилище).
- Разделяйте бэкап файлов и БД, чтобы проще было диагностировать проблемы.
-
Обновите всё и уберите лишнее
Обновите ядро CMS, плагины/модули, темы и зависимости. Удалите неиспользуемые плагины и шаблоны, а не просто отключите: "мертвые" компоненты часто остаются атакуемой поверхностью для защиты сайта от взлома.
- После обновлений проверьте ключевые сценарии: формы, корзина/оплата, личный кабинет, поиск, отправка писем.
- Если есть кастомные правки в теме/ядре - вынесите в дочернюю тему/переопределения, чтобы обновления не ломали сайт.
-
Укрепите доступы: пароли, 2FA, минимальные права
Включите 2FA для администраторов, смените пароли на уникальные длинные, запретите общие учетки "admin". Пересмотрите роли: каждому - минимум прав, нужных для работы.
- Разделите роли: контент-редактор не должен иметь права на установку плагинов и управление пользователями.
- Ограничьте доступ к панели хостинга: отдельные аккаунты, журнал действий, отключение лишних токенов.
-
Закройте административные точки входа на уровне сети
Ограничьте доступ к админке по IP (где возможно), включите защиту от перебора паролей, добавьте rate limiting и капчу только там, где это не ломает UX. Это базовая защита сайта от взлома против брутфорса и массовых сканирований.
- Разрешайте доступ к /admin из корпоративных IP/VPN, если есть такая возможность.
- Отключите доступ по FTP в пользу SFTP/SSH, если это применимо на вашем хостинге.
-
Проверьте HTTPS и минимальный набор security-заголовков
Убедитесь, что сайт полностью работает по HTTPS без смешанного контента. Затем включите базовые заголовки безопасности (в разумных настройках, чтобы не сломать фронтенд).
- Минимум: HSTS (после проверки), X-Content-Type-Options, Referrer-Policy, Permissions-Policy.
- CSP вводите постепенно: начните с отчётного режима, затем ужесточайте.
-
Проведите экспресс-проверку уязвимостей и настройте мониторинг
Запустите безопасное сканирование внешнего периметра и сверку конфигурации, а затем включите уведомления: ошибки 5xx, всплески 401/403, изменения файлов, входы в админку. Это превращает безопасность сайта в контролируемый процесс.
- Настройте алерты по критическим событиям: новые админы, установка плагинов, изменения настроек оплаты/почты.
- Зафиксируйте регулярность: еженедельный контроль обновлений и журналов.
Быстрый режим
- Сделайте полный бэкап файлов и БД, проверьте восстановление на тесте.
- Обновите CMS/плагины/темы и удалите всё неиспользуемое.
- Включите 2FA админам, смените пароли, пересмотрите роли по принципу минимальных прав.
- Ограничьте доступ к админке (IP/VPN, анти-брутфорс, лимиты запросов).
- Проверьте HTTPS, включите базовые security-заголовки и настройте алерты по событиям.
Проверка результата по чек-листу
- Есть актуальный бэкап файлов и БД, и вы хотя бы раз успешно восстановили сайт на тестовой среде.
- CMS/ядро, плагины/модули и темы обновлены; неиспользуемые компоненты удалены.
- У администраторов включён 2FA; нет общих учеток; пароли уникальные и длинные.
- Роли пользователей пересмотрены: у контентных ролей нет прав на установку расширений и управление пользователями.
- Админка защищена от перебора паролей и ограничена по доступу (IP/VPN/лимиты), где это возможно.
- Сайт доступен по HTTPS, нет критичного mixed content; редиректы настроены корректно.
- Включены базовые заголовки безопасности; CSP вводится без поломок и с контролем.
- Включено логирование и алерты: входы в админку, ошибки 5xx, подозрительные пики 401/403, изменения ключевых файлов.
Где чаще ошибаются
- Считают, что "обновления потом", и месяцами держат уязвимые плагины/модули.
- Хранят бэкапы на том же сервере, что и сайт, и не проверяют восстановление.
- Оставляют отключенные плагины/темы вместо удаления.
- Раздают права администратора "на всякий случай" и не ведут реестр доступов.
- Используют слабые пароли или повторяют их между админкой, почтой и хостингом.
- Открывают админку в интернет без анти-брутфорса и ограничений, надеясь на "секретный URL".
- Включают агрессивный WAF/CSP одним махом и ломают оплату, формы, виджеты, после чего отключают защиту целиком.
- Не мониторят события и узнают о проблеме от клиентов или поисковиков.
- Покупают разовые услуги по защите сайта без регламента: нет владельца процесса, нет повторяемости, нет контроля.
Варианты при других ограничениях
- Нет доступа к серверу (только админка CMS). Сфокусируйтесь на обновлениях, удалении лишнего, 2FA, пересмотре ролей, ограничении входа средствами CMS/плагинов и включении журналирования в самой CMS.
- Сайт на общем хостинге без IP-ограничений. Усильте 2FA, анти-брутфорс, используйте CDN/WAF, включите уведомления по входам и изменениям, заведите внешний мониторинг доступности.
- Высокая критичность и нет окна работ. Делайте изменения итерациями: сначала бэкап и мониторинг, затем обновления на staging, потом релиз малыми шагами с быстрым откатом.
- Нет компетенций внутри команды. Передавайте на техническая поддержка и безопасность сайта в формате подписки: регламент обновлений, контроль логов, резервное копирование, периодический аудит безопасности сайта.
Что спрашивают чаще всего
Что важнее для безопасности сайта: WAF или обновления?
Обновления и удаление лишнего важнее: WAF снижает риск, но не закрывает уязвимости в коде и компонентах. Лучший результат даёт сочетание обновлений, минимальных прав и сетевых ограничений.
Можно ли считать, что защита сайта от взлома есть, если включен 2FA?
2FA сильно помогает, но не заменяет обновления, бэкапы и контроль прав. Взломы часто происходят через уязвимые плагины, утечки ключей и компрометацию сервера.
Как часто делать аудит безопасности сайта на небольшом проекте?

Минимум - регулярно пересматривать обновления, пользователей и логи; а более глубокую проверку делать после крупных изменений и перед запуском важных интеграций. Частота зависит от того, как часто меняется сайт и насколько он критичен.
Какие услуги по защите сайта реально полезны, если бюджет ограничен?
Полезнее всего: настройка бэкапов с тестом восстановления, обновления и хардениг, 2FA и контроль ролей, мониторинг и реагирование. Разовые "сканы" без исправлений дают мало пользы.
Что делать, если подозреваю взлом, но сайт ещё работает?
Сразу смените пароли и ключи, ограничьте доступ к админке, снимите копию текущего состояния для анализа и проверьте логи. Затем восстановите из чистого бэкапа или удалите бэкдор, после чего обновите всё и закройте первопричину.
Нужно ли отключать XML-RPC/REST API в WordPress ради безопасности?
Отключайте или ограничивайте только то, что не используется: иначе можно сломать интеграции и мобильные приложения. Лучше начать с анти-брутфорса, 2FA и ограничения доступа, а затем точечно закрывать ненужные endpoints.
Как связаны техническая поддержка и безопасность сайта?

Безопасность - это регулярные операции: обновления, бэкапы, контроль доступов, мониторинг и реакция на инциденты. Это обычно и есть ядро качественной технической поддержки.



