Рекомендуемое расширение / инструмент для проверки изменений файла ядра?

16

При обновлении сайтов Joomla до последней версии у меня всегда возникает небольшая паника в случае, если сайт, который я обновляю, созданный в прошлом каким-то мошенническим разработчиком (то есть мной, 6 лет назад), содержит изменения в функциях («хаки») для основные файлы Joomla.

В идеальном мире я мог бы избежать этой потенциальной коронарной болезни, имея расширение или инструмент, который:

  • Знает все основные файлы Joomla, включенные в каждую версию Joomla
  • Сравнивает каждый файл в моей установке Joomla с основными исходными файлами Joomla на Github или где-либо еще (даже что-то вроде сравнения хешей MD5)
  • Если они различаются, запустите инструмент сравнения, чтобы найти различия и пометить их для просмотра.
  • Если они одинаковые, отличный материал, никаких действий не требуется
  • Создайте отчет в конце, детализирующий результаты вышеупомянутого процесса

Я нашел это расширение, которое выполняет большинство из вышеперечисленных, но оно не обновлялось с J2.5.7 или вообще для J3.X - так что этого нет.

В моей компании мы используем MyJoomla для проведения полных «аудитов» сайтов Joomla (длинный контрольный список рекомендаций и исправлений для сайтов Joomla), частью которых является «Проверка целостности основных файлов». Однако за эту услугу взимается ежемесячная абонентская плата, и все, что я действительно хочу проверить, - это какие файлы были взломаны перед обновлением.

Кто-нибудь знает какие-либо другие решения? Помимо «не взламывать основные файлы» - до недавнего времени иногда не было другого способа выполнить определенные задачи без множества дополнительных, часто неоплачиваемых, работ.

codinghands
источник
1
Myjoomla.com предоставляет отличный инструмент, который поможет любым модификациям ядра Joomla.
github.com/btoplak/Joomla-Anti-Malware-Scan-Script--JAMSS- JAMS - который просматривает все файлы и выявляет возможные хаки, а также даты изменений файлов
iamrobert

Ответы:

11

Я не могу представить себе лучший инструмент, чем Git . Это отличный инструмент для отслеживания изменений, которые вы вносите в код (если вы делаете какие-либо изменения), это система, используемая Joomla для предоставления кода (что очень здорово), и это ее цель!

Рабочий процесс довольно прост и должен позволить вам не беспокоиться:

  1. Сделайте резервную копию вашего сайта Joomla (чем вы занимались раньше, верно?)
  2. Настройте резервную копию локально.
  3. Запустите git initв корневой папке локальную копию. Тогда беги git add --allи git commit. Это делает снимок кода, как сейчас.
  4. Возьмите патч, соответствующий вашей текущей версии Joomla.
  5. Установите этот патч поверх вашей локальной копии.
  6. Запустите, git diffи вы увидите список всех различий в файлах между тем, что у вас работает, и основными файлами.

Я признаю, что это довольно «отработанный» ответ, и что не все хотят использовать git в командной строке. Если вы используете Git GUI (например, клиент Github), вы можете пропустить последний шаг, так как GUI обычно будет показывать вам diff автоматически.

В конечном счете, я рекомендую этот метод, так как он учит вас навыку, который поможет, если вы пишете код и вносите свой вклад в Joomla, и сохраняет все проверки локально, так что вам не нужно беспокоиться о доставке кода на другой сайт или службу!

Дэвид Фрич
источник
Мне нравится этот метод, но, как правило, обслуживание - неблагодарное занятие, которое я стараюсь израсходовать на время (поэтому мы платим за MyJoomla). Я могу начать делать это, так что спасибо.
codinghands
1
Да. Это становится намного быстрее, если вы уже используете git для контроля и отслеживания разработки сайта, что я очень рекомендую! Хотя это не помогает поддерживать старые сайты, использование git станет простым, поэтому вы можете использовать его таким образом быстро.
Дэвид Фрич
Хотя Git популярен, он не всегда лучший, поэтому я хотел бы обобщить ответ : выберите программное обеспечение для контроля версий, которое подходит именно вам.
Miroxlav
Я пытаюсь изменить и / или клонировать расширение, которое входит в состав стороннего шаблона и которое переопределяет com_content. Во-первых, мне нужно перепроектировать его, так что я надеюсь, что это решение поможет мне найти как измененные, так и дополнительные файлы (хотя их может быть много - мне нужен хороший инструмент и методология). Я надеюсь, что это решение будет работать для этого :-)
NivF007
5

Это продолжение ответа Ф.Фрюина. Akeeba также выпускает бесплатный инструмент под названием SiteDiff. Он позволяет сравнивать 2 сайта, для которых было выполнено резервное копирование с помощью Akeebabackup (есть и бесплатная версия).

Чтобы это работало, вам нужно иметь 2 резервных копии. Одна резервная копия будет на вашем сайте (скажем, это была версия 2.5.19). Для другой резервной копии вам нужно будет установить свежую копию Joomla 2.5.19, а затем сделать резервную копию этой установки. Затем сравните две резервные копии с помощью инструмента SiteDiff.

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

Стараться
источник
3

http://audit-fs.co.za/ имеет бесплатный инструмент Audit_FS, который показывает вам измененные файлы Joomla и / или, возможно, поврежденные файлы Joomla.

В качестве базового инструмента безопасности Audit_FS предназначен для проведения аудита только ваших файлов Joomla! ®, а также проверки прав доступа к файлам и каталогам. Он не проверяет наличие изменений или взлома в записях вашей базы данных, а также не проверяет файлы с расширений, которые вы, возможно, установили. В отчете аудита также будут игнорироваться файлы .htaccess, robots.xt, configuration.php, configuration.php-dist и copyright.php.

Ричард
источник
2

Я не знаю никакого расширения, кроме упомянутого вами, которое остановлено где-то в J2.5.

Мой способ справиться с этим - использовать настольные приложения для сравнения файлов и папок, и я сравниваю данный сайт с его оригинальной версией joomla. Я лично использую DiffMerge на Mac.

Другая известная мне утилита, которая может помочь вам отслеживать взломанные / измененные файлы на ваших сайтах, - это Admin Tools pro. Это обеспечивает инструмент сканера php. Но практически он предназначен для сайтов, которые вы разработали и отсканировали после запуска, и чтобы помочь вам обнаружить любые зараженные файлы после попыток взлома.

Ф.Фрюин
источник