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

SeBun

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

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

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

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

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

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

fbr

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

voland

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

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

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @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 | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

vipiusss

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

wishlight

  • Живу я здесь
  • 4980
  • 293 / 1
  • от 150 руб быстрый хостинг без блокировок
Re: Антивирус для Joomla
« Ответ #5 : 30.09.2015, 16:00:45 »
Уже есть уйма таких расширений. Вот если бы дополнить их сканированием по сигнатурам от ревизиума, то было бы вообще супер.
*

vipiusss

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

voland

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

voland

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

voland

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

SeBun

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

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @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 | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

KKAAZZOO

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

SeBun

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

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

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

SeBun

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

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

voland

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

SeBun

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

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

Sergey2

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

flyingspook

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

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


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

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

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

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

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

SeBun

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

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

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

flyingspook

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

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

Sergey2

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

SeBun

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

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

Sergey2

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

SeBun

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

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

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

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

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

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

voland

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

SeBun

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

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

А-ля корзина для материалов Joomla

Автор Efanych

Ответов: 151
Просмотров: 15374
Последний ответ 02.04.2024, 22:31:42
от barvik
WT Eternal admin - плагин &quot;вечный админ&quot; для Joomla

Автор sergeytolkachyov

Ответов: 0
Просмотров: 359
Последний ответ 21.12.2023, 09:25:25
от sergeytolkachyov
Бесплатная система фильтрации полей Joomla

Автор zikkuratvk

Ответов: 270
Просмотров: 26309
Последний ответ 10.11.2023, 10:58:00
от SolopoV
WT Amo CRM library - простая PHP библиотека для Joomla 4+ (для разработчиков)

Автор sergeytolkachyov

Ответов: 2
Просмотров: 1622
Последний ответ 17.10.2023, 12:38:52
от sergeytolkachyov
Плагин Tabs & Sliders & Spoilers для Joomla 2.5/3.x

Автор ELLE

Ответов: 290
Просмотров: 61294
Последний ответ 14.06.2023, 09:49:02
от Sergeych