Заблуждения про безопасность сайтов и советы по усилению защиты
Невежественность в области информационной безопасности — обычное дело. Среди владельцев и администраторов сайтов лишь небольшой процент знаком с основными принципами безопасности и защиты, подавляющее же большинство «не ведают, что творят».
Ежедневно в "Ревизиум" мы получаем запросы на лечение и защиту сайта в том числе и от неопытных владельцев и администраторов, которым приходится объяснять, каким образом защищать сайты, что и как делать, а порой переубеждать в том, что их текущая политика безопасности сайта не работает. Ниже в статье мы собрали типичные заблуждения владельцев сайтов и правильное решение проблем.
Вариант 1: Мы удалили вирус с сайта, Яндекс (Гугл, Касперский) перестал «ругаться», нам бы теперь только защиту поставить и все. Вариант 2: Яндекс (Гугл, Касперский) показывал сайт «вредоносным» в поисковой выдаче, а сейчас все в порядке. Значит, сайт не нужно лечить.
Авторы данных утверждений полагают, что если антивирус поисковой системы, или другой механизм определения вирусов перестал считать сайт вредоносным, то сайт действительно «чистый», и проблема волшебным образом сама собой разрешилась.
Увы, в подавляющем большинстве случаев это не так. Если на сайте появляются вирусы, они являются следствием взлома сайта, эккаунта хостинга или кражи/перехвата ftp доступов. Следом за взломом сайта следует загрузка хакерских скриптов (шеллов, бэкдоров), с помощью которых хакер осуществляет контроль над сайтом (вставляет вредоносный код в шаблоны, скрипты или базу данных). Если вирус перестал детектироваться антивирусом, это означает, что в настоящий момент антивирус не нашел вредоносный код на страницах сайта, но это не означает, что вместе с вредоносным кодом вируса исчезли хакерские скрипты. Сайт по-прежнему остается взломанным и в любой момент вирус снова может появиться на страницах сайта.
Часто вредоносный код размещается на сайте в автоматическом режиме по расписанию или на определенное время. Поэтому могут появляться «мигающие» порно-ссылки, исчезающий вирусный код или мобильный редирект, а поисковые системы (Яндекс, Гугл) то добавляют, то удаляют сайт из списка вредоносных. Поэтому, если сайт был с клеймом «сайт может угрожать безопасности вашего компьютера или мобильного устройства», а затем без лечения снова стал «чистым», это верный признак взлома сайта и автоматического размещения вредоносного кода. Сайт нужно лечить и защищать. Если лечение сайта выполняется не специалистом, то велика вероятность только частичной очистки хакерских «закладок» и скриптов (бэкдоров, шеллов), и, как следствие, хакер снова сможет получить контроль над сайтом и внедрять в него вредоносный код.
Правильное решение — просканировать сайт на наличие вредоносных скриптов и вирусов, удалить все хакерские скрипты, бэкдоры, шеллы с сайта, вирусы javascript и мобильные редиректы, обновить cms, закрыть уязвимости и установить защиту от взлома. Только после этого можно с уверенностью считать сайт «чистым» и защищенным.
---
Вариант 1: Я проверил архив сайта антивирусом Касперского, Dr. Web, но они не нашли вирусов на сайте. Значит хакерских шеллов на сайте нет. Вариант 2: При копировании сайта на компьютер Касперский удалил несколько файлов с вирусом. Значит сайт у меня сейчас чистый.
Существует несколько типов вредоносного кода:
троянские программы, вирусы, руткиты
хакерские шеллы, бэкдоры
дорвеи
спам-рассыльщики и пр.
Разработчики антивирусного ПО (Касперский, Dr. Web, Avast, McAfee и пр) уделяют основное внимание вредоносному коду на PC и серверным решениям, а хакерские шеллы, дорвеи и вирусы в скриптах сайта попадают в антивирусную базу достаточно редко и только самые популярные. Поэтому лечение сайта с помощью PC антивирусов (Касперского, Dr. Web) не эффективно, в лучшем случае найдутся только старые шеллы, наподобие WSO, а бОльшая часть вредоносного кода все равно останется на сайте. Для сканирования вредоносного кода в скриптах сайта нужно использовать специализированное ПО:
У меня постоянно запущен антивирус, вирусов на компьютере быть не должно и пароли украсть не могли.
Часто заражение сайта происходит через FTP. Доступ от FTP ворует троянская программа, которая работает на компьютере администратора сайта. Троян может перехватывать подключение по FTP протоколу, либо сканировать известные FTP клиенты на наличие сохраненного эккаунта (хост, логин, пароль). Украденные пароли передаются в автоматическом режиме злоумышленнику или боту, который использует их для заражения сайта.
Если на компьютере постоянно работает антивирус с проактивной защитой и регулярно обновляемыми базами, вероятность заражения вирусами и троянскими программами ниже, чем без антивируса. Но нужно учитывать, что антивирус не защищает компьютер на 100% от вирусов, так как разработчики антивируса обычно на шаг позади вирусописателей. Сначала появляется вирус, затем он детектируется специалистами антивирусной лаборатории и только после анализа добавляется в базу антивируса. Может пройти достаточно много времени, прежде чем вирусная сигнатура появится в базе антивируса на компьютере. До этого момента компьютер остается уязвимым к данному вирусу и может им заразиться.
Кроме того, существуют решения обхода антивирусной защиты, различные шифровальщики и packer’ы, которыми обрабатываются троянские программы и вирусы, и которые позволяют оставаться невидимыми для антивирусного программного обеспечения.
Поэтому для безопасной работы на компьютере необходимо:
устанавливать антивирусное программное обеспечение с регулярно-обновляемыми базами вирусных сигнатур и проактивной защитой
регулярно обновлять базы антивируса
раз в две недели или раз в месяц выполнять полное сканирование компьютера. За это время компьютер может успеть заразиться неизвестным трояном или вирусом, который не будет детектироваться проактивной защитой, но после очередного обновления антивирусной базы данных может быть найдет.
раз в месяц выполнять полную проверку всех рабочих компьютеров альтернативным антивирусом (например, если установлен Касперский, просканировать Dr. WebCureIt!) и наоборот.
Для безопасной работы с сайтом по FTP:
раз в неделю (или месяц) меняйте пароли от FTP
не сохраняйте пароли в FTP клиенте или браузере (да, это неудобно, но безопасность не бывает удобной!)
используйте протокол SFTP вместо FTP. Для этого хостинг должен поддерживать SSH подключение
блокируйте на хостинге FTP, когда он вам не нужен
Часто работа с сайтом ведется несколькими специалистами одновременно: программистом, администратором, seo. Если хотя бы у одного из этих специалистов на компьютере есть троян с вирусом, то сайт в опасности. Поэтому рекомендуем выдавать каждому пользователю отдельный FTPэккаунт, регулярно менять пароли и блокировать эккаунт по окончании работы.
--- Я почистил сайт от вредоносного кода, теперь сайт не заразится.
Основной способ взлома сайтов и источник появления вредоносного кода — это уязвимости в скриптах. Если на сайте появился вредоносный код и вирусы, значит сайт был взломан, на него загрузили бэкдоры или хакерские шеллы, после чего в автоматическом (реже в ручном) режиме злоумышленники разместили вирусный код. Если удалить вирусы и хакерские скрипты, но не закрыть уязвимости, через которые сайт был взломан, и не установить защиту, сайт тем же путем будет взломан повторно. Самый простой способ закрытия уязвимостей — установка обновлений CMS и патчей. Поэтому рекомендуем регулярно обновлять скрипты или CMS вашего сайта, чтобы снизить вероятность взлома. Способ для опытных пользователей — установить защиту на сайте средствами операционной системы (изменить настройки php, установить безопасные права на файлы и папки, настроить доступ к каталогам и скриптам в .htaccess файлах). Данные меры значительно затруднят, а в некоторых случаях сделают невозможной эксплуатацию уязвимостей. То есть сайт будет защищен от взлома.
---
Вариант 1: На админ-панель стоит сложный и длинный пароль, значит сайт в безопасности. Вариант 2: У меня установлен «супер-пупер-плагин-безопасности», значит админ-панель защищена.
Если на админ-панель установлен сложный и длинный пароль, это очень хорошо и защищает сайт от атаки с помощью подбора паролей (брутфорс). Также хорошо, если на сайте установлены дополнительные плагины безопасности, которые изменяют стандартный процесс авторизации и отслеживают активности в панели администратора. Но для того, чтобы попасть в панель админа, совсем не обязательно знать пароль администратора. Часто хакеры добавляют нового администратора напрямую в базу данных, используя уязвимости в скриптах (SQL иньекции), в результате чего получают полный контроль над сайтом. Поэтому мы рекомендуем регулярно обновлять CMS для устранения подобных уязвимостей и обязательно защищать админ-панель сайта средствами веб-сервера. Смотрите статью «как защитить панель администратора от взлома» (http://www.revisium.com/kb/secure_adminpanel.html)
---
Вариант 1: Я сделал все файлы скриптов и шаблонов, а также часть каталогов доступными «только для чтения». Теперь хакеры не смогут ничего изменить. Вариант 2: Я поставил на файл .htaccess атрибут «только для чтения» и сменил у файла владельца на root. Теперь хакеры не смогут добавить вредоносный редирект в .htaccess.
Увы, это не так. Во-первых, хакеры могут изменить атрибуты файлов и каталогов, разрешив в них запись с помощью команд php (например, chmod) или вызвав команды операционной системы (system(‘chmod ..’), или аналогичные через exec, passthru, popen,...). Во-вторых, если в директорию (например, public_html) разрешена запись, можно прочитать файл, удалить его и создать новый с нужным содержимым. Поэтому, кроме изменения атрибутов на файлы и папки, нужно запрещать системные вызовы и chmod. Следует учитывать, что для некоторых плагинов и CMS данные функции должны быть доступны, поэтому отключение приведет к ошибкам в работе сайта.
Обращаем внимание, что все материалы в этом блоге представляют личное мнение их авторов. Редакция SecurityLab.ru не несет ответственности за точность, полноту и достоверность опубликованных данных. Вся информация предоставлена «как есть» и может не соответствовать официальной позиции компании.