Protegendo o seu site Joomla
Tenho visto algumas pessoas falando que o Joomla não é seguro, que ele tem várias brechas de segurança e que já teve o seu site hackeado por causa do Joomla, o que sabemos que não é bem isso. Após cansar de ouvir isso de pessoas que não conhecem bem o CMS Joomla, resolvi escrever este post dando algumas dicas e respondendo à algumas perguntas que sempre me fazem ao final de alguma palestra ou que vejo até mesmo dentro da lista de Joomleiros e em alguns fóruns sobre como fazer para tornar os seus websites em Joomla mais seguros.
Como disse o amigo Joomleiro Júlio Coutinho durante sua palestra no Joomla Day Ribeirão Preto: "Com certeza o Joomla é seguro". Mais existem alguns fatores que podem contribuir e muito para uma possível brecha na segurança. Vou exemplificar aqui uma simples alteração no arquivo configuration.php que é bem simples de ser feita e muitas pessoas não tem ideia do quanto isso pode proteger seu site dos invasores.
O PROBLEMA
Ao enviar o seu site construido normalmente em localhost ou em um servidor de testes para o servidor de hospedagem, você precisa enviar os arquivos para uma determinada pasta. Normalmente essa pasta tem o nome de /public_html, /httpdocs ou /var/www. Essas pastas são acessíveis pelos navegadores e é a pasta ou diretório mais vulnerável em qualquer servidor.
SOLUÇÃO
Minha dica seria tirar o configuration.php dessa pasta. Mais como fazer isso se este arquivo é onde o Joomla guarda as senhas, usuário de banco e várias outras configurações do Joomla?.
COMO FAZER
- Renomeie o arquivo configuration.php que está na raiz do website, para site_cliente.conf ou um nome qualquer de sua escolha;
- Mova o arquivo site_cliente.conf para uma ou mais pastas acima da /public_html, /httpdocs ou /var/www;
- Aqui alguem já deve ter notado que o seu site já não está mais acessando. Claro! você renomeou o arquivo chave do Joomla e ainda moveu ele para outro diretório d:-) então vamos ao próximo passo;
- Crie um arquivo configuration.php em branco em seu editor preferido e faça um requisição do arquivo site_cliente.conf conforme exemplo abaixo:
- Coloque este arquivo na raiz do seu site Joomla, e altere o chmod dele para 0444 e fim. Bem simples né e agora você tem um site Joomla mais seguro, concorda?
Além desse exemplo acima, que tenho certeza muitos usuários do Joomla não conheciam, listo abaixo outras dicas para melhorar a performance do seu site Joomla com relação a segurança:
- Evite instalar extensões pouco conhecidas e utilizadas, verifique antes se a mesma não consta na lista de extensões vulneráveis;
- Tome muito cuidado com os famosos "templates piratas" eles podem conter códigos maliciosos;
- Troque o usuário padrão do Joomla (admin), por outro nome de usuário e por favor, atribua-lhe uma senha forte;
- "Não faça o seguro depois do acidente", instale e realmente faça uso do componente Akeeba Backup e Admin Tools;
- Instale e ative o plugin JSecure para encapsular o seu diretório /administrator/ e proteja ele com uma senha ou até mesmo com restrição de acesso via range de IP;
- Desabilite a depuração de Debug do Sistema pois isto pesa muito e também mostra aos possíveis invasores, as falhas de segurança do seu site;
- Os diretórios devem possuir permissão (0755) e os arquivos (0644).
Ah e tem uma última dica que não precisa nem falar, mais é bom lembrar os mais desatentos. Mantenha sempre o seu site Joomla atualizado com o último release da versão utilizada, aliás a partir da versão 2.5 o próprio Joomla faz isso pra você, isso se a variavel allow_url_fopen estiver ativada no seu servidor, pois essa configuração deve estar ativa para o atualizador do Joomla funcionar, mais isso é assunto para um provavél futuro post.
Tem outras dicas e quer compartilhar com a gente? Gostaria muito de ver sua postagem abaixo nos comentários. Abraços,
julianoaugusto.com
Comentários
O que muda criar um arquivo fora depois um arquivo configuration.p hp ?? Não entendi no que isso ajuda na segurança.
Ronildo estaria trazendo este arquivo para fora da pasta visível para web e também alterando o chmod do mesmo, no próprio texto eu explico isso. E isso pode dificultar o invasor a ter acesso ao arquivo, já que ele não estará mais na pasta padrão e acessível do servidor.
Se o cara já tiver invadido sua hospedagem, ele só vai ter o trabalho de abrir o arquivo e ver onde está o real arquivo, ou seja, não criou nenhuma proteção.
então, acho q isso ajuda sim, já q esses bots não vão entender nada, caso cheguem ao configuration.php
mas caso o site seja invadido por alguem com intenções pessoais... acho q não tem jeito mesmo...
Dúvida, segui esses passos, funcionou legal, porém ao tentar acessar o administrator dá mensagem de Server Error, tenho que instalar primeiro o JSecure?
efetuei a configuração conforme explicado em seu forum, alterei o nome para "site_cliente.c onf" e fiz o procedimento de "require" conforme explicado, e funcionou tudo certinho quando acessa o site via http..tudo OK....mas na hora em que tento acessar o meu administrator, aparece o seguinte error:
Warning: require(.../../ ../site_cliente .conf) [function.requi re]: failed to open stream: No such file or directory in /home/paulista/ public_html/con figuration.php on line 2
Fatal error: require() [function.requi re]: Failed opening required '.../../../site _cliente.conf' (include_path=' .:/usr/lib/php: /usr/local/lib/ php') in /home/paulista/ public_html/con figuration.php on line 2
Abraço
Obrigado!
require( str_replace('pu blic_html', '', dirname(getcwd( ))) . '/site_cliente.conf');
postem ai se deu certo e grande abraço a todos.
2º Copiar para uma pasta acima da pasta raiz (crie uma pasta com o nome seg)
3º Colocar a linha baixo no arquivo configuration.p hp com o chmod 0444
foі o quᥱ melhor tratou ⲟ assunto . parabéns