it-swarm.it

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

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
  • Generare 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 è stato aggiornato da J2.5.7 o affatto per J3.X - quindi è uscito.

Nella mia azienda utilizziamo MyJoomla per condurre "audit" completi del sito Joomla (un lungo elenco di linee guida sulle migliori pratiche e correzioni per i siti Joomla) ogni tanto, parte del quale è un '"Integrità dei file di base" Dai un'occhiata'. Tuttavia, questo servizio ha una quota mensile di abbonamento e tutto ciò che voglio davvero verificare è se qualche file è stato violato prima di effettuare un aggiornamento.

Qualcuno sa di altre soluzioni? A parte da '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 carico aggiuntivo, spesso non pagato , opera.

16
codinghands

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. Correre git init nella cartella principale della copia locale. Quindi esegui git add --all e 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. Correre git diff e vedrai un elenco di tutte le differenze nei file tra ciò che hai in esecuzione e i file core.

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!

11
David Fritsch

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".

5
TryHarder

http://audit-fs.co.za/ ha uno strumento gratuito chiamato Audit_FS che 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.

3
Richard

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 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.

2
FFrewin