0 Пользователей и 1 Гость просматривают эту тему.
  • 72 Ответов
  • 5598 Просмотров
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Антивирус для Joomla
« : 30.09.2015, 11:36:10 »
Решил подключить коллективный разум к идее создания антивируса для Joomla. Точнее это не антивирус в привычном для нас виде, да и идею я почерпнул из DLE.

Взлом сайта обычно влечет изменение файловой структуры - внедряется вредоносный код в файлы, добавляются новые и т.д. Абсолютно безопасных и надежных систем не существует и взлом - лишь вопрос времени. Часто действия хакера или специальных программ длительное время остаются незамеченными. Тревогу, как правило, поднимает хостер или поисковые системы, информируя о вредоносном коде или превышении максимально допустимой нагрузки на сервер. После этого начинается паника, администратор лихорадочно ищет взломанные файлы и вычищает внедренный код. Да еще и знать нужно, где его искать, исследуются тонны логов. Новички и пионеры, как правило, вычищают результат работы, а сами шеллы или бэкдоры остаются неопознанными.

Моя идея заключается в написании компонента, способного предупредить администратора сайта о взломе, который выявляется сканированием файловой структуры сайта. При выявлении изменения размера файла или даты его последнего изменения администратор незамедлительно информируется. Таким образом можно в режиме реального времени вести мониторинг целостности сайта. Мониторинг может быть осуществлен двумя способами - путем задания периодов запуска сканера через Cron или путем загрузки в память самоперезапускаемого демона (я здесь выкладывал свой код такого демона, который запускал сам себя через сокеты).

Однако встал вопрос сохранения результатов сканирования файловой системы. Эти результаты могут быть как изначально заложенными (при сканировании чистой Joomla), так и созданной отлаженной системы (первое сканирование - создание эталонных записей в базе данных). После чего повторное сканирование - это сверка с эталоном. Однако, как показывает практика, получить доступ к файловой системе - не такая уж проблема для грамотного взломщика, особенно учитывая откровенное разгильдяйство хостеров. Следовательно, имея доступ к файлам и базе, хакер легко может не только внедрить код, но и подменить данные в базе таким образом, что бы сканер не выявил расхождений. Я решил применить один из популярных методов симметричного шифрования записей, к примеру XXTEA, RSA. DES и др. Ключом к шифру хочу сделать пароль пользователя, на мой взгляд это самое простое решение. Например, шифрование делается по хешу, записанному в базе, а дешифруется после ввода пароля пользователем.

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

Вопрос: какие вы можете предложить методы защиты эталонного списка в базе данных, обеспечивающие пусть не полную, но высокую сохранность? Какие дадите советы по реализации данного компонента?
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

fbr

  • Живу я здесь
  • 1283
  • 142
Re: Антивирус для Joomla
« Ответ #1 : 30.09.2015, 12:55:58 »
Цитировать
Моя идея заключается в написании компонента
В принципе, нечто похожее уже есть
https://www.akeebabackup.com/products/admin-tools.html
*

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
Re: Антивирус для Joomla
« Ответ #2 : 30.09.2015, 14:07:13 »
Идея правильная, хотя древняя как мир.
Насчет правильной реализации - ИМХО должен быть сервис, на котором хранятся хэши файлов и туда же можно и нужно скидывать информацию об изменениях файлов.
В самом сервисе также можно проверять целостность файлов путём сравнения с хэшами файлов других пользователей.
Это важно, так как нереально собрать базу хэшей на все расширения и все версии, а в случае большого количества пользователей база будет довольно большой.

ЗЫ. Крон есть не везде и здесь опять сторонний сервис может помочь, принудительно вызываю проверку.
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #3 : 30.09.2015, 15:09:17 »
В принципе, нечто похожее уже есть

Цитировать
Watch. Sniff. Catch.

Admin Tools' PHP File Change Scanner will monitor your site's PHP files for changes. If something is amiss, it will let you know. It will even tell you which files might have been hacked.

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

...должен быть сервис, на котором хранятся хэши файлов и туда же можно и нужно скидывать информацию об изменениях файлов.
Зачем? Ведь достаточно просто залить файлы на сервер (или на WAMP/LAMP) и сделать сканирование. Получим свой набор хешей, индивидуальный. Все, что потом остается - следить за изменениями. Ведь, как правило, эти изменения происходят в базе и папке images, media и cache. Их можно исключить или сделать для них какую то особую проверку, не знаю. И, поскольку компонент планируется бесплатный, никаких хранилищ хешей, все должно быть в самом компоненте и в его базе. Только сделать это нужно так, что бы подделать невозможно было.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

vipiusss

  • Профи
  • 5592
  • 322
  • Круглая ава-зло!
Re: Антивирус для Joomla
« Ответ #4 : 30.09.2015, 15:52:25 »
ого сколько букв.
мы уже прошли в личке
вот бы мне твой спектальк(я про написание)
**
да не будет такого, новое всегда!всех ломали и будут!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

wishlight

  • Профи
  • 3632
  • 223
  • skype aqaus.com
Re: Антивирус для Joomla
« Ответ #5 : 30.09.2015, 16:00:45 »
Уже есть уйма таких расширений. Вот если бы дополнить их сканированием по сигнатурам от ревизиума, то было бы вообще супер.
*

vipiusss

  • Профи
  • 5592
  • 322
  • Круглая ава-зло!
Re: Антивирус для Joomla
« Ответ #6 : 30.09.2015, 16:03:00 »
Уже есть уйма таких расширений. Вот если бы дополнить их сканированием по сигнатурам от ревизиума, то было бы вообще супер.
даже разработчики не готовы.
они сами кодят и не думают о защите.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
Re: Антивирус для Joomla
« Ответ #7 : 30.09.2015, 17:05:23 »
Зачем? Ведь достаточно просто залить файлы на сервер (или на WAMP/LAMP) и сделать сканирование. Получим свой набор хешей, индивидуальный. Все, что потом остается - следить за изменениями. Ведь, как правило, эти изменения происходят в базе и папке images, media и cache. Их можно исключить или сделать для них какую то особую проверку, не знаю. И, поскольку компонент планируется бесплатный, никаких хранилищ хешей, все должно быть в самом компоненте и в его базе. Только сделать это нужно так, что бы подделать невозможно было.
Движок и расширения могут обновляться и в идеале компонент должен сделать хэшии сверить с сервисом названия файлов и хэши, учитывая версию движка и компонента. Эта база будет большой и полной.
А смысл в простой проверке что ничего не поменялось? Она актуальна только для 2.5.28, живые проекты обновляются постоянно.
Да и может быть, что сайт уже заражен на момент первой проверки + это дополнительная защита от умных взломщиков в будущем.
*

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
Re: Антивирус для Joomla
« Ответ #8 : 30.09.2015, 17:06:29 »
Уже есть уйма таких расширений. Вот если бы дополнить их сканированием по сигнатурам от ревизиума, то было бы вообще супер.
Сигнатуры - это тоже не лучший вариант, очень долго, много фальшивых срабатывания итп - в общем сложноавтоматизируемый вариант.
*

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
Re: Антивирус для Joomla
« Ответ #9 : 30.09.2015, 17:08:19 »
И, поскольку компонент планируется бесплатный, никаких хранилищ хешей, все должно быть в самом компоненте и в его базе.
Лучше пожертвовать бесплатностью ради функционала.
Сделать абонентку руб 10 в месяц (по началу - бесплатно) чтоб окупать сервер
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #10 : 30.09.2015, 17:12:06 »
Лучше пожертвовать бесплатностью ради функционала.
Сделать абонентку руб 10 в месяц (по началу - бесплатно) чтоб окупать сервер
Ну тогда это должен быть хороший сервис, способный конкурировать с AdminTools и его аналогами. Тут меня одного не хватит... И, опять же, если взломают сервис... Тут еще нужен грамотный админ, который не за бесплатно будет работать... Вообщем, вопрос пока открыт.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #11 : 30.09.2015, 23:26:42 »
Проверил компонент AdminTools Pro от AkeebaBackup. То, о чем я говорил, реализовано весьма просто и никакой гарантии безопасности не дает. В базе данных создается таблица #__admintools_filescache, в которой всего четыре информативных поля - путь у файлу, дата, размер и хеш. Все. Зная алгоритм формирования хеша я легко могу его подделать. Как правило, если взломщик получает доступ к файловой системе, он получает полный контроль над всем сайтом, включая базу данных. Однако компонент AdminTools свою задачу в плане контроля за файловой системой выполнить не может.

Еще один популярный компонент защиты - RSFirewall. Ситуация еще хуже - в таблице #__rsfirewall_hashes содержится только путь и хеш. Следовательно, и он не дает гарантии безопасности.

Кроме того, исходный код обоих довольно старый, видимо эти компоненты каждый раз дописывали под новый релиз Joomla. В связи с вышеизложенным могу сказать одно - оба эти компонента бесполезны и уведомляют о взломе только если на сайт проникла система автоматического взлома или хакер-пионер. Грамотный же хакер легко подделает хеши и оба этих инструмента не обнаружат залитый на сайт шелл.
« Последнее редактирование: 30.09.2015, 23:47:15 от SeBun »
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

KKAAZZOO

  • Практически профи
  • 2148
  • 102
Re: Антивирус для Joomla
« Ответ #12 : 30.09.2015, 23:39:59 »
Честно говоря я думал что проект умер, однако же нет http://santivi.com/. В свое время проверял из любопытства, вроде с Joomla работает нормально
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #13 : 30.09.2015, 23:57:06 »
Честно говоря я думал что проект умер, однако же нет http://santivi.com/.
Посмотрел поверхностно. Проект интересный, есть еще у кого опыт работы с ним, отзывы? В исходниках сейчас копаться не буду, но если результаты сканирования хранятся у них на серверах, то проект заслуживает внимания.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

Очередной вебмастер

  • Завсегдатай
  • 784
  • 55
  • лысый умный дядя
Re: Антивирус для Joomla
« Ответ #14 : 01.10.2015, 00:25:08 »
Вроде были уже попытки...
Из компонентов - от Виктора
Из сервисов - https://watchful.li/ вроде имел такую функцию частично...
--------
Блог о Joomla
----------
---------
Помог ответ - жми плюс!
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #16 : 01.10.2015, 09:10:01 »
Из компонентов - от Виктора
Цитировать
Checksummen-Algorithmen: MD5 und SHA1 (Hashwerte)
Здесь тот же принцип, о котором я писал выше.

Допустим, я получил доступ к сайту. Далее я могу посмотреть, какие расширения установлены. Если оказывается, что стоит сканер, я не просто залью шелл, но и запишу в базу новый хеш измененного файла. И повторное сканирование никаких проблем не выявит. Тем более, что во всех перечисленных здесь компонентах используется один и тот же известный механизм необратимого хеширования MD5 или SHA1. Таким образом, эти компоненты становятся абсолютно бесполезными и даже вводят администраторов, которые на них наедятся, в заблуждение, создавая иллюзию абсолютной безопасности и контроля.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
Re: Антивирус для Joomla
« Ответ #17 : 01.10.2015, 12:55:29 »
<paranoya mode on>
С другой стороны, а что защитит код компонента?
<paranoya mode off/>
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #19 : 01.10.2015, 14:12:28 »
С другой стороны, а что защитит код компонента?
Вот как раз этот вопрос я и пытаюсь решить на фоне последних взломов. Пусть не защитить, это невозможно, но хотя бы оперативно выявить проблему. А что бы это сделать, нужно добиться невозможности подделки хешей, а вот как это реализовать, пока не пойму. Все, что я придумаваю, все ломается...

P.S.  flyingspook, можно не отмечать свое присутствие? Я и так вижу, кто онлайн... )
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

Sergey2

  • Завсегдатай
  • 655
  • 14
Re: Антивирус для Joomla
« Ответ #20 : 01.10.2015, 14:39:27 »
А может посмотреть в сторону открытых и закрытых ключей? Закрытым ключем создаем эталон и удаляем. А потом открытым ключем сравниваем
*

flyingspook

  • Профи
  • 3619
  • 236
Re: Антивирус для Joomla
« Ответ #21 : 01.10.2015, 14:46:58 »
Мне нравятся избитые темы вот и наблюдаю, зачем изобретать колесо когда оно есть и ни чего с ним не сделать больше.

Спойлер
[свернуть]


Тема избита до нельзя.
<paranoya mode on>
С другой стороны, а что защитит код компонента?
<paranoya mode off/>
верно подмечено

нужно добиться невозможности подделки хешей
Это не реально храня их в бд или корне самого сайта, для этого надо или не париться как Вы или делать хранение на стороннем ресурсе. Если Вам это мешает или есть мысли о подмене.

Зачем покупать авто если его могут разбить или угнать, зачем строить дом если он может сгореть или др. с ним случится?

Вы полностью впали в параною, прежде чем кто то что то изменит сайт уже сообщит об этом владельцу или админу в письме или сообщении, и пусть меняют если найдут что менять, какие проблемы. (собака во дворе лает, её убили, а хозяин то в курсе что кто то залез)

"звоночек" о взломе и само выявление это разные вещи их нельзя объединять, вам "звоночек" сообщил что мол туда та туда то что то..., вы с реагировали посмотрели и проверили, тогда и мысли у Вас правильно начнут работать и "подделка" будет не подделка, и то что придумали покажется верным
« Последнее редактирование: 01.10.2015, 14:55:23 от flyingspook »
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #22 : 01.10.2015, 15:37:23 »
А может посмотреть в сторону открытых и закрытых ключей? Закрытым ключем создаем эталон и удаляем. А потом открытым ключем сравниваем
Где вы будете хранить ключи? Если на сайте, то забудьте...

"звоночек" о взломе и само выявление это разные вещи их нельзя объединять, вам "звоночек" сообщил что мол туда та туда то что то...
flyingspook, боюсь, вы не внимательно читали мои предыдущие посты. Спорить не буду, пусть кто то это и называет паранойей. Я останусь при своем мнении.

P.S. У вас есть дом, зачем вы ставите в доме сейф? Знаете, что воры залезут?
« Последнее редактирование: 01.10.2015, 16:02:10 от SeBun »
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

flyingspook

  • Профи
  • 3619
  • 236
Re: Антивирус для Joomla
« Ответ #23 : 01.10.2015, 17:17:29 »
Интернет общедоступный в нем нету ни сейфов ни замков.
Удачи в вашем начинании и желаю довести до конца. Боюсь будет как всегда, все просто потеряете время, поймете и забросите эту мысль.

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

Sergey2

  • Завсегдатай
  • 655
  • 14
Re: Антивирус для Joomla
« Ответ #24 : 01.10.2015, 18:21:04 »
Где вы будете хранить ключи? Если на сайте, то забудьте...
Открытый на сайте, закрытый можно хоть с клавы вводить в момент создание хешей/ЦП. Открытым ключем можно только проверить подлинность данных. Сгенерировать ЦП/хэш - только закрытым. Например RSA тот же.
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #25 : 01.10.2015, 18:57:17 »
Открытый на сайте, закрытый можно хоть с клавы вводить в момент создание хешей/ЦП. Открытым ключем можно только проверить подлинность данных. Сгенерировать ЦП/хэш - только закрытым. Например RSA тот же.
Есть публичный ключ и приватный. И это все ерунда. Почитайте тут.

Сегодня опять взломали. Опять внедрили код в index.php, изменив его права с 444. Получается, хакер работает с привилегиями владельца.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

Sergey2

  • Завсегдатай
  • 655
  • 14
Re: Антивирус для Joomla
« Ответ #26 : 01.10.2015, 19:00:57 »
Есть публичный ключ и приватный. И это все ерунда. Почитайте тут.
Публичный/приватный открытый/закрытый. Суть не меняется. А насчет статьи - так в чем проблема самому их сгенерить?
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #27 : 01.10.2015, 19:18:28 »
Публичный/приватный открытый/закрытый. Суть не меняется. А насчет статьи - так в чем проблема самому их сгенерить?
Суть не в том, что сгенерить, а в том, где хранить.

Даже если речь не о шифровании, а о банальном хеше, то в Joomla используется хеш+соль. И хеш и соль доступны хакеру. Проблема лишь в том, что для генерации хеша используется необратимое шифрование, а на брут хеша уходит много времени. Однако, никто и не ставит целью взломать пароль, его просто заменяют на свой. Так и в случае со сканером, о котором речь. Нет смысла шифровать, если пароль лежит рядом с зашифрованным файлом. И даже если он хранится где то в другом месте, это решение не является панацеей - его все равно можно получить.

Выше я ответил flyingspook, по аналогии с сейфом дома. Но и сейф - не панацея, так как его можно взорвать, подобрать код или вскрыть другим способом, коих довольно много.

flyingspook, буквально недавно обсуждал с vipiusss одно решение, которое пришло на ум. Это приложение, написанное для операционной системы. Суть в том, что сам сайт находится на локальном LAMP/WAMP, приложение лишь синхронизирует этот сайт с сайтом, расположенным на хостинге, при этом затирая старые файлы. Либо это приложение проверяет целостность файлов на сервере и выполняет автоматическую замену на оригинал в случае изменения хеша. Решение то в принципе есть. Так что я не на пустом месте диалог веду.

Да, я понимаю - будут некоторые сложности. Но и взломать такой сайт становиться практически нереально - слишком дорого такой взлом обойдется (с получением доступа к операционной системе и обслуживающей программе). Но я надеялся найти серверное решение, только возможно ли это вообще?...

Кроме того, описанные выше сервисы примерно по такому же принципу работают, а значит более эффективны, чем компоненты.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
Re: Антивирус для Joomla
« Ответ #28 : 01.10.2015, 19:21:11 »
Приложение на локальном - бред сивой кобылы! Забыть как страшный сон.
Если уж есть мысль заняться серьезно - то написать дополнение к php, типа mod_securejoomla
*

SeBun

  • Практически профи
  • 3140
  • 192
  • @SeBun48
Re: Антивирус для Joomla
« Ответ #29 : 01.10.2015, 19:23:46 »
Приложение на локальном - бред сивой кобылы! Забыть как страшный сон.
А почему, можно аргумент?

Если уж есть мысль заняться серьезно - то написать дополнение к php, типа mod_securejoomla
Многие хостеры поставят у себя это дополнение? Мне даже php.ini не дали... Да и не спец я в серверных программах.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x

Автор ELLE

Ответов: 265
Просмотров: 40288
Последний ответ 19.09.2017, 05:28:30
от мираж
ZygoProfile. Плагин расширенного профиля Joomla 3.x с поддер

Автор sherza

Ответов: 314
Просмотров: 11881
Последний ответ 16.09.2017, 05:55:09
от denxio
JL Like - Социальные кнопки для Joomla (новый взгляд)

Автор zikkuratvk

Ответов: 606
Просмотров: 67798
Последний ответ 24.08.2017, 13:26:46
от vegiev
Компонент фото и видео альбома для Joomla 3.x

Автор xchesh

Ответов: 98
Просмотров: 22011
Последний ответ 11.08.2017, 16:15:07
от DragonFlyzz
Модуль обратного звонка для Joomla 3.0 mod_simplecallback (с SMS уведомлениями)

Автор bolonia

Ответов: 227
Просмотров: 18998
Последний ответ 10.08.2017, 02:20:21
от djwolf