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


16

Під час оновлення сайтів Joomla до останньої версії я завжди маю невелику паніку, якщо сайт, який я модернізував, побудований в минулому деяким шахрайським розробником (тобто мною, 6 років тому), може статися із змінами ("хаками") на основні файли Joomla.

В ідеальному світі я міг би уникнути цієї потенційної коронарності, маючи розширення або інструмент, який:

  • Знає всі основні файли Joomla, що входять до кожної версії Joomla
  • Порівняє кожен файл моєї установки Joomla з початковими вихідними файлами Joomla в Github або де завгодно (навіть щось на зразок хеш-порівняння MD5)
  • Якщо вони різняться, виберіть різний інструмент, щоб знайти відмінності та позначити їх для огляду
  • Якщо вони однакові, чудові речі, ніяких дій не потрібно
  • На завершення сформуйте звіт із деталізацією результатів вищевказаного процесу

Я знайшов це розширення, яке робить більшу частину вищезазначеного, але воно не оновлювалось з J2.5.7 або взагалі для J3.X - тож це не вдається.

У моїй компанії ми використовуємо MyJoomla для того, щоб проводити повний "аудит" сайту Joomla (довгий перелік найкращих практичних рекомендацій та виправлень для сайтів Joomla), частиною яких є "Перевірка цілісності основних файлів". Однак ця послуга має щомісячну абонентську плату, і все, що я дуже хочу перевірити, - чи були зламані файли перед оновленням.

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


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 (наприклад, клієнт Github), ви можете пропустити останній крок, оскільки графічний інтерфейс, як правило, автоматично показує вам різницю.

Зрештою, я рекомендую цей метод, оскільки він обидва навчає вас майстерності, яка допоможе, якщо ви кодуєте та сприяєте Joomla, і він зберігає всі перевірки локально, тому вам не доведеться турбуватися про доставку коду на інший веб-сайт або службу!


Мені подобається цей метод, але зазвичай технічне обслуговування - це невдячне завдання, яке я намагаюся зробити незначним (тому ми платимо за MyJoomla). Я можу почати це робити, тому дякую.
кодування руками

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.

Ще одна утиліта, яку я знаю, яка може допомогти вам відслідковувати зламані / змінені файли на ваших сайтах, - це інструменти адміністратора pro. Він надає інструмент для сканування php. Але практично це для сайтів, які ви розробили та відсканували після запуску, і допомогти вам виявити будь-які заражені файли після спроб злому.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.