Защита сайта от взлома и вирусов

neformat / Окт.20.2015. / Нет комментариев

vzlom2

Вредоносное ПО: вирусы

Вирус – это любой вредоносный код, который размещается на страницах сайта. Технически правильно будет назвать вирус вставкой в html код на странице сайта. Это может быть script, iframe, embed или object вставка. В результате этой вставки посетитель либо сразу, либо по некой цепочке переадресаций получает себе вредоносный код, который и заражает рабочий компьютер.

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

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

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

Варианты взлома сайта

Существуют следующие наиболее распространённые варианты взлома сайтов:

  1. Воровство пароля от FTP. Это наиболее популярный способ, когда у пользователя (администратора сайта или владельца), подключающегося к сайту, перехватывают FTP пароль. Либо его воруют, либо его подбирают. Затем, используется это же FTP подключение и происходит заражение файлов на хостинге. Пароль можно перехватить с помощью трояна, который работает на компьютере. Может быть перехват с помощью кейлоггера – это специальное вредоносное приложение. После того, как у злоумышленника появился доступ, заражение компьютера происходит в автоматическом режиме. Выполняется поиск определённых файлов и в них внедряются статические фрагменты, которые приводят к тому, что у посетителей сайта загружается вредоносный код.
  2. Подбор пароля от панели администратора (брудфорс). Операция достаточно быстрая. Случаи использования слабых паролей, которые содержат только буквы, или только цифры, или типичные словарные слова достаточно распространены. Подбор пароля от админ-панели занимает несколько секунд. Лучше всего использовать менеджеры паролей, которые генерируют сложные последовательности. Такой пароль не будет удобным, но он безопасен. Длина пароля обязательно должна быть не менее восьми символов.
  3. Взлом через уязвимости сайта. Используются различные уязвимости в компонентах. Для Джумла и Вордпресс это стандартный вариант, когда взламывают сайт через открытые компоненты. Исходный код известен, можно его проанализировать, найти какие-то слабые места, дыры и через них выполнить проникновение на сайт (sql инъекция, удалённый вызов кода, локальное подключение файла, удалённое подключение файла, xss атака и так далее).
  4. Взлом через хостинг. Это наиболее редкий, не типичный способ. Хостинг не заинтересован во взломе сайта и старается поддерживать безопасность на высоком уровне. Но тем не менее проблемы случаются. Взламывают панели управления, через уязвимости в этих панелях. Получают контроль над целым сервером, либо над конкретным сайтом. Взламывают через уязвимости в сервисах на сервере. Это может быть, например, уязвимость в сервисе SSH. Также возможен взлом через соседей по хостингу. Это очень популярно для виртуальных хостингов с безграмотной системой администрирования, когда соседние сайты могут видеть файлы друг у друга. Взломав один сайт на хостинге на определённом сервере, можно получить конфигурационные данные с других сайтов (логины, пароли для подключения к базе данных, пароли от админок). То есть всё это делается с соседнего сайта, путём обычного чтения файла.

Как защитить сайт от взлома: основные элементы

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

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

Существуют классические правила, которые являются основными элементами защиты:

  • Обновлять CMS. Это действие постоянно игнорируют администраторы сайтов. Иногда просто лень. А, чаще всего, потому что на сайте есть написанные собственноручно модули. Шаблоны уже настолько изменены, что могут быть не совместимы с новыми версиями CMS. В этом случае обновить не получается и обновление будет равноценно полному созданию сайта с нуля.
  • Все файлы и каталоги должны быть только для чтения.
  • Запретить выполнение скриптов в каталогах загрузки.
  • Заблокировать доступ к административной панели для всех, кроме определённого круга лиц.
  • Отключить на хостинге системные функции.
  • Должна быть дополнительная авторизация на панели администратора. Она может быть сделана средствами веб-сервера или какими-то дополнительными модулями.
  • Замена ftp на sftp. Это отдельный безопасный протокол, который использует транспортный уровень SSH (безопасное подключение к серверу). Почти на всех современных хостингах он есть.
  • Безопасное размещение сайтов на хостинге. Важно размещать сайты как можно более изолированно. Один сайт на одном аккаунте хостинга.
  • Постоянно сканировать рабочий компьютер антивирусом.

 



Оставить комментарий

Войти с помощью: 


<------------->