Lista de verificação/configuração de segurança do Joomla!

From Joomla! Documentation

< Security Checklist
This page is a translated version of the page Security Checklist/Joomla! Setup and the translation is 97% complete.
Other languages:
Deutsch • ‎English • ‎português do Brasil


Configurando o Joomla!

Instalar as versões oficiais do Joomla!

Para evitar quebrar seu site, pesquise nos fóruns por relatórios de extensões incompatíveis antes de atualizar para uma nova versão do Joomla.
Atualize para a última versão estável do Joomla! o mais rápido possível.
Baixe o Joomla! apenas de sites oficiais, como o downloads.joomla.org, e verifique o hash MD5.
Use ferramentas de diagnóstico de página web, ou seja, ferramentas de desenvolvedor do Firefox, ferramentas de desenvolvedor do Microsoft Edge (Chromium), ferramentas de desenvolvedor do Chrome, etc., para garantir que todos os arquivos foram instalados corretamente.

Alterar o nome de usuário padrão do administrador

Altere o nome de usuário do usuário administrador padrão. Essa etapa simples aumenta efetivamente a segurança dessa conta crítica em 50%, modificando uma das duas variáveis que os invasores devem conhecer para obter acesso. A senha é a outra variável. Altere-o cedo e com frequência. (FAQ)

Proteger diretórios e arquivos

Certifique-se de que todos os caminhos configuráveis para diretórios graváveis ou carregáveis (repositórios de documentos, galerias de imagens, caches) estejam fora de public_html. Verifique extensões de terceiros, como a DOCMan e a Gallery2, para caminhos editáveis para diretórios graváveis.
Joomla 1.5Joomla 2.5Joomla 3.xJoomla 4.x Na configuração global de bastidores (back-end), altere o caminho do log. Algumas extensões usam a classe JLog incorporada. Isso irá, por padrão, gravar logs em http://seusite/logs no Joomla 3.5 e inferior ou http://seusite/administrator/logs nas novas instalações do Joomla 3.6+. Altere isso para um local que um navegador casual não possa encontrar (e não escolha /tmp/) ou bloqueie-o com autenticação http. Como estamos lidando com software de código aberto, os invasores podem ler o código de extensões de terceiros e adivinhar nomes de arquivos de log.
Joomla 1.5Joomla 2.5Joomla 3.xJoomla 4.x Na configuração global de bastidores (back-end), altere o caminho da pasta temporária.
Se os caminhos de log e temporários forem alterados e a diretiva de configuração open_basedir do PHP for definida, certifique-se de que os novos caminhos estejam dentro do escopo de open_basedir.
Atualmente, não há uma maneira fácil de mover os diretórios /image e /media do Joomla!. Isso ocorre porque milhares de extensões de terceiros esperam encontrar esses diretórios importantes no local atual. O melhor plano é certificar-se de que open_basedir está configurado corretamente para todas as contas de usuário em seu servidor. Verifique com seu host se não tiver certeza.

Ajustar permissões de arquivo e diretório

Esta opção não aparece mais no Joomla. Em versões mais antigas do Joomla: Uma vez que seu site esteja configurado e estável, proteja os diretórios e arquivos críticos contra gravação alterando as permissões de diretório para 755 e as permissões de arquivo para 644. Há um recurso em Site --> Configuração global --> Servidor para definir todas as permissões de pasta e arquivo de uma só vez. Teste extensões de terceiros posteriormente e revise cuidadosamente o código de qualquer extensão que tenha problemas com essas configurações. Nota: Dependendo das permissões do seu servidor, você pode precisar redefinir temporariamente para permissões mais abertas ao instalar mais extensões com o instalador do Joomla! . Esta opção não aparece mais no Joomla. mas está incluída para fins históricos.

Remover arquivos desnecessários

Remova todos os modelos de design não necessários ao seu site. Nunca coloque lógica de segurança em arquivos de modelo.
Joomla 1.5 Desative o servidor XML-RPC se não precisar dele.
Limpe após as instalações. O processo de instalação exigirá que você exclua o diretório de instalação e todo o seu conteúdo. Faça isto; não basta renomeá-lo. Se você enviar arquivos para seu site como arquivos compactados (xxxx.zip, por exemplo), não se esqueça de remover o arquivo compactado. Verifique o diretório /temp/, pois arquivos temporários podem permanecer lá após uma tentativa de instalação com falha.
Em geral, não deixe arquivos desnecessários (compactados ou não) em um servidor público. Cada arquivo não utilizado (e talvez esquecido há muito tempo) é uma possível falha de segurança.

Desligar a emulação de registrar globais

Joomla 1.0 Desligue a emulação registrar globais do Joomla. Embora essa configuração seja um pouco mais segura do que PHP register_globals, é muito melhor evitar essas configurações todas juntas (assim como qualquer aplicativo que as exija). Nas versões pré-1.0.13 do Joomla, esta configuração é encontrada no arquivo globals.php. A partir da versão 1.0.13, pode ser desativada no back-end, em Configurações globais.
Joomla 1.5Joomla 2.5Joomla 3.x O Joomla 1.5 e superior, não usa registradores globais e, de fato, possui código inteligente para anular essa configuração, mesmo que esteja ativado no nível do PHP. Observe que, embora isso torne o próprio Joomla mais seguro, qualquer servidor com registro global ativado é potencialmente vulnerável. Qualquer servidor compartilhado com registro global ativado é como um pato sentado (um alvo fácil ou indefeso). Qualquer provedor de hospedagem que insista que o registro global deve ser ativado é ignorante, incompetente ou pior. Isso foi contundente o suficiente?
Para obter mais informações sobre register_globals, consulte Lista de verificação de segurança: PHP: register_globals.

Instalando extensões do Joomla!

Fazer cópia de segurança (backup) antes de instalar

Antes de instalar extensões, sempre faça a cópia de segurança (backup) dos arquivos e banco de dados do seu site. Isso segue um princípio muito básico:
Você sempre poderá retornar seu site a um estado de funcionamento anterior.
Portanto, é inteligente configurar um script de cópia de segurança (backup) simples e rápido para automatizar essa tarefa. Se você não configurar um processo fácil com antecedência, ficará muito tentado a fazer uma atualização rápida sem fazer a cópia de segurança (backup) primeiro. Esta tendência muito compreensível é, no entanto, uma das principais causas de queda prematura de cabelo, mudanças repentinas de carreira e até mesmo morte.

Verificar se há vulnerabilidades de extensão

A maioria das vulnerabilidades de segurança são causadas por extensões de terceiros. Antes de instalar extensões, verifique a lista oficial de extensões vulneráveis de terceiros/não Joomla!. Há um site inteiro dedicado a extensões de terceiros vulneráveis em vel.joomla.org recomendamos que você fique de olho nele!

Baixar de sites confiáveis

A definição oficial e totalmente qualificada de "site confiável" é aquele em que você confia.

Cuidado usuário! Verificar a qualidade do código

Extensões de terceiros vêm em todos os tipos de qualidade e era. Embora existam os padrões de codificação do Joomla!, os desenvolvedores de terceiros não são obrigados a segui-los. As extensões listadas no site oficial do Joomla! não são revisadas quanto à conformidade, no entanto, se vulnerabilidades verificadas forem relatadas, elas serão removidas da lista até que sejam corrigidas.

Testar, testar, testar...

Teste todas as extensões em um site de desenvolvimento antes de instalar em um site de produção. Em seguida, teste no local de produção. Não se esqueça de verificar os logs quanto a erros e avisos de tempo de execução.

Remover arquivos inúteis

Remova todas as extensões não utilizadas e verifique se as pastas e arquivos relacionadas(os) foram realmente removidas(os) pelos scripts de desinstalação. Observe que durante a desinstalação, muitas extensões de terceiros deixarão arquivos relacionados em seu site e tabelas de banco de dados relacionadas completas com dados. Isso é um recurso ou uma falha (bug), dependendo do seu ponto de vista. Quaisquer arquivos deixados em seu servidor permanecem acessíveis da web por meio de urls diretas, como http://seusite.com/modules/bad_module.

Evitar código criptografado

O Joomla é (e apesar das campanhas de desinformação, sempre foi) um projeto GNU GPL. Isso significa que todas as extensões do Joomla também devem ser livres (como em liberdade) e abertas (como em código legível). O código criptografado pode ser seguro, mas você não pode determinar isso por si mesmo e, portanto, deve confiar nos desenvolvedores. Usar o código criptografado de outros coloca você de volta ao mundo do software proprietário, onde você deve esperar pelas correções de segurança do desenvolvedor, esperando que os invasores não encontrem seu site antes que uma correção seja lançada.
Muitas vezes você não tem liberdade para modificar, melhorar ou compartilhar código criptografado. Essas restrições tornam o código criptografado menos valioso para a comunidade como um todo e reduzem a viabilidade geral do projeto Joomla, que depende do compartilhamento aberto entre todos os participantes.
Claro, o código que não é distribuído para outros está isento dos requisitos de distribuição GNU GPL. Assim, você pode criptografar o código relacionado ao Joomla em seus próprios servidores, desde que não o compartilhe com outras pessoas.

Dicas e truques de endurecimento do Joomla! adicionais

Running on a non-vhost environment

When you are running Joomla on a non-vhost environment please make sure that you set the live_site setting within the configruation.php to your domain in order to protect you against potential Host Header Injection. All sites that are running within an vhost setup are not affected by this issue.

Evitar servidores compartilhados, se possível

Para segurança máxima, evite um servidor compartilhado no qual você não conhece ou não pode confiar em todos os outros usuários ou na qualidade do código deles.

Habilitar o SSL no seu servidor

Servidores com SSL configurados corretamente são atualmente a única maneira de processar transações confidenciais com segurança e autenticação de usuário segura. O SSL funciona criptografando todas as comunicações HTTP entre o servidor web e os clientes web. Assim, mesmo que uma transmissão seja interceptada, ela não pode ser lida. Para obter mais informações, leia nosso artigo dedicado nesta lista de verificação de segurança (se ainda não o fez)
O Joomla! 1.0.x não permite que você atribua um servidor SSL a subdiretórios individuais. Procure nos fóruns por "Tommy Hack" para uma maneira de lidar com isso. O Joomla! 1.5 e superiores suportam a configuração de opções de SSL prontas para uso.

Usar o .htaccess do Apache

Para uma camada adicional de proteção por senha, você pode usar o .htaccess para proteger com senha os diretórios críticos. Isso geralmente é adequado para bloquear o script kiddie típico, mas esteja ciente de que a proteção por senha do .htaccess sozinha não é um método altamente seguro. Ela deve ser combinada com um servidor SSL para proteção máxima. Um servidor SSL é necessário para proteger seu site contra ataques mais sofisticados, como o farejador de pacotes.

Mudar para o Joomla! 3.x

Joomla 3.0 A atualização mais significativa na história do Joomla! inclui melhorias poderosas de segurança e desempenho.

Adicionar os avisos de segurança do Joomla! para o seu site

A equipe de segurança do Joomla! oferece suporte e feed RSS que fornece as informações de segurança mais recentes do Joomla. As perguntas frequentes a seguir explicam como adicionar esse feed ao seu site.