Fontes de extensões

Qualquer pessoa pode escrever e distribuir uma extensão Joomla! como um serviço à comunidade global. Essas extensões de terceiros podem ser encontradas nos sítios de programadores profissionais de extensões, em blogues pessoais, no GitHub e em repositórios semelhantes, bem como no Joomla Extensions Directory.

Extensões vulneráveis

Muito poucas fontes oferecem extensões deliberadamente maliciosas. Normalmente, uma extensão vulnerável é aquela que se descobriu conter (ou contribuir para) uma vulnerabilidade de segurança após o lançamento inicial.

As extensões vulneráveis não são necessariamente mal programadas. À medida que a Web evolui, os requisitos técnicos e as práticas de programação geralmente aceites mudam. Os projetos ativos lançam novas versões das suas extensões à medida que os requisitos mudam e corrigem rapidamente quaisquer vulnerabilidades reportadas.

Se estiver preocupado com alguma das suas extensões, deve consultar a lista Joomla Vulnerable Extensions (VEL), que contém informações sobre mais de 240 extensões, na sua maioria antigas.

O JED Checker

Se estiver preocupado com uma extensão que não aparece na VEL, pode utilizar a extensão JED Checker. Trata-se de uma extensão utilizada para verificar as extensões submetidas para aparecerem na lista do Joomla Extensions Directory. É instalada como qualquer outra extensão. Em utilização, aceita um ficheiro zip de extensão e examina o seu conteúdo quanto à conformidade com os padrões do JED. É extremamente útil mesmo para extensões que não aparecem na lista do JED. Eis um exemplo de captura de ecrã:

jed checker result

Os 400 ficheiros PHP com Aviso de Licença GPL em falta encontram-se em bibliotecas de terceiros com uma Licença diferente. Os 30 ficheiros identificados pelo Joomla Anti-Malware Scan Script também se encontram nessas bibliotecas de terceiros. Há trabalho a fazer nos ficheiros sem segurança JEXEC!

Remover uma extensão vulnerável

Fazer uma lista de ficheiros a remover

Se conseguir localizá-lo, leia o ficheiro xml da extensão para determinar exatamente quais os diretórios, ficheiros e tabelas de base de dados que foram adicionados ao seu sistema. O ficheiro XML encontra-se no ficheiro zip original utilizado durante o processo de instalação da extensão. Por exemplo, o ficheiro zip de uma extensão chamada mod_vulnerable, conteria um ficheiro XML chamado mod_vulnerable.xml, e poderia conter uma lista de ficheiros como a seguinte:

    mod_vulnerable.php
    mod_vulnerable/vulnerable_file.txt
    mod_vulnerable/another_vulnerable_file.txt
    mod_vulnerable/yet_another_vulnerable_file.txt
    mod_vulnerable/index.html

Desinstalar através do Instalador Joomla

Utilizando o Instalador na área administrativa do Joomla!, desinstale a extensão vulnerável. Poderá também ser necessário desinstalar módulos, componentes ou plugins relacionados.

Verificar se o processo de desinstalação foi concluído

Não confie que a extensão remove com segurança todos os seus ficheiros. Compare os diretórios e ficheiros no seu sistema com a lista XML da extensão para garantir que todos os ficheiros relacionados foram realmente removidos.

Opcionalmente, remover as tabelas de base de dados relacionadas

Verifique a sua base de dados e remova quaisquer tabelas criadas pela extensão. Para facilitar o processo de atualização para novas versões, muitos scripts de desinstalação não removem as tabelas de base de dados relacionadas. Pode encontrar a lista de tabelas no ficheiro XML de cada extensão.

Se planeia instalar uma versão mais segura e compatível da mesma extensão e pretende reutilizar os dados existentes, pode geralmente manter as tabelas de base de dados como estão.

Remover hiperligações de menu

Simplesmente remover as hiperligações de menu para uma extensão, ou despublicar um módulo, não é suficiente para proteger o seu sítio! Enquanto os ficheiros da extensão existirem no seu servidor, estará vulnerável. Note como, nos exemplos seguintes, um atacante pode contornar o ficheiro index do Joomla! para visar diretamente qualquer ficheiro, de qualquer extensão.

    www.o_seu_sítio.org/components/com_bad_component/vulnerable_file.php
    www.o_seu_sítio.org/modules/mod_bad_module/vulnerable_file.php