Página 1 de 2

OpenCart hackeado

Enviado: 24 Mai 2013, 12:58
por felipeathayde
Olá, pessoal,

Meu site foi hackeado... e eu havia seguido todas as dicas de seguranças postadas nos tópicos fixos. Olhem uma SS:
Imagem

Gostaria de saber como evitar isso no futuro. Alguma sugestão?

Versão o opencart: 1.5.5.1

Extensões instaladas:
- boleto
- pagseguro
- rastreamento dos correios

Re: OpenCart hackeado

Enviado: 24 Mai 2013, 22:20
por Manoel Vidal
Ataques do tipo defacement, só acontecem por falha de segurança no servidor de hospedagem, em outras palavras, troque de hospedagem.

Outra questão é ter cuidado com as extensões/modificações e temas que você for utilizar, pois eles podem abrir portas para explorar falhas de segurança no servidor, principalmente se forem piratas ou grátis.

Espero ter ajudado. :)

Re: OpenCart hackeado

Enviado: 25 Mai 2013, 00:48
por felipeathayde
Mas eu estou usando o hosting oficial sugerido pelo OpenCart... O Arvixe. Eles me responderam um ticket falando que foi um inject de hack code no DB. Minha senha de admin não funcionava também. É culpa do hosting mesmo? (a senha do DB era beeem segura e completamente aleatória).

Re: OpenCart hackeado

Enviado: 25 Mai 2013, 00:58
por rogerio.fd
Manoel Vidal...

O Hostgator é um servidor seguro???


Obrigado

Re: OpenCart hackeado

Enviado: 25 Mai 2013, 10:55
por unknown1140
felipeathayde escreveu:Mas eu estou usando o hosting oficial sugerido pelo OpenCart... O Arvixe. Eles me responderam um ticket falando que foi um inject de hack code no DB. Minha senha de admin não funcionava também. É culpa do hosting mesmo? (a senha do DB era beeem segura e completamente aleatória).
Este assunto não é bem a minha praia, mas segue um pouco do que eu sei:
Se você tiver outros sites hospedados na mesma contas, eles podem ser a razão por vc ter sido invadido. Sites em Joomla, Worpress e Drupal são muito visados por hackers por isto é importante estar rodando sempre a última versão disponível para evitar qualquer problema. Sistemas de atendimento online, crms e etc também são bem visados.
Arquivos de backup (.bak, .bck e etc) não devem ser acessíveis, para isto use o seguinte código no .htacess (de todos os sites em sua conta):
Código: Selecionar todos
<FilesMatch "(^#.*#|\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|sw[op])|~)$">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
Arquivos e pastas escondidas tb devem ser inacessíveis, adicione o seguinte no .htacess (de todos os sites em sua conta):
Código: Selecionar todos
<IfModule mod_rewrite.c>
    RewriteCond %{SCRIPT_FILENAME} -d [OR]
    RewriteCond %{SCRIPT_FILENAME} -f
    RewriteRule "(^|/)\." - [F]
</IfModule>
Também é importante bloquear a listagem de diretórios, adicione o seguinte no .htacess (de todos os sites em sua conta):
Código: Selecionar todos
<IfModule mod_autoindex.c>
    Options -Indexes
</IfModule>
Se você souber com exatidão todos os scripts externos que rodam na sua página, vc pode bloquear a execução de scripts não autorizados usando um código parecido com o seguinte:
Código: Selecionar todos
<IfModule mod_headers.c>
    Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
        Header unset Content-Security-Policy
    </FilesMatch>
 </IfModule>
Neste código acima vc somente está permitindo a execução de códigos no seu domínio. Dependendo da sua página isto vai lhe trazer problemas, pois qualquer likebox do facebook, vídeo do youtube, use de bibliotecas via cdn e etc serão bloqueados. Se vc for "corajoso" vale a pena ler isto http://www.html5rocks.com/en/tutorials/ ... ty-policy/ para usar este código corretamente.

Não sei se vc já fez isto, mas após a invasão o ideal é apagar todos os arquivos e db e restaurar um backup. Além disto é importante tentar descobrir o que exatamente causou a invasão para "tampar" este buraco. Utilize tb um Antivirus no seu site, ao menos para verificar as falhas de segurança. Este é bem legal pq ele tem um trial que é suficiente para detectar qq problema: http://www.kyplex.com/

Grande parte das vezes o problema realmente é da hospedagem, porém softwares desatualizados podem ser até mais problemáticos do que um hospedagem insegura.

Re: OpenCart hackeado

Enviado: 25 Mai 2013, 14:17
por Rogério Banquieri
Acho importante bloaquear tambem o acesso ao PhpMyAdmin caso você tenha acesso em sua hospedagem.

Insira a linha abaixo em /etc/phpmyadmin/apache.conf

<Directory /usr/share/phpmyadmin>
Order Deny,Allow
Deny from all
Allow from 192.168.1.1
</Directory>

Onde "192.168.1.1" é o IP autorizado a acessar, substitua pelo seu ip.

É necessário reiniciar o apache para surtir efeito.

Re: OpenCart hackeado

Enviado: 25 Mai 2013, 15:10
por felipeathayde
Eu tinha um backup dos ARQUIVOS do site, infelizmente não tinha do banco de dados. Essa situação é um pouco complicada, não vejo nenhum trigger no meu DB, sempre que houver um ataque será necessário voltar a uma versão mais antiga?

Comparei meu backup dos arquivos com os arquivos que estão atualmente no site e não há diferença entre eles - usei o programa WInMerge. Como podem alterar a página do About do meu OpenCart sem alterar os arquivos?

Estou rodando um a um todos os passos de segurança que vocês me passaram e mais alguns que o suporte da meu provedor de hospedagem sugeriu. Ao fim, colarei os passos aqui para caso alguém mais venha a passar por problemas de segurança.

Muito obrigado a todos que estão me ajudando a solucionar este problema.

Re: OpenCart hackeado

Enviado: 25 Mai 2013, 18:26
por valdeir2000
Todo o conteúdo da página About fica no banco de dados

Eu aconselho procurar alguém ou até mesmo uma empresa que saiba fazer pen-test na web.
http://www.siteblindado.com/pt/

Re: OpenCart hackeado

Enviado: 25 Mai 2013, 19:25
por unknown1140
felipeathayde escreveu:Eu tinha um backup dos ARQUIVOS do site, infelizmente não tinha do banco de dados. Essa situação é um pouco complicada, não vejo nenhum trigger no meu DB, sempre que houver um ataque será necessário voltar a uma versão mais antiga?

Comparei meu backup dos arquivos com os arquivos que estão atualmente no site e não há diferença entre eles - usei o programa WInMerge. Como podem alterar a página do About do meu OpenCart sem alterar os arquivos?

Estou rodando um a um todos os passos de segurança que vocês me passaram e mais alguns que o suporte da meu provedor de hospedagem sugeriu. Ao fim, colarei os passos aqui para caso alguém mais venha a passar por problemas de segurança.

Muito obrigado a todos que estão me ajudando a solucionar este problema.
Pq vc não pede um restore na sua hospedagem? Em teoria deve resolver.
É como o Valdeir disse, o About fica no BD, então é aí q mora o perigo.

Re: OpenCart hackeado

Enviado: 26 Mai 2013, 11:48
por felipeathayde
Mudanças que fiz:
1) Arquivos de backup (.bak, .bck e etc) não devem ser acessíveis, para isto use o seguinte código no .htacess (de todos os sites em sua conta):
Código: Selecionar todos
<FilesMatch "(^#.*#|\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|sw[op])|~)$">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
2) Arquivos e pastas escondidas tb devem ser inacessíveis, adicione o seguinte no .htacess (de todos os sites em sua conta):
Código: Selecionar todos
<IfModule mod_rewrite.c>
    RewriteCond %{SCRIPT_FILENAME} -d [OR]
    RewriteCond %{SCRIPT_FILENAME} -f
    RewriteRule "(^|/)\." - [F]
</IfModule>
3) Também é importante bloquear a listagem de diretórios, adicione o seguinte no .htacess (de todos os sites em sua conta):
Código: Selecionar todos
<IfModule mod_autoindex.c>
    Options -Indexes
</IfModule>
4) Bloquear a execução de scripts não autorizados usando um código parecido com o seguinte:
Código: Selecionar todos
<IfModule mod_headers.c>
    Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
    <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
        Header unset Content-Security-Policy
    </FilesMatch>
 </IfModule>
Neste código acima vc somente está permitindo a execução de códigos no seu domínio. Dependendo da sua página isto vai lhe trazer problemas, pois qualquer likebox do facebook, vídeo do youtube, use de bibliotecas via cdn e etc serão bloqueados. Se vc for "corajoso" vale a pena ler isto http://www.html5rocks.com/en/tutorials/ ... ty-policy/ para usar este código corretamente.

Não sei se vc já fez isto, mas após a invasão o ideal é apagar todos os arquivos e db e restaurar um backup. Além disto é importante tentar descobrir o que exatamente causou a invasão para "tampar" este buraco. Utilize tb um Antivirus no seu site, ao menos para verificar as falhas de segurança. Este é bem legal pq ele tem um trial que é suficiente para detectar qq problema: http://www.kyplex.com/

Grande parte das vezes o problema realmente é da hospedagem, porém softwares desatualizados podem ser até mais problemáticos do que um hospedagem insegura.[/quote]

5) Criar um arquivo htaccess em /admin com o seguinte código:
Código: Selecionar todos
# BAN USER BY IP
<Limit GET POST>
 order deny,allow
 deny from all
 allow from XX.XX.XX.XX
 allow from YY.YY.YY.YY
</Limit>
6) Criar um arquivo htaccess em /catalog com o seguinte código:
Código: Selecionar todos
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpeg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.png$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.gif$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.css$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.js$
RewriteRule ^(.+)$ /404.html [NC]
7) Criar um arquivo htaccess em /images com o seguinte código:
Código: Selecionar todos
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.jpeg$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.png$
RewriteCond %{REQUEST_FILENAME} !^(.+)\.gif$
RewriteRule ^(.+)$ /404.html [NC]
8) Alterar permissões para os arquivos:
/.htaccess - 444
/admin/.htaccess - 444
/catalog/.htaccess - 444
/images/.htaccess - 444
/index.php - 644
/admin/index.php - 644
/config.php - 444
/admin/config.php - 444

9) Alterar caminho da pasta /admin:
- Renomear a pasta /admin/ para algum nome bem seguro, torná-la protegida por senha (exigindo, portanto, um duplo login para acessá-la);
- Editar o arquivo admin/config.php (agora dentro da pasta com novo nome), substituindo todas ocorrências da palavra 'admin' com o novo nome da pasta (geralmente são 5 ocorrências);

10) Restringir acesso ao FTP:
Criando um arquivo /.ftpaccess para limitar o acesso ao FTP usando apenas meu IP (eu vou editar e colocar o IP quando precisar apenas)
Código: Selecionar todos
DenyAll
Allow XX.XX.XX.XX
Allow YY.YY.YY.YY
11) Mudar as senhas:
- Do servidor de hospedagem
- Do banco de dados
- Do e-mail
- Do sistema de Administração do Opencart

12) Já havia feito backup, mas o último backup era posterior ao ataque;

13) Já entrei em contato com o siteblindado.com.br para contratar o serviço deles.

O que acham desses passos?