Главная/Блог/Техническая сторона/Безопасность сайта: базовые меры защиты

Безопасность сайта: базовые меры защиты

Техническая сторона8 мин чтения · Klaxon Studio

Взлом сайта почти никогда не выглядит как в кино. Чаще всего это тихое заражение, о котором владелец узнаёт от поисковой системы, от хостинга или от жалобы клиента. Хорошая новость в том, что подавляющее большинство атак автоматические и рассчитаны на типовые слабости. Закрыв базовые уязвимости, вы выводите свой сайт из числа лёгких целей. В статье собраны защитные меры, которые должен знать каждый владелец сайта и интернет-магазина.

Зачем защищать сайт, если «мы небольшая компания»

Распространённое заблуждение: взламывают только крупные проекты, а небольшому сайту ничего не грозит. На деле автоматические программы-сканеры перебирают адреса подряд и ищут не конкретного владельца, а известную уязвимость. Им всё равно, чей это сайт: гостевого дома, строительной фирмы или магазина товаров для животных.

Для чего злоумышленникам чужой сайт:

  • размещение скрытых ссылок и страниц для продвижения посторонних ресурсов;
  • перенаправление посетителей на недобросовестные сайты;
  • рассылка спама с вашего сервера;
  • кража данных клиентов и заказов;
  • использование мощностей сервера для собственных целей;
  • шантаж или вымогательство за возврат доступа.

Последствия для бизнеса ощутимы: падение позиций в поиске, предупреждение браузера о небезопасном сайте, блокировка хостингом, потеря доверия клиентов и время, потраченное на восстановление. Профилактика обходится на порядок дешевле лечения.

Доступы и пароли: самый частый источник проблем

Большинство реальных взломов происходит не через хитрые уязвимости программного кода, а через слабые или утёкшие пароли. Поэтому начинать нужно именно с доступов.

Надёжные пароли и их хранение

Пароль к панели управления сайтом, хостингу, базе данных и почте должен быть длинным, уникальным и не использоваться больше нигде. Запомнить десятки таких паролей невозможно, и для этого существуют менеджеры паролей. Они генерируют случайные комбинации и хранят их в зашифрованном виде. Пароли, записанные в заметках телефона, в мессенджере «для себя» или в таблице на общем диске, это то, откуда их чаще всего и крадут.

Двухфакторная аутентификация

Если панель сайта, хостинг или почтовый сервис поддерживают подтверждение входа вторым фактором, включите его. Даже если пароль утечёт, без кода из приложения или с устройства войти не получится. Это одна из самых эффективных мер при минимальных усилиях.

Принцип минимальных прав

Каждый сотрудник и подрядчик должен иметь только тот доступ, который нужен для работы. Контент-менеджеру не нужны права администратора с возможностью устанавливать модули. Бухгалтеру достаточно просмотра заказов. Отдельная учётная запись для каждого человека, а не общий логин «на всех», позволяет понять, кто и что сделал, и быстро отключить доступ при увольнении.

Совет студии. Раз в квартал просматривайте список пользователей админки и хостинга. Учётные записи бывших сотрудников, подрядчиков и тестовые аккаунты, о которых все забыли, часто оказываются лазейкой. Лишнее удаляйте без сожаления.

Обновления и состав сайта

Любой движок, шаблон и модуль это программный код, в котором время от времени находят уязвимости. Разработчики выпускают исправления, и после публикации информации о проблеме автоматические сканеры начинают искать сайты, где исправление не установлено. Чем дольше вы тянете с обновлением, тем выше риск.

  • Следите за выходом обновлений безопасности для вашей платформы и сторонних модулей.
  • Удаляйте модули и темы, которыми не пользуетесь. Отключённый, но оставленный на сервере модуль остаётся уязвимым.
  • Устанавливайте дополнения только из проверенных источников. «взломанные» версии платных модулей часто содержат вредоносный код.
  • Не оставляйте на сервере тестовые копии сайта, старые архивы и файлы с названиями вроде «копия» или «старый».

Как обновляться без риска для работающего магазина, подробно разобрано в нашей статье про обновление движка и модулей.

Защита соединения и сервера

Шифрование соединения

Сайт должен работать по защищённому протоколу целиком, а не только на странице оформления заказа. Сертификат нужен, чтобы данные между браузером и сервером не могли быть перехвачены по пути и чтобы браузер не показывал предупреждений. Проверьте, что старый адрес без шифрования автоматически перенаправляет на защищённый, а сертификат продлевается вовремя. Просроченный сертификат пугает посетителей хуже любого дизайна.

Настройки сервера

Несколько вещей, которые стоит проверить с вашим хостинг-провайдером или администратором:

  • актуальная поддерживаемая версия языка программирования на сервере;
  • закрытый от посторонних доступ к панели управления базой данных;
  • правильные права на файлы и папки: сайту не нужна возможность записи везде;
  • запрет выполнения скриптов в папках, куда пользователи загружают файлы;
  • скрытые служебные файлы и каталоги недоступны по прямой ссылке;
  • отключён вывод подробных сообщений об ошибках для посетителей.

Защитный экран и ограничение попыток входа

Автоматический подбор паролей это самая массовая атака. От неё защищают ограничение числа неудачных попыток входа, временная блокировка адресов, капча на форме авторизации и смена стандартного адреса входа в панель администратора. Дополнительно можно использовать фильтрующий сервис перед сайтом, который отсеивает заведомо вредоносные запросы до того, как они дойдут до сервера.

Защита форм и пользовательских данных

Любое место, где посетитель вводит информацию, это потенциальная точка входа. Формы заказа, обратной связи, поиск, регистрация, комментарии должны проверять и очищать всё, что в них приходит. Этим занимается сам движок и корректно написанный код модулей, но результат нужно проверять при приёмке доработок.

  • Данные из форм никогда не доверяются «как есть» и проверяются на стороне сервера, а не только в браузере.
  • Загрузка файлов ограничена по типу и размеру, а загруженные файлы не исполняются как программы.
  • Формы защищены от автоматической отправки: капчей, скрытыми ловушками, ограничением частоты отправки.
  • Пароли клиентов хранятся только в виде необратимых хэшей, а не открытым текстом.
  • Платёжные данные карт не хранятся на вашем сайте: оплата проходит на стороне платёжного сервиса.

Таблица: что защищаем и чем

Что защищаемОсновная угрозаБазовая мера
Панель администратораПодбор и кража пароляУникальные пароли, второй фактор, ограничение попыток входа
Движок и модулиИзвестные уязвимостиСвоевременные обновления, удаление неиспользуемого
Файлы на сервереВнедрение вредоносного кодаПравильные права, запрет исполнения в папках загрузок, контроль изменений
База данныхКража и подмена данныхЗакрытый доступ, надёжный пароль, регулярные копии
СоединениеПерехват данныхЗащищённый протокол на всём сайте, своевременное продление сертификата
ФормыСпам и вредоносные данныеПроверка на сервере, капча, ограничения

Резервные копии как последняя линия обороны

Ни одна защита не гарантирует стопроцентного результата. Поэтому важно, чтобы даже после успешной атаки вы могли быстро вернуть сайт к чистому состоянию. Для этого нужны регулярные автоматические копии, которые хранятся отдельно от основного сервера, и проверенная процедура восстановления. Эту тему мы разбираем в отдельной статье о резервном копировании, и пренебрегать ею не стоит: именно копия превращает катастрофу в неприятный, но решаемый эпизод.

Что делать, если сайт всё-таки взломали

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

01

Зафиксировать и ограничить

Сделайте копию сайта в текущем состоянии для разбора и, если есть риск для посетителей, временно включите страницу технических работ.

02

Сменить все доступы

Пароли от админки, хостинга, базы данных, почты и доступа к файлам. Сменить нужно всё, а не только то, что кажется затронутым.

03

Найти и устранить причину

Просто удалить вредоносный файл недостаточно: если лазейка осталась, заражение вернётся. Нужно понять, как злоумышленник попал внутрь, и закрыть этот путь.

04

Вернуть чистое состояние

Очистите заражённые файлы или восстановитесь из чистой копии, обновите все компоненты и проверьте базу данных на посторонние записи.

05

Сообщить поисковым системам и клиентам

Если сайт попал в список небезопасных, запросите повторную проверку. Если могли пострадать данные клиентов, обсудите с юристом, как правильно их уведомить.

Регулярные привычки безопасности

Безопасность складывается не из одного большого проекта, а из небольших регулярных действий. Мы рекомендуем закрепить их в виде короткого календаря обязанностей.

  • Раз в месяц: проверить наличие обновлений движка и модулей и установить их по регламенту.
  • Раз в месяц: убедиться, что автоматические копии создаются и доступны для скачивания.
  • Раз в квартал: пересмотреть список пользователей и их права.
  • Раз в квартал: проверить срок действия сертификата и настройки перенаправлений.
  • После каждого увольнения или окончания работы с подрядчиком: закрыть его доступы и сменить общие пароли.
  • После каждой крупной доработки: проверить, не появились ли новые открытые папки, тестовые файлы или лишние права.
  • Постоянно: следить за письмами от хостинга и уведомлениями поисковых систем.

Частые вопросы

Достаточно ли купить сертификат, чтобы сайт был защищён?

Нет. Сертификат защищает только передачу данных между браузером и сервером. Он ничего не делает против слабых паролей, устаревших модулей и уязвимостей в коде.

Нужен ли отдельный антивирус для сайта?

Сканеры вредоносного кода полезны как часть контроля, но они дополняют, а не заменяют остальные меры. Главное это обновления, права доступа, копии и дисциплина с паролями.

Кто отвечает за безопасность: хостинг или владелец сайта?

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

Как понять, что сайт заражён, если внешне всё работает?

Заражение часто скрыто от владельца и показывается только поисковым роботам или посетителям с определённых устройств. Проверяйте сайт через инструменты для вебмастеров, смотрите, какие страницы находятся в индексе, и отслеживайте нехарактерные скачки нагрузки.

Если вы не уверены, насколько защищён ваш сайт, мы проведём базовый аудит безопасности и подготовим список конкретных мер по приоритету. Регулярный контроль обновлений, копий и доступов мы берём на себя в рамках сопровождения. Для обсуждения пишите нам на странице контактов.

Обсудим ваш проект? Если хотите применить эти рекомендации на своём сайте, оставьте заявку — подскажем, с чего начать, и оценим работы.

Читайте также

Техническая сторона

Резервное копирование: стратегия, которая спасёт проект

Резервная копия сайта похожа на страховку: пока всё хорошо, о ней не вспоминают, а когда случается беда, выясняется, что копии нет, она устарела или…

8 мин чтения
Техническая сторона

Обновление движка и модулей: как ничего не сломать

Вопрос «обновляться или не трогать, пока работает» знаком каждому владельцу сайта. Одни откладывают обновления годами и однажды получают взломанный…

9 мин чтения
Техническая сторона

Как выбрать доменное имя для бизнеса

Доменное имя это адрес вашего бизнеса в интернете. Его печатают на визитках, диктуют по телефону, пишут на упаковке и вставляют в рекламу. Сменить…

9 мин чтения