ti-enxame.com

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

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 atualizado desde o J2.5.7 ou para o J3.X - então está pronto.

Na minha empresa, usamos 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 é um 'Core Files Integrity Verifica'. 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 de 'não hackear arquivos principais' - até muito recentemente, às vezes não havia outra maneira de executar determinadas tarefas sem um monte de outras, muitas vezes não pagas , trabalhos.

16
codinghands

Não consigo imaginar uma ferramenta melhor que 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. Corre git init na pasta raiz da cópia local. Então corra git add --all e 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. Corre git diff e 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 "desenvolvedora" 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!

11
David Fritsch

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 restante do 'ruído'.

5
TryHarder

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

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.

3
Richard

Não conheço outra extensão além da mencionada, que está parada em algum lugar no 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 invadidos/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.

2
FFrewin