Segurança na Web
Alterar permissões de arquivos:
Alterar todos os arquivos para 644 e todas as pastas para 755 com:
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
Depois criar algumas exceções...
configuration.php – 400
index.php do site – 400
index.php do template padrão – 400
Permissões de pastas:
includes e libraries – 500
Adicionar ao .htaccess:
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
Lembre que:
O Joomla possui uma equipe que em 4 horas consegue lançar uma versão estável do produto após uma invasão.
A maioria dos ataques ocorre pelo fato dos arquivos estarem com 777 ou usuário instalou componentes "não confiaveis".
Existe o Security Strike no Joomla! que cuida somente deste assunto
https://docs.joomla.org/Security_Strike_Team
https://developer.joomla.org/security-centre.html
https://volunteers.joomla.org/teams/security-strike-team
Para verificar sites que foram hackeados/defaced:
http://www.zone-h.org/archive?zh=1
Componente para criptografar senhas
Dá para notar seu trabalho.
Logo após digitar a senha e teclar Enter ou clicar em Acessar observe que ele enche a caixa da senha com bolinhas, mostrando que ele está enviando algo diferent do que digitamos.
O componente
com_encrypt requer o módulo bcmath do php.
Sempre que o usuário fizer login a senha será criptografada antes de ser enviada para o servidor.
Ao chegar ao servidor será descriptografada.
O mesmo autor do componente criou vários plugins para outros módulos e extensões de terceiros:
http://www.ratmilwebsolutions.com/category/4-encryption-configuration-plugins.html
Opcionalmente podemos gerar uma nova chave de criptografia, mas talvez não seja necessário pois uma é gerada automaticamente a cada 180 dias.
Também podemos alterar a frequência de geração de chaves e seu tamanho.
O componente criptografa a senha de login do form de login do administrator por padrão e já vem com vários outros recursos marcados por padrão:
Back-end login, Back-end edit profile, Back-end edit profile repeat password, Update RSA private KEY, Joomla off-line login, Front-end login module, Front-end login, Create account, Create account repeat password, Edit profile, Edit profile repeat password, Reset password e Reset password confirm
Download
http://www.ratmilwebsolutions.com/category/10-encryption-configuration.html
Ajuda
http://www.ratmilwebsolutions.com/documentation/47-encryptioncomponenthelp.html
Segurança no Joomla (parte 1)
Dicas de segurança no joomla.
Muitas pessoas utilizam o CMS Joomla, no entanto a maior parte destas "esquece-se" do fator segurança nos seus sites. Existem pequenos pormenores extremamente fáceis de implementar que aumentarão consideravelmente a segurança do teu site Joomla.
Desligar os relatórios de erro
Um deles é desligar os relatórios de erros, os relatórios de erros alem de diminuírem a velocidade do site indicarão também ao "hackers" falhas na segurança deste. Isto pode ser desativado em 'Configuração Geral -> Sistema'.
Depois de desativada esta função não te será permitido visualizar os erros gerados pelo Joomla, o que é uma coisa boa uma vez que o utilizador comum não os vê (o que não era muito profissional) e os hackers não podem forçar erros de forma a descobrirem métodos de comprometer o sistema.
Utilizar um componente SEF
A maioria dos hackers utilizam o comando 'inurl:' do Google para procurarem por falhas em websites. Uma boa solução para contrariar este potencial risco é instalar um componente que re-escreva os Url, aconselho o SH404SEF ou o Artio-JoomSef.
O componente SEF irá trazer-lhe também bastantes vantagens a nível de SEO (rank mais elevado aos "olhos" do Google).
Mover o ficheiro configuration.php para fora da raiz.
Mova simplesmente o ficheiro de configuração para qualquer pasta que você queira dentro do site e atribua-lhe um novo nome. No exemplo utilizei 'joom.conf'.
Crie um novo ficheiro de configuração na raiz com o nome de configuration.php contendo o seguinte código:
<?php
require( dirname( __FILE__ ) . '/../joom.conf' );
?>
Realize backups regulares
Esta tarefa pode ser feita através do Cpanel de qualquer conta de alojamento, no entanto existem também alguns componente muito bons que realizam esta tarefa. O meu favorito é o JoomlaPack. Um backup semanal caso atualize o seu site regularmente é uma boa opção, ou então backups mensais.
Não mostrar que versões das extensões utiliza
Em primeiro lugar qualquer admin de um website deveria ter uma lista de todas as extensões que utiliza e fazer o update a estas quando sai-se uma nova versão. No entanto todos nos sabemos que o tempo não chega para tudo e muitas vezes fazer um update a uma extensão pode ser um bocado moroso. É então boa política remover a versão da extensão que utiliza a quando da instalação desta, isto pode ser feito editando os ficheiros da extensão com o notepad por exemplo.
Segunda parte
Um site em Joomla! é muito mais do que instalá-lo no servidor, mover alguns módulos de posição, instalar componentes, plugins e pronto! Já temos um site completo, feito em três dias e podemos ganhar mais de mil reais do nosso cliente.
Sinceramente, pessoal, o Joomla é tão complicado de usar quanto se programar um site do zero. Claro que você não terá mais a necessidade de digitar todas as linhas de código, mas eventuais alterações serão necessárias e é importante saber o que, onde e por que está sendo feita aquela mudança.
Além disso, a segurança é muito importante. Hoje existe uma gama enorme de componentes e módulos para Joomla, mas antes de usarem, perguntem-se: "este componente é seguro?". A maioria das invasões em sites Joomla! é feita através do próprio cms mal configurado ou de seus componentes desatualizados. Experiência própria: é muito mais difícil você contornar uma invasão do que prevenir que ela não aconteça.
Trabalho com o Joomla há mais de três anos, desde a versão 1.0.12, e desde lá já aprendi muito, tomei muito na cabeça e hoje me viro tranqüilo, tanto é que tenho mais de 20 clientes em minha região e todos utilizam o Joomla!, mas a cada nova atualização de componentes, preciso dar atenção a estes sites, pois é a segurança dos dados e informações dos mesmos que estão em jogo.
Por isso minha gente, tenho um sério conselho a dar a vocês: Estudem!
Estudem muito o Joomla, pesquisem sobre servidores web (apache), sobre dicas de segurança no PHP, informações sobre servidores de e-mail, segurança de arquivo, permissões de acesso a pastas e arquivos, etc...
Mostrei apenas o caminho das pedras, agora é Google na veia e tempo e disciplina para estudar. Hoje existem mil vezes mais materiais sobre esse assunto do que quando comecei. Inclusive a maioria mais detalhada e em português, no "meu tempo" os bons artigos e tutoriais eram em inglês.
Este e-mail foi escrito como um alerta aos desavisados, para não saírem por ai usando o Joomla! sem considerar o uso de medidas sobre segurança.
Isso evitará os seus sites de serem invadidos e assim o indivíduo não vai sair por ai xingando todo mundo em qualquer fórum destinado ao Joomla!, falando mal do sistema para qualquer um que aparecer, alegando que "não é seguro".
Quem faz o Joomla ser seguro é você".
Escrito por Roberto Jonikaites para o Yahoogrupos – Curso de Design para Joomla! De Bruno Ávila.
Este artigo foi encontrado no sitea baixo, mas não mais o encontrei em minha última tentativa de visita:
http://www.joomlarj.com.br/site/index.php?option=com_content&view=article&id=26:seguranca-no-joomla-parte-2&catid=15:seguranca-no-joomla&Itemid=15
Comments fornecido por CComment