Medidas de segurança em lojas Opencart vítimas de spam em pedidos

Uma situação que ocasionalmente ocorre no Opencart é uma quantidade muito alta de pedidos devido ao ataque de algum robô desenvolvido para essa finalidade. Esse ataque visa o pagamento de pedidos fraudulentos, com cartões falsos. Apesar dos gateways de pagamentos cancelarem o pagamento, esse tipo de problema gera o incômodo ao lojista de muitos pedidos falsos sendo registrados no painel da loja.

Existe também um possível incômodo caso o gateway de pagamento decida por cancelar o contrato do lojista devido a falta de providência quanto a segurança dentro da loja.

A prática do ataque:
Em uma verificação que fiz em uma loja virtual que estava com esse problema, foi detectado que o ataque por robô ocorria direto no checkout da loja e ao meio de pagamento com cartão de crédito.

A solução possível nesse caso, pelo menos em uma tentativa inicial, seria bloquear o acesso externo a essas páginas do checkout e do meio de pagamento. Especificamente a última etapa do checkout (no caso do checkout nativo por etapas do Opencart).

A seguir listarei algumas medidas antispam possíveis para evitar ataques desse tipo, assim como também prevenir o spam em outras partes da loja.

Medidas básicas de segurança antispam(configurável pelo lojista no painel Opencart):

1 - ativar o captcha em todos os formulários da loja(se necessário até mesmo no login)
2 - ativar um captcha no módulo de cartão(caso o módulo tenha essa possibilidade)

Medidas avançadas de segurança(exige conhecimento técnico):

Opção 1 - criar um token no início do checkout e encerrar o token na última etapa do checkout, inviabilizando o ataque subsequente devido a inexistência do token e consequente expiração do checkout.
Opção 2 - adicionar um header HTTP na página do checkout com "Access-Control-Allow-Origin", impedindo que origens diferentes do endereço da loja tenha resposta do checkout.

É importante mencionar que situações diferentes podem exigir medidas diferentes. O primeiro a se fazer é tentar descobrir como o ataque está sendo realizado e assim aplicar as medidas da melhor forma possível.

A medida de segurança criando o token no checkout não impede que os pedidos sejam criados reiniciando o checkout e renovando o token a cada novo pedido, mas certamente vai criar uma camada de complicação a mais. Em muitos casos uma camada de complicação a mais é suficiente para inviabilizar a prática do atacante.


Comentar