Esse post foi baseado em um post publicado no E-Commerce Chile e você pode ver o post original em espanhol em “Consejos útiles para una buena seguridad en tu Magento“.
O Magento por natureza é uma plataforma segura. Desde as primeiras versões, os desenvolvedores sempre tiveram a segurança como uma questão primordial, utilizando elementos que reduzem as chances de invasão e ataques e por ser uma plataforma opensource há uma gama grande de pessoas testando as novas versões antes da liberação oficial e qualquer falha de segurança costuma ser corrigida rapidamente.
Isso não quer dizer que não há nada que você possa fazer para melhorar a segurança de sua própria loja e dificultar a vida de pessoas mal-intencionadas, que fazem de tudo para atrapalhar a vida dos outros, muitas vezes apenas por diversão. Vamos a sete dicas de como aumentar a segurança de sua loja virtual Magento:
1) altere o login do administrador e use uma senha forte
A maior parte das empresas usa o nome admin ou administrador para identificar o usuário administrativo do sistema. Se o hacker já tem o login, uma parte expressiva do caminho já foi facilitado. No Magento, é possível dar o nome desejado ao administrador e também criar cargos, dando permissões de acesso segmentados a usuários conforme a sua necessidade.
A senha é outra questão delicada a cuidar. Mescle letras e números e não use a mesma senha em vários sites. O Magento também traz um bloqueio que obriga o usuário a mesclar ao menos uma letra e um número, com mínimo de 7 caracteres.
Você altera essa opção em Sistema -> Minha Conta.
2) Altere a URL de acesso ao painel administrativo
Na instalação, o Magento nos pede para escolher qual será a URL de acesso ao painel administrativo. A maior parte coloca sualoja.com.br/admin e isso novamente facilita o caminho dos mal-intencionados. Confesso: quando eu desenvolvia lojas eu escolhia essa URL por ser mais fácil de o cliente lembrar, mas você deve evitar, especialmente em lojas de maior responsabilidade.
Você altera essa opção em Sistema -> Configurações :: Administrativo :: Base URL de Administração.
3) Não exibir a Chave Secreta nas URLs do painel
Dentro do painel de administração, as URLs automaticamente exibem uma chave secreta, no final. Apesar de eu nunca ter ouvido comentários negativos sobre essa questão, existe a possibilidade de não exibi-la na barra de endereços, reforçando a segurança.
Você altera essa opção em Sistema -> Configurações :: Administrativo :: Segurança.
4) Cópia de segurança
Não é preciso mencionar essa questão, mas vamos lembrar: todos os seus dados devem ter cópias de segurança periódicas. O Magento traz essa opção, porém eu sempre tenho receios (às vezes infundados) de backups feitos pela própria plataforma e prefiro trabalhar com backups completos de todo o ambiente (é lógico em outro servidor, em outro data center).
Você controla essa opção em Sistema -> Backups.
5) Atualização do sistema
Não deixe de atualizar o sistema sempre que sair uma nova versão. Não digo que seja necessário ser o primeiro a atualizar, no primeiro release estável, mas não deixe passar mais que dois meses depois do lançamento para atualizar o seu sistema. É claro que você não vai atualizar em cima da versão de produção, mas sim em um ambiente clonado especialmente para isso. É claro também que você terá feito um backup dos seus dados e poderá revertê-los imediatamente se necessário.
Você tem uma grande ajuda para atualizar com o Magento Connect em Sistema -> Magento Connect.
6) Permissões de arquivos
Em servidores Linux, todo arquivo tem 3 diferentes permissões para 3 tipos de proprietários: ler, gravar e executar, para dono, grupo e todos. Essa combinação é um dos segredos da segurança no sistema Linux e você não deve abusar disso. Arquivos devem ter permissão 644 e pasta 755. No Magento, há poucas pastas que ainda precisam de permissões 777: /app/etc, /media e /var.
7) contrate um certificado SSL para as áreas restritas
O Magento permite que áreas públicas fiquem sobre o protocolo http convencional e áreas restritas, como finalização do pedido, área do usuário e painel de administração fiquem sob o guarda-chuva do protocolo https. Compre um certificado SSL – você não precisa investir no certificado mais caro se não quiser; há boas opções na casa de R$ 200,00 por ano ou até menos -, instale no servidor e configure no Magento.
Você altera essa opção em Sistema -> Configurações :: Web :: HTTPS.
E você, que dicas tem a compartilhar para aumentar a segurança de uma loja virtual Magento? Os comentários estão abertos.
17 Comments
Alexandre Ramos · 28/05/2012 at 23:06
Olá André;
Sobre este artigo auterei o caminho do admin como você mensionou e agora não entra no adimin de maneira alguma. Como faço para reverter isso e não perder tuda a loja?
André Gugliotti · 29/05/2012 at 08:43
@xandy
Bom, isso não deveria ter acontecido. De qqer forma, vc não perdeu toda a sua loja, ela ainda está lá.
Algumas possibilidades de causas para o erro:
a) vc digitou alguma coisa errada na nova URI de adm e portanto, está buscando a URL errada
b) teu Magento estava com algum erro antes disso e ele só apareceu agora
Pra consertar (e todos os outros q fizerem bobagem, usem isso):
1) entre no FTP e localize o arquivo /app/etc/local.xml
2) verifique no final do arquivo a sequência
3) o q está dentro do CDATA[] no é o caminho de acesso; altere se necessário
Boa sorte!
Shirio Wyng Tjun · 09/06/2012 at 14:56
andré muito obrigado pelas dicas…
Pedro Muraki · 19/02/2013 at 04:31
Oi André, é realmente necessário atualizar o magento sempre que sair uma nova versão? Qual a vantagem? Quais os problemas de não atualizar?
Obrigado, abraços.
Andre Gugliotti · 19/02/2013 at 10:47
@Pedro, é sempre bom atualizar, pelas melhorias incluídas na atualização e possíveis correções de bugs. Mas não atualize direto pras versões terminadas em 0, como 1.7.0.0, espere sempre sair o release seguinte, como 1.7.0.1.
Pedro Muraki · 20/02/2013 at 18:37
Legal, obrigado pela informação. Abraço
Alexandra Bombonato · 01/05/2013 at 12:50
Olá André,
Tudo bem, meu nome é Alexandra e tenho uma loja na plataforma Magento. Como sou Estilista
e não da área de TI contratei uma empresa de nome NiceDesigners para fazer a minha loja, após 4 meses a loja ficou pronto, porem sempre que preciso trocar um banner ou fazer qualquer alteração é uma guerra, inclusive hoje estou enviando este email para vc de outro endereço, porque o da loja não está funcionando.
Para vc ter uma idéia eu tenho que cobrar deles o boleto de hospedagem e manutenção.
A minha dúvida é: É possivel mudar a loja de lugar? Você conhece alguma empresa idonea para indicar, que trabalhe serio e com profissionalismo.
Não quero perder todo meu investimento, porem está dificil continuar com esta empresa.
Só tenho acesso ao painel de controle.
Obrigada
Alexandra Bombonato
http://www.alexandrabombonato.com.br
Andre Gugliotti · 01/05/2013 at 19:17
Olá, Alexandra, parece q eu já vi esse filme antes. Teoricamente a empresa é obrigada a liberar o código fonte, mas na prática não há o q fazer, infelizmente. Entre em contato comigo q eu vejo como posso lhe ajudar.
veronica · 15/01/2015 at 22:42
Ola boa noite André,
Necessito de uma grande ajuda. Já estou a alguns dias tentando resolver este problemas mas ainda não encontrei a solução.
Eu desenvolvi a principio minha loja magento no meu localhost, depois migrei para um servidor de hospedagem, fiz a migração para o HostGator, via ftp. Porém não consigo mais acessar meu painel de administrativo do magento, minha URL esta funcionando normalmalmente, toda vez que tento acessar o cpanel do magento pelo endereço meudominio/admin ou meudominio/magento/admin sou direcionada para este link: http://santacapinha.com.br/index.php/admin/dashboard/index/key/f2228c9d6f6bf2a241f826c4be7ba56a/
Já executei este comando SQL:
SET FOREIGN_KEY_CHECKS=0;
UPDATE `core_store` SET store_id = 0 WHERE code=’admin’;
UPDATE `core_store_group` SET group_id = 0 WHERE name=’Default’;
UPDATE `core_website` SET website_id = 0 WHERE code=’admin’;
UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code=’NOT LOGGED IN’;
SET FOREIGN_KEY_CHECKS=1;
Aparentemente está tudo correto no BD phpMyAdmin.
O suporte HostGator me informou o seguinte:
‘ Verificamos que você está forçando um redirecionamento ao endereço “santacapinha.com.br/magento” através de seu arquivo .htaccess. Neste caso deverá efetuar a correção nas URL’s de sua loja.’
O que significa? Como faço esta alteração?
Desde já grata.
Verônica Brito
veronicabrito105@gmail.com
Andre Gugliotti · 16/01/2015 at 06:56
Veronica,
Verifique esses itens: .htacess (na raiz do Magento), cache (no painel), endereço da loja (no DB, tabela core_config_data).
Veja também se você consegue se cadastrar como cliente na loja e se logar. Outra possibilidade: troque o navegador, o Chrome às vezes dá esse problema.
Boa sorte!
Marcos Vieira · 20/06/2015 at 17:19
Caro André, obrigado por todas as dicas do site, são valiosas.
Fiz a alteração do acesso ao administrador (admin) para (logaritimo), até porque, não obstante estou desenvolvendo a loja, houve tentativa de acesso (foi trabalhoso…).
Porém, agora, não tenho mais acesso.
O log de erro aponta:
a:5:{i:0;s:67:”Illegal scheme supplied, only alphanumeric characters are permitted”;i:1;s:3442:”#0 /home/busca318/public_html/apostilasjuridicas.com.br/app/code/core/Mage/Core/Model/Store.php(777): Zend_Uri::factory(‘logaritimo/’)
Acessei o arquivo mas não entendi a chamada, pois a loja ainda não tem ssl, somente após eu terminar de configurar…
Se tiver um tempo para ler, aguardo…abraço,
Marcos Vieira · 20/06/2015 at 18:03
Caro André, obrigado por seus preciosos post.
Se tiver um tempo e puder dar uma olhada no meu erro…agradeço….
Fiz a alteração da url de acesso ao painel administrativo pelo próprio painel, em configurações ->Administrativo -> Base URL de Administração, porém, após salvar a alteração não tenho mais acesso. Retorna um erro. O arquivo de log aponta a seguinte mensagem:
a:5:{i:0;s:67:”Illegal scheme supplied, only alphanumeric characters are permitted”;i:1;s:3442:”#0 /home/busca318/public_html/apostilasjuridicas.com.br/app/code/core/Mage/Core/Model/Store.php(777): Zend_Uri::factory(‘logaritimo/’)
o novo caminho criado contém apenas caracteres alfanuméricos, sem números, sinais ou underline……
Analisando a linha 777 do arquivo Store.php, não consegui identificar a chamada e muito menos o erro:
$uri = Zend_Uri::factory($secureBaseUrl);
O arquivo local.xml está ok, e o acesso à loja normal…
abraço….
Andre Gugliotti · 22/06/2015 at 08:00
Não sei te dizer sem olhar, Marcos. Portanto, o que posso te recomendar é entrar no local.xml e retornar o valor original, na chamada abaixo. Isso vale para todos que tiverem problemas ao mudar o acesso.
Alexandre Ferreira · 16/07/2015 at 16:06
André, boa tarde. Amigão pro gentileza sabe orientar por que não consigo acesso com o meu usuário e login. Estou editando o Magento 1.9.1 e logo quando estava editando algumas categorias a minha página do painel administrativo fechou automaticamente e não consegui acessar mais com o meu usuário e senha.
Aguardo sua orientação.
Att;
Alexandre
alexandre.f312@gmail.com
Andre Gugliotti · 17/07/2015 at 07:46
Nunca vi esse tipo de problema, mas recomendo tentar recuperar a senha ou alterá-la manualmente no DB.
Crist'Mano Nascimento · 01/12/2015 at 21:25
Boa noite André, estou tentando migrar minha loja feita no magento para outro servidor que é a RedeHost quero tirar da locaweb para esse novo servidor, porem ainda sem sucesso.
Você poderia me auxiliar nessa questão.
Obrigado deis de já.
Abraços.
Um pouco mais sobre a atualização crítica do Magento | Loja Virtual Descomplicada · 27/04/2015 at 09:31
[…] concluir, há alguns anos postei um artigo falando sobre como melhorar a segurança do Magento. Um dos itens falava sobre mudar a URL do painel de administração. Até onde entendi, essa brecha […]