Инфо Антивирус ДЛЕ - разбираем по косточкам

Тема в разделе "DLE", создана пользователем Горбушка, 10 сен 2013.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.237
    Всем доброго времени суток.

    И так, я уже много лет занимаюсь популярной CMS DataLife Engine и помогаю владельцам сайтов справляться с ней. Сегодня я решил поделиться с Вами знаниями об одной из функций DLE – антивирус.

    Наверное большинство из Вас, кто уже ставил DLE, видел кнопку Антивирус в админ-панели, но мало кто ей пользовался. А зря.
    Вот и сегодня ко мне обратился человек с просьбой помочь ему удалить очередную бяку из DLE. Поэтому напишу как правильно пользоваться антивирусом DLE.

    Первое, что надо знать: антивирус не даёт 100% защиты. В его работу так же могут вмешаться. Посему, если Вы не уверены в его подлинности — перезалейте файл с антивирусом. Он расположен в файле /engine/classes/antivirus.class.php.

    Второе — антивирус не панацея. Он не проверяет файлы кеша, js, tpl и т.д.

    Третье — антивирус не говорит что именно с файлом, а лишь указывает, что он был изменён.

    И так, как же пользоваться этим чудом? На самом деле очень легко. В панели администратора на главной странице нажимаете кнопку «антивирус» и наслаждаемся результатом. А вот что делать дальше? Я отвечу на самые популярные вопросы.

    Как устроен антивирус.
    Если нет слепка, антивирус просто проходится по списку файлов, не проверяя их хеш, размер или дату. Только название и путь.
    Если слепок есть - проверяется MD5 и дата изменения.

    Что означают цвета файлов?
    Только размер файлов.
    Зелёный — файлы меньше 50000 байт
    Синий — меньше 100000 байт
    Красный — больше.
    Вот кусок файла, отвечающий за цвета:
    PHP:
        if ($data['file_size'] < 50000$color "<font color=\"green\">";<br />
        elseif (
    $data['file_size'] < 100000$color "<font color=\"blue\">";<br />
        else 
    $color "<font color=\"red\">";
    Что такое «Сделать снимок»?
    Использовать DLE из коробки — не самая хорошая идея. Функционала не хватает — приходится править файлы. Снимок — это возможность сохранить изменения в файлах в специальный файл — /engine/data/snap.db. В него записываются все PHP-файлы и их хеши. При следующей проверки он будет использован для сравнения. Кроме того, snap.db содержит информацию о Ваших шаблонах, JS-файлах и т.д.

    Что такое «Провести тщательное сканирование»?
    В DLE есть список PHP-файлов, которые есть в коробке. Он прописан внутри самого antivirus.class.php. Если нажать эту кнопку — проверка будет проходить не по snap.db, а по этому списку.

    А если я не делал снимок — как проверяет?
    Так же, как при «тщательном сканировании»…

    Если нет снимка — он проверят размер файла?
    Нет, если нет снимка, DLE не проверяет ни размер, ни хеш… Только список файлов.

    Хорошо, я нашёл изменённые/новые файлы — что дальше?
    Проверять руками! Только руками!
    1) Открываем файл и смотрим что в нём.
    2) Вспоминаем, не относится ли он к каким-либо модулям.
    3) Сравниваем файл с файлом из дистрибутива DLE или модуля.
    4) Если файл не совпадает или отсутствует в дистрибутивах — удаляем или заменяем.

    Может ли антивирус найти вирус в JS или файлах шаблона?
    Нет, не может. Я уже писал, что антивирус проверяет только файлы PHP. Однако, если Вы сделали файл снимка — то да, он будет проверять и JS-файлы, и даже шаблоны.

    А может злоумышленник обойти этот антивирус?
    Естественно. И способов это сделать много. Во-первых, вредоносный код в JS-файлах не будет найден антивирусом, так же и в файлах шаблона. Но это не самое страшное, т.к. исправляется созданием снимка. Никто не мешает злоумышленнику внести изменения в файлы antivirus.class.php или snap.db — и всё, антивирус обезврежен.
    Однако по личному опыту, очень мало злоумышленников занимаются ковырянием антивируса именно по причине того, что им пользуется весьма мало веб-мастеров.

    Но всё же, как защитить себя на 100%?
    На 100% Вы себя защитите выдернув шнур из розетки или блока питания Вашего системного блока. Но вот повысить шансы можно.
    1) Настраиваем крон. Если не умеете — ждите следующую статью.
    2) Проверяйте руками.
    3) Перед проверкой, если не уверены, перезалейте файл antivirus.class.php
    4) Всегда делайте и храните у себя на флешке или ещё где-то файл snap.db — это Ваша безопасность
    5) Перед проверкой залейте файл snap.db из Вашей копии на сервер

    Если он не даёт защиту на 100%, зачем он нужен?
    Антивирус нужен для того, чтобы усложнить жизнь взломщику. Да, он не защитит от 100% взломов, но может помочь минимизировать последствия и ускорить восстановление заражённого сайта.

    Ещё говорят, что есть крон, который делает это автоматом.
    Есть, но это тема следующей статьи… Она уже готовиться.

    Что ещё можно посоветовать в плане защиты DLE?
    Встроенный антивирус, как я уже говорил, не даёт 100% защиты потому что его расположение известно и добавить хеш вируса в список не так сложно. Но есть и другие варианты.

    Пару лет назад в интернете появился т.н. Zeos Antivirus. К сожалению, этот проект был заброшен. Смысл его был такой: файл PHP антивируса заливается в произвольное место. Где именно он будет находиться будет знать только администратор. Файл слепка он хранит в картинке, которая лежит в папке uploads, так что найти его почти не реально. Увы, найти дистрибутив мне не удалось, возможно описание поможет Вам найти схожий скрипт.

    Есть ещё новое решение в сфере защиты. Система называется САНТИ, ознакомиться можно на сайте santivi.com. Система полностью бесплатна и позволяет реализовать защиту сайта удалённым методом. Опять же данную систему сложно обнаружить на сайте, что усложнит взлом.

    Немного о ПО

    Ну и немного о том, как же можно сверять изменённые файлы с дистрибутивом. Есть замечательные программы, такие как WinMarge, Beyond Compare 3 и т.д., позволяющие реализовывать что-то типа SVN. Они создают отчёты по изменённым файлам, показывая изменённые строки и что именно было изменено. Весьма удобно.

    Благодарю за внимание. На Ваши вопросы с удовольствием отвечу в комментариях.
     
    Последнее редактирование: 23 окт 2013
    CannabiS, noxxxxx, latteo и 10 другим нравится это.
  2. E-body

    E-body

    Регистр.:
    6 сен 2007
    Сообщения:
    986
    Симпатии:
    331
    Посерьезнее и с расчетом что читать могут незнакомы с данной cms, термины "все мы знаем" нуместен.
    Молодец, хоть ктото активно ведет публичные разборы полетов касаемо проблем в DLE)
    Стоит в начале статьи упомянуть разработчика и лицензии нулл и оффициальные - в чем отличия, какие послествия)
     
    Sorcus и Горбушка нравится это.
  3. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.237
    Именно по этой причине - выложил статью сначала сюда для корректировки и допиливания. Огромное спасибо за критику, будем исправлять.

    Что касаемо разбора полётов - скоро будет разбор полётов по безопасности, настройкам и т.д. - это будет интереснее. А пока - это первая серьёзная статья по ДЛЕ, до этого так - мелкие статейки по использованию того или иного...

    Что касаемо разработчика, лицензии и их отличия - это не для этой статьи. И уж тем более не для хабра. Этот вопрос обязательно будет подробно разобран в отдельной статейке...
     
    Sorcus, TecT и E-body нравится это.
  4. TecT

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    457
    Симпатии:
    44
    Горбуша молодец, для новичков хорошие статьи пишешь, уверен многие пользуются ими и им это помогает. Самое главное это всё равно не нужно надеяться на антивирус встроенный в дле. Прямые руки и только. Двиг хоть и лёгкий, но требует за собой ухода и внимания. Целка ещё много упустила в плане безопасности.

    P.s. Горбуша хочеться увидеть следующую статься, может что то интересное и для себя узнаю. Молодец.
     
    Sorcus и Горбушка нравится это.
  5. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.237
    Заботится надо обо всём... Даже сайт на голом html требует внимания и заботы...
    Это как с машиной - некоторые копейки и запорожцы до сих пор ездят, не говоря про победы.. А некоторые роусы фантом и т.д. уже на свалке, хотя им года 3...
     
    Sorcus и Forza.Baron нравится это.
  6. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.237
    Статья удалена с хабра ввиду того, что там обитают помешенные на ООП и яблоках. Статью даже не читали - просто ставили минус.

    Ну а Вам статья передаётся без хайда ;)
     
    Dali, Schemer и Sorcus нравится это.
  7. OTM

    OTM Создатель

    Регистр.:
    1 май 2012
    Сообщения:
    37
    Симпатии:
    16
    в прошлом месяце опубликовали ещё один авер, по умолчанию заточен под DLE:
    http://antishell.ru/
     
    GitoKorol и Горбушка нравится это.
  8. TePPaH

    TePPaH Создатель

    Регистр.:
    9 май 2012
    Сообщения:
    10
    Симпатии:
    0
    А есть другие антивирусники?Которые к примеру удаляли-бы ненужные части из кода или залитые левые файлы?
    Или мне стоит закатать губу потуже?
     
  9. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.209
    Симпатии:
    2.237
    Есть, но использовать их крайне опасно. Дело в том, что робот на сегодняшний день не может определить что есть вредоносный код, а что есть полезный. Компьютер может лишь показать изменения в коде, а решения принимать должен только человек. Даже антивирусы крупных брендом (ЕСЕТ, Каспер, Др.Веб) постоянно ошибаются и сносят части полезных программ.

    Так что только руками.
     
    stranger13 нравится это.
  10. ролман

    ролман Создатель

    Регистр.:
    7 июн 2014
    Сообщения:
    11
    Симпатии:
    11
    как в антивирусе исключить папку? версия 11
    Screenshot_6.png