Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

#89435
Irei descrever alguns passos que irá aumentar a segurança de sua loja OpenCart, dicas usará apenas recursos disponível no servidor; Mesmo dicas sendo voltadas para o opencart alguns passos poderão ser utilizados em qualquer sistema voltado para WEB;

Alterações devem ser feitas apenas por pessoa capacitada, não irei auxiliar em nenhum processo; Antes de executar qualquer dica efetue backup completo da loja "incluir arquivos e banco de dados";

Dica 01: Exclua, altere a permissão CHMOD ou renomeie a pasta "install" presente no diretório raiz da loja, esse processo é necessário apenas se essa pasta na existir com esse nome;

Dica 02: Alterar o nome da pasta administração, nativamente a url é www.dominio.com.br/admin com essa dica poderá utilizar qualquer nome como www.dominio.com.br/nova_admin; Essa dica previne tentativas de login na administração via força bruta;

Para alterar o nome acesse via FPT ou gerenciador de arquivo presente no painel da hospedagem, é necessário editar o arquivo "admin/config.php", nos valores abaixo altere os dados em destaque;

Localizar:

define('HTTP_SERVER', '.../admin/');
define('HTTPS_SERVER', '.../admin/');
define('DIR_APPLICATION', '.../admin/');

Substituir por:

define('HTTP_SERVER', '.../area_segura/');
define('HTTPS_SERVER', '.../area_segura/');
define('DIR_APPLICATION', '.../area_segura/');

Agora altere o nome da pasta "admin" para "area_segura"; Esse nome foi utilizado como exemplo, pode utilizar qualquer outro; Importante, não utilize caracteres especiais;

Com os passos acima o acesso a administração será alterada para url "www.dominio.com.br/area_segura";

Caso utilizar VQMOD deve fazer mais um processo no arquivo "vqmod/pathReplaces";

Localizar:
Código: Selecionar todos
// START REPLACES //
Substituir por
Código: Selecionar todos
// START REPLACES //
$replaces[] = array('~^admin\b~', 'area_segura');

Dica 03: Adicionar SSL em toda loja; Esse processo adiciona criptografia ponta a ponta, método previne que dados como cadastros, número de cartão de credito não sejam capturados por terceiros; Siga as dicas do link abaixo;

https://www.opencartbrasil.com.br/habil ... s-opencart

Após executados os passos do link acima agora adicione o código abaixo no arquivo .htaccess na raiz de sua loja, mesmo diretório onde tem o index.php, esse processo forçará todo conexão para https;
Código: Selecionar todos
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif) [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{REQUEST_URI} !.(jpe?g?|png|gif) [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Dica 04: Crie dois usuário de acesso ao banco de dados, um para administração e catálogo, no catálogo adicione apenas os privilégios "DELETE, SELECT, INSERT e UPDATE", após isso edite o arquivo config.php com os dados desse usuário; No arquivo admin/config.php deixe o usuário com todos privilégios, pois será necessário para certas funções na loja como instalar extensões, etc;


Dica 05: Desabilite conexão FTP para o instalador de extensões, caso sua loja tenha brechas para "sql injection" o invasor terá acesso completo aos dados de login FTP, sendo assim terá acesso aos arquivos de sua loja, para alterar, adicionar códigos maliciosos, ou deletar tudo que ele desejar; Para desabilitar acesse o menu Configurações > Configurações > Editar > Aba "FTP", remova todos dados de login e salve, agora instale a extensão https://www.opencart.com/index.php?rout ... n_id=18892 para alterar a forma que o opencart efetua o upload das extensões;


Dica 06: Utilize senhas fortes com no mínimo de 18 caracteres contendo caixa baixa, caixa alta, números e caracteres especiais para login na admin, email e cpanel


Por fim são configurações no servidor, caso não tiver conhecimento será necessário solicitar auxilio a hospedagem a hospedagem para verificar e caso não tiver solicitar a habilitação das funções abaixo;

Dica 07: Habilite o módulo "mod_security" no apache, esse módulo é um firewall, é extremamente importante está habilitado, previne ataques "XSS, SQL Injection, entre outros"; Para quem gosta de instalar extensões gratuitas que não trata corretamente as conexões mysql é extremamente importante a habilitação desse recurso;


Dica 08: Habilite a função "Proteção de força bruta", para servidor com sistema cPanel, esse é um recurso que limita o número de tentativas de login no cpanel, ssh, ftp ou email, cada falha vai ser contabilizada e após certo número de tentativas o servidor bloqueará a solicitação; Aconselho deixar no máximo 05 tentativas por IP e após esse número bloquear o visitante por 24h;
Simone gostou disso

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]