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“.

Segurança em Lojas Virtuais - imagem: JGI - Blend ImagesO 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.

 

Dicas de segurança para sua loja Magento
3 votos, 4.67 média (91% pontuação)
  • Alexandre Ramos

    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?

  • http://www.andregugliotti.com.br André Gugliotti

    @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

    < ![CDATA[admin]]>

    3) o q está dentro do CDATA[] no é o caminho de acesso; altere se necessário

    Boa sorte!

  • veronica

    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

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    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!

  • Pingback: Um pouco mais sobre a atualização crítica do Magento | Loja Virtual Descomplicada()

  • Marcos Vieira

    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

    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….

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    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

    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

  • http://www.andregugliotti.com.br/ Andre Gugliotti

    Nunca vi esse tipo de problema, mas recomendo tentar recuperar a senha ou alterá-la manualmente no DB.

  • Crist’Mano Nascimento

    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.