url image

Профилактика сайтов от вирусов и взлома

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

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

Базовая профилактика

Сюда стоит отнести такие общеизвестные меры, как:

  • Смена паролей. От админки сайта, FTP, баз данных, паролей администратора и служебных пользователей сервера, панелей управления сервером, вашей личной почты. Пароль от Личного кабинета хостинга необходимо менять каждые 90 дней, иначе система закроет вам доступ до смены пароля.О правильном подходе к генерации и проверке надёжности паролей можно прочитать в статье «Аудит паролей на сервере». Сюда же имеет смысл отнести проверку сторонних пользователей и SSH-ключей на сервере. Просто на всякий случай.
  • Настройка резервного копирования. Если вы столкнулись с заражением, а бэкапа под рукой не оказалось — теперь вы знаете, почему это важно. Чтобы автоматизировать настройку и мониторинг создания резервных копий, подключите автоматическое «Резервное копирование».
  • Настройка регулярного сканирования сайтов на вирусы. Это позволит решать проблемы заражения быстрее, чем они нанесут ущерб вам или вашим клиентам. Например, ImunifyAV (в платной версии), ClamAV и Linux Malware Detect умеют отправлять отчёты на почту. 
  • Настройка антивируса на вашем рабочем месте. Здорово, когда в вопросах безопасности сайта и сервера комар носа не подточит. Но перехватить пароли с вашего рабочего ПК всё ещё возможно.

Прочитать дополнительные рекомендации можно в нашей отдельной инструкции «Как бороться с уязвимостями».

Повышение безопасности сайта

Сюда стоит отнести более сложные операции по защите сайта. 

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

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

Отдельно стоит защитить пользователей сайта (включая администратора). Каждая система управления контентом имеет свои рекомендации по повышению уровня безопасности:

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

  • opennet.ru — обычно на этом ресурсе новости об обновлениях и крупных уязвимостях появляются оперативнее всего. Есть Telegram-канал.
  • xakep.ru (канал в Telegram) и securitylab.ru (канал в Telegram) — цифровые издания новостей в сфере IT. Тоже достаточно оперативно и подробно освещают обновления и недавно анонсированные уязвимости.
  • Telegram-канал «Утечки информации» — регулярно публикует новости об утечках данных. Никому не пожелаем попасть в их ленту, но поучиться на чужих ошибках очень полезно.

Дополнительно изучите плагины для вашей CMS. Вопрос безопасности стоит очень давно — и есть много решений, которые позволят повысить защиту сайта изнутри.

Из продвинутых мер:

Размещайте отдельные сайты под отдельными пользователями на сервере. В таком случае при заражении одного сайта (либо сайтов одного пользователя) сайты остальных пользователей не пострадают. Очень удобно такой механизм реализован в ISPmanager.

Будьте внимательны при настройке прав доступа к файлам и папкам сайта. Особую опасность представляют папки с правами 777, в которые при определённых условиях можно залить и запустить вредоносный файл. Тем не менее, иногда приходится их использовать — например, если вам нужно расшарить файлы или изображения для пользователей сайта. Чтобы защитить такие директории, отключите в них обработку или ограничьте доступ к исполняемым файлам: в Apache это можно сделать с помощью директив RemoveHandler или SetHandler через .htaccess или конфигурационный файл, в nginx — через конфигурационный файл ограничить доступ к файлам в зависимости от их расширения.  

Отключите неиспользуемые функции PHP в конфигурационном файле php.ini
Будьте осторожны при настройке — важно точно знать, какие функции на сайте  не задействованы. Отключение используемой функции приведёт к сбою работы сайта, который будет достаточно сложно обнаружить.

Для отключения добавьте их в опцию disable_functions, например: 

disable_functions = exec, passthru, shell_exec, system, proc_open, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source

Избегайте использования функции PHP mail(). Она часто используется для отправки спама с сайтов после заражения, что быстро приводит к блокировке почтового трафика. В качестве альтернативы используйте отправку почты через SMTP. Либо, если вы не отправляете с сайта письма, отключите её вообще, добавив в список выше.

Используйте капчу для форм обратной связи на сайтах. Это защитит вас от лишнего спама.

Повышение безопасности веб-сервера

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

Повышение безопасности сервера баз данных

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

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

Повышение безопасности сервера

Список мер содержит, но не ограничивается следующими действиями:

  • Защита SSH (смена порта, настройка доступа по ключу, отключение root-пользователя, отключение доступа к shell для служебных пользователей и др.).
  • Настройка фаервола (закрытие неиспользуемых портов, ограничение доступа к серверу и его отдельным службам по IP-адресу)
  • Защита от брутфорса (блокировка подозрительных запросов авторизации на сервер)
  • Настройка мониторинга (отслеживание ресурсов сервера, изменения файлов, мониторинг пользователей и др.)

Подробнее в инструкциях:

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!