Estensione / strumento consigliato per verificare le modifiche ai file core?


16

Quando aggiorno i siti di Joomla all'ultima versione ho sempre un piccolo panico nel caso in cui il sito che sto aggiornando, creato in passato da un programmatore canaglia (cioè io, 6 anni fa), abbia delle modifiche ("hack") a file Joomla di base.

In un mondo ideale ho potuto evitare questo potenziale coronarico avendo un'estensione o uno strumento che:

  • Conosce tutti i file principali di Joomla inclusi in ogni versione di Joomla
  • Confronta ogni file sulla mia installazione di Joomla con i file sorgente Joomla master su Github o ovunque (anche qualcosa come un confronto hash MD5)
  • Se differiscono, avvia uno strumento diff per trovare le differenze e contrassegnarle per la revisione
  • Se sono uguali, roba eccezionale, non è richiesta alcuna azione
  • Genera un rapporto alla fine che dettaglia i risultati del processo sopra

Ho trovato questa estensione che fa la maggior parte di quanto sopra, ma non è stata aggiornata da J2.5.7 o affatto per J3.X - quindi è uscito.

Nella mia azienda utilizziamo MyJoomla ogni tanto per condurre "audit" completi del sito Joomla (una lunga lista di controllo delle linee guida delle migliori pratiche e correzioni per i siti Joomla), parte del quale è un "Controllo dell'integrità dei file principali". Tuttavia, questo servizio ha una quota di abbonamento mensile e tutto ciò che voglio davvero verificare è se qualche file è stato violato prima di effettuare un aggiornamento.

Qualcuno sa di altre soluzioni? Oltre a "non hackerare i file core", fino a poco tempo fa a volte non c'era altro modo di eseguire determinate attività senza un carico di lavoro aggiuntivo, spesso non retribuito.


1
Myjoomla.com fornisce uno strumento eccellente che aiuterà qualsiasi modifica del core di Joomla.

github.com/btoplak/Joomla-Anti-Malware-Scan-Script--JAMSS- JAMS - che esegue la scansione di tutti i file e identifica possibili hack e date di modifica dei file
iamrobert

Risposte:


11

Non riesco a immaginare uno strumento migliore di Git . Questo è un ottimo strumento per tenere traccia delle modifiche apportate al codice (se ne stai apportando), è il sistema utilizzato da Joomla per contribuire al codice (che è una cosa fantastica da fare), e questo è il suo scopo!

Il flusso di lavoro è piuttosto semplice e dovrebbe permetterti di essere abbastanza libero da preoccupazioni:

  1. Esegui il backup del tuo sito Web Joomla (cosa che stavi facendo prima, giusto?)
  2. Imposta la copia di backup localmente.
  3. Esegui git initsulla cartella principale della copia locale. Quindi eseguire git add --alle git commit. Questo prende un'istantanea del codice come è ora.
  4. Prendi la patch che corrisponde alla tua attuale versione di Joomla.
  5. Installa quella patch sulla tua copia locale.
  6. Esegui git diffe vedrai un elenco di tutte le differenze nei file tra ciò che hai in esecuzione e i file principali.

Riconosco che questa è una risposta piuttosto "di sviluppo" e che non tutti vogliono usare git nella riga di comando. Se usi una GUI di Git (come il client di Github), puoi saltare l'ultimo passaggio, poiché la GUI ti mostrerà automaticamente il diff automaticamente.

In definitiva consiglio questo metodo poiché entrambi ti insegnano un'abilità che ti aiuterà se codifichi e contribuisci a Joomla e mantiene tutti i controlli localmente, quindi non devi preoccuparti di spedire il tuo codice su un altro sito Web o servizio!


Mi piace questo metodo, ma in genere la manutenzione è un'attività ingrata che sto cercando di rendere il tempo trascurabile (quindi paghiamo per MyJoomla). Potrei iniziare a farlo però, quindi grazie.
codinghands

1
Si. Questo diventa molto più veloce se stai già usando git per controllare e tracciare lo sviluppo del sito, che consiglio vivamente! Anche se questo non aiuta a supportare i vecchi siti, l'uso di git diventerà facile, quindi puoi usarlo in questo modo rapidamente.
David Fritsch,

Sebbene Git sia popolare, non è sempre il migliore, quindi vorrei generalizzare la risposta : scegli un software di controllo delle revisioni che funzioni per te.
miroxlav,

Sto tentando di modificare e / o clonare un'estensione che rientra in un modello di terze parti e che sostituisce com_content. Innanzitutto, devo decodificarlo, quindi spero che questa soluzione mi aiuti a trovare sia i file modificati che quelli aggiuntivi (anche se potrebbero esserci molti file - ho bisogno di un buon strumento e metodologia). Spero che questa soluzione funzioni per questo :-)
NivF007 del

5

Questa è un'estensione della risposta di FFrewin. Akeeba produce anche uno strumento gratuito chiamato SiteDiff. Ti permette di confrontare 2 siti di cui è stato eseguito il backup con Akeebabackup (esiste anche una versione gratuita di questo).

Per farlo funzionare, dovresti avere 2 backup. Un backup sarebbe del tuo sito (diciamo che era la versione 2.5.19). Per l'altro backup, è necessario installare una nuova copia di Joomla 2.5.19 e quindi eseguire un backup di tale installazione. Quindi confrontare i due backup utilizzando lo strumento SiteDiff.

Un problema con questo metodo è che nel backup del sito saranno presenti più file rispetto alla nuova installazione. I file extra appariranno come differenze, rendendo probabilmente difficile distinguere le modifiche fondamentali dal resto del "rumore".


3

http://audit-fs.co.za/ ha uno strumento gratuito chiamato Audit_FS che ti mostra i file Joomla modificati e / o eventualmente i file Joomla corrotti.

Come strumento di sicurezza di base, Audit_FS è progettato per eseguire controlli solo sui file Joomla! ®, nonché per controllare le autorizzazioni di file e directory. Non controlla eventuali modifiche o hacking nei record del database né controlla i file dalle estensioni eventualmente installate. Il rapporto di audit ignorerà anche .htaccess, robots.xt, configuration.php, configuration.php-dist e copyright.php.


2

Non conosco alcuna estensione diversa da quella che hai menzionato, che è stata interrotta da qualche parte in J2.5.

Il mio modo di gestirlo è usando le applicazioni desktop per il confronto di file / cartelle e confronto il sito in questione con la sua versione originale di joomla. Personalmente uso DiffMerge su Mac.

Un'altra utility che conosco che potrebbe aiutarti a tenere traccia dei file compromessi / modificati sui tuoi siti è Admin Tools pro. Fornisce lo strumento scanner php. Ma praticamente questo è per i siti che hai sviluppato e scansionato dopo il lancio e per aiutarti a scoprire qualsiasi file infetto dopo tentativi di hacking.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.