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

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

Рубрика: Разработка · Время чтения: 8 мин

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

Кто и зачем атакует сайты

Распространённое заблуждение: «Мы маленькая компания, кому мы нужны?» Но злоумышленников обычно интересуют не конкретные компании, а любые уязвимые ресурсы. Боты круглосуточно сканируют интернет в поисках сайтов с устаревшими плагинами, слабыми паролями и открытыми панелями администрирования. Чем проще цель, тем выше шанс на успех.

Зачем взламывают сайты? Чаще всего ради следующего:

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

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

Самые распространённые уязвимости

Устаревшее программное обеспечение

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

Слабые пароли и утечки доступов

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

Уязвимости в коде

Недостаточная проверка вводимых данных приводит к внедрению вредоносных запросов в базу и к исполнению посторонних скриптов на страницах. Это касается самописных модулей и некачественных расширений. Классические проблемы называются инъекциями и межсайтовым выполнением скриптов.

Небезопасные настройки сервера и прав

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

Обновления и контроль компонентов

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

Выбирая расширения, смотрите на дату последнего обновления, число активных установок, репутацию разработчика и отзывы. Не скачивайте взломанные платные темы и модули из сомнительных источников: в них нередко встроен вредоносный код, который открывает злоумышленникам доступ с первого дня.

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

Пароли, доступы и двухфакторная аутентификация

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

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

Шифрование соединения и защита данных

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

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

Резервные копии: страховка на худший случай

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

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

Мониторинг, фильтрация и защита от автоматизированных атак

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

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

  1. Включите журналирование действий и храните логи достаточно долго.
  2. Закройте доступ к служебным файлам и каталогам.
  3. Отключите вывод технических ошибок на публичных страницах.
  4. Настройте заголовки безопасности в ответах сервера.

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

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

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

Безопасность при работе с подрядчиками и сотрудниками

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

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

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

Чек-лист базовой защиты

Чтобы быстро оценить состояние вашего сайта, пройдитесь по короткому списку. Каждый пункт без галочки — повод для задачи подрядчику.

  1. Система управления, плагины и темы обновлены до актуальных версий.
  2. Неиспользуемые расширения и учётные записи удалены.
  3. Пароли сложные и уникальные, двухфакторная защита включена.
  4. Сайт работает по защищённому протоколу, сертификат продлевается автоматически.
  5. Резервные копии создаются по расписанию и хранятся отдельно, восстановление проверено.
  6. Формы защищены от спама, ограничено число попыток входа.
  7. Настроен мониторинг доступности и изменений файлов.
  8. Права на файлы и каталоги заданы по принципу минимальной необходимости.
  9. Есть план действий на случай взлома и ответственный за него.

Вывод

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

Нужна помощь специалистов?

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

← Хостинг и домен: как не ошибиться с выборомИнтеграция сайта с CRM: зачем и как →

Похожие статьи