Extensão / ferramenta recomendada para verificar modificações no arquivo principal?

16

Ao atualizar sites do Joomla para a versão mais recente, sempre tenho um pânico menor, caso o site que estou atualizando, construído no passado por algum desenvolvedor não autorizado (por exemplo, eu, há 6 anos), ocorra com alterações ('hacks') no arquivos principais do Joomla.

Em um mundo ideal, eu poderia evitar esse potencial coronário tendo uma extensão ou ferramenta que:

  • Conhece todos os arquivos principais do Joomla incluídos em cada versão do Joomla
  • Compara cada arquivo na minha instalação do Joomla com os arquivos originais do Joomla no Github ou em qualquer outro lugar (mesmo algo como uma comparação de hash MD5)
  • Se eles diferirem, inicie uma ferramenta de diferenças para encontrar as diferenças e sinalize-as para revisão
  • Se são iguais, ótimas coisas, nenhuma ação é necessária
  • Gere um relatório no final detalhando os resultados do processo acima

Eu encontrei esta extensão que faz a maioria dos itens acima, mas não foi atualizada desde o J2.5.7 ou para o J3.X - então está pronto.

Na minha empresa, usamos o MyJoomla para realizar 'auditorias' completas do site Joomla (uma longa lista de diretrizes de boas práticas e correções para sites Joomla) de vez em quando, parte da qual é uma 'Verificação de Integridade de Arquivos Principais'. No entanto, este serviço tem uma taxa de assinatura mensal e tudo o que realmente quero verificar é se algum arquivo foi hackeado antes de fazer uma atualização.

Alguém sabe de outras soluções? Além de 'não hackear arquivos principais' - até recentemente, às vezes não havia outra maneira de executar determinadas tarefas sem um monte de trabalho adicional, geralmente não remunerado.

codinghands
fonte
1
Myjoomla.com fornece uma excelente ferramenta que ajudará em qualquer modificação central do Joomla.
github.com/btoplak/Joomla-Anti-Malware-Scan-Script--JAMSS- JAMS - que varre todos os arquivos e identifica possíveis cortes, bem como datas de alterações de arquivos
iamrobert

Respostas:

11

Não consigo imaginar uma ferramenta melhor que o git . Esta é uma ótima ferramenta para rastrear as alterações feitas no código (se você estiver fazendo alguma), é o sistema usado pelo Joomla para contribuir com o código (o que é uma coisa incrível de se fazer), e esse é o seu objetivo!

O fluxo de trabalho é bastante simples e deve permitir que você fique bem livre de preocupações:

  1. Faça backup do seu site joomla (o que você estava fazendo antes, certo?)
  2. Configure a cópia de backup localmente.
  3. Execute git initna pasta raiz da cópia local. Então corra git add --alle git commit. Isso tira um instantâneo do código como está agora.
  4. Pegue o patch que corresponde à sua versão atual do Joomla.
  5. Instale esse patch na sua cópia local.
  6. Execute git diffe você verá uma lista de todas as diferenças nos arquivos entre o que você está executando e os arquivos principais.

Reconheço que esta é uma resposta bastante "desenvolvimentista" e que nem todo mundo quer usar o git na linha de comando. Se você usar uma GUI do Git (como o cliente do Github), poderá pular a última etapa, pois a GUI normalmente mostrará o diff automaticamente.

Por fim, recomendo esse método, pois ele ensina uma habilidade que ajudará se você codificar e contribuir com o Joomla e mantém todas as verificações localmente, para que você não precise se preocupar em enviar seu código para outro site ou serviço!

David Fritsch
fonte
Eu gosto desse método, mas normalmente a manutenção é uma tarefa ingrata que estou tentando tornar insignificante no tempo (por isso pagamos pelo MyJoomla). Eu posso começar a fazer isso, então obrigado.
codinghands
1
Sim. Isso se torna muito mais rápido se você já estiver usando o git para controlar e acompanhar o desenvolvimento do site, o que eu recomendo! Embora isso não ajude a suportar sites antigos, o uso do git será fácil, para que você possa usá-lo dessa maneira rapidamente.
David Fritsch
Embora o Git seja popular, nem sempre é o melhor, então gostaria de generalizar a resposta : escolha um software de controle de revisão que funcione para você.
Miroxlav
Estou tentando modificar e / ou clonar uma extensão que faz parte de um modelo de terceiros e que substitui o com_content. Primeiro, preciso fazer engenharia reversa, por isso espero que esta solução me ajude a encontrar arquivos modificados e arquivos adicionais (mesmo que haja muitos - preciso de uma boa ferramenta e metodologia). Espero que esta solução irá trabalhar para que :-)
NivF007
5

Esta é uma extensão da resposta de FFrewin. Akeeba também produz uma ferramenta gratuita chamada SiteDiff. Ele permite comparar 2 sites que foram salvos em backup com o Akeebabackup (também existe uma versão gratuita).

Para que isso funcione, você precisa ter 2 backups. Um backup seria do seu site (digamos que era a versão 2.5.19). Para o outro backup, você precisará instalar uma nova cópia do Joomla 2.5.19 e fazer um backup dessa instalação. Em seguida, compare os dois backups usando a ferramenta SiteDiff.

Um problema com esse método é que você terá mais arquivos no backup do site do que na instalação nova. Os arquivos extras aparecerão como diferenças, possivelmente dificultando o discernimento das alterações principais do resto do 'ruído'.

TryHarder
fonte
3

O http://audit-fs.co.za/ possui uma ferramenta gratuita chamada Audit_FS que mostra os arquivos do Joomla modificados e / ou possivelmente os arquivos do Joomla corrompidos.

Como ferramenta básica de segurança, o Audit_FS foi projetado para realizar auditorias apenas dos seus arquivos Joomla! ®, bem como verificar suas permissões de arquivo e diretório. Ele não verifica nenhuma alteração ou invasão nos registros do banco de dados, nem verifica arquivos de extensões que você possa ter instalado. O relatório de auditoria também ignorará .htaccess, robots.xt, configuration.php, configuration.php-dist e copyright.php.

Richard
fonte
2

Não conheço outra extensão além da mencionada, que está parada em algum lugar do J2.5.

Minha maneira de lidar com isso é usando aplicativos da área de trabalho para comparação de arquivos / pastas e comparo o site em questão com sua versão original do joomla. Eu pessoalmente uso o DiffMerge no mac.

Outro utilitário que eu sei que poderia ajudá-lo a acompanhar arquivos hackeados / modificados em seus sites é o Admin Tools pro. Ele fornece a ferramenta de scanner php. Mas praticamente este é para sites que você desenvolveu e verificou após o lançamento e para ajudá-lo a descobrir arquivos infectados após tentativas de invasão.

FFrewin
fonte