• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

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

Горбушка

Ищу её...
Регистрация
2 Май 2008
Сообщения
3.444
Реакции
2.524
Всем доброго времени суток.

И так, я уже много лет занимаюсь популярной 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. Они создают отчёты по изменённым файлам, показывая изменённые строки и что именно было изменено. Весьма удобно.

Благодарю за внимание. На Ваши вопросы с удовольствием отвечу в комментариях.
 
Последнее редактирование:
Посерьезнее и с расчетом что читать могут незнакомы с данной cms, термины "все мы знаем" нуместен.
Молодец, хоть ктото активно ведет публичные разборы полетов касаемо проблем в DLE)
Стоит в начале статьи упомянуть разработчика и лицензии нулл и оффициальные - в чем отличия, какие послествия)
 
Посерьезнее и с расчетом что читать могут незнакомы с данной cms, термины "все мы знаем" нуместен.
Молодец, хоть ктото активно ведет публичные разборы полетов касаемо проблем в DLE)
Стоит в начале статьи упомянуть разработчика и лицензии нулл и оффициальные - в чем отличия, какие послествия)
Именно по этой причине - выложил статью сначала сюда для корректировки и допиливания. Огромное спасибо за критику, будем исправлять.

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

Что касаемо разработчика, лицензии и их отличия - это не для этой статьи. И уж тем более не для хабра. Этот вопрос обязательно будет подробно разобран в отдельной статейке...
 
Горбуша молодец, для новичков хорошие статьи пишешь, уверен многие пользуются ими и им это помогает. Самое главное это всё равно не нужно надеяться на антивирус встроенный в дле. Прямые руки и только. Двиг хоть и лёгкий, но требует за собой ухода и внимания. Целка ещё много упустила в плане безопасности.

P.s. Горбуша хочеться увидеть следующую статься, может что то интересное и для себя узнаю. Молодец.
 
Заботится надо обо всём... Даже сайт на голом html требует внимания и заботы...
Это как с машиной - некоторые копейки и запорожцы до сих пор ездят, не говоря про победы.. А некоторые роусы фантом и т.д. уже на свалке, хотя им года 3...
 
Статья удалена с хабра ввиду того, что там обитают помешенные на ООП и яблоках. Статью даже не читали - просто ставили минус.

Ну а Вам статья передаётся без хайда ;)
 
А есть другие антивирусники?Которые к примеру удаляли-бы ненужные части из кода или залитые левые файлы?
Или мне стоит закатать губу потуже?
 
А есть другие антивирусники?Которые к примеру удаляли-бы ненужные части из кода или залитые левые файлы?
Или мне стоит закатать губу потуже?
Есть, но использовать их крайне опасно. Дело в том, что робот на сегодняшний день не может определить что есть вредоносный код, а что есть полезный. Компьютер может лишь показать изменения в коде, а решения принимать должен только человек. Даже антивирусы крупных брендом (ЕСЕТ, Каспер, Др.Веб) постоянно ошибаются и сносят части полезных программ.

Так что только руками.
 
как в антивирусе исключить папку? версия 11
Screenshot_6.png
 
Назад
Сверху