Segurança

11 jul, 2018

Como o Headless em WordPress tem sido uma camada adicional de segurança

Publicidade

Alguns projetos web são potencialmente alvo dos mais variados tipos de ataques. Uma camada adicional de segurança é sempre requerida em projetos sensíveis a essa temática. Simplesmente por sua composição, projetos em WordPress Headless tem sido uma camada adicional. Como o front-end está desacoplado do CMS, temos a parte mais sensível aos ataques com menor risco.

Trabalhando somente com arquivos estáticos (HTML, CSS, JavaScript), o atacante tem poucas possibilidades para explorar. Questões como SQL Injection, Full Path Disclosure, upload de arquivos maliciosos, backdoors e vários outros são reduzidas a quase zero. Isso se deve ao fato de não termos uma linguagem dinâmica, como o PHP, sendo processada no servidor web e conexão direta ao banco de dados.

Segurança em WordPress Headless

A simples separação do front ao back não exime tratativas necessárias de segurança. Considerar o Headless como uma camada adicional de segurança é preciso pensar no todo. Isto é, simplesmente não usar o WP na interação com o usuário final não nos deixa 100% seguros. Temos outros usuários que trazem riscos a aplicação, os usuários da sua própria empresa; acredite.

Os pontos de atenção para blindar o WP

Você precisa direcionar atenção e esforços a três áreas da aplicação.

  • Endpoints da API;
  • Mecanismo de login;
  • WP-Admin como um todo.

Sobre os Endpoints da API

Os Endpoints da API são o único caminho para obter informações do CMS. Logo, é uma porta de entrada potencialmente atacada. Os cuidados devem ser direcionados às rotas e tratativas dos parâmetros aceitos.

Considerar uma camada de cache para os resultados às consultas, além de um tremendo ganho de performance também contribui para a segurança, uma vez que o resultado cacheado não será processado novamente até sua expiração.

Sobre o mecanismo de login

O login do WP, assim como de qualquer outra aplicação, é alvo constante de ataques clássicos como o de força bruta.

É um tipo de ação em que o ataque realiza milhares de combinações para tentar decifrar a combinação do login e senha dos usuários. Quando a combinação é descoberta, o acesso à área administrativa é garantido pela porta da frente.

Ações clássicas nos ajudam a blindar o mecanismo de login do WordPress:

  • Implementar a autenticação HTTP;
  • Implementar a autenticação de dois fatores;
  • Implementar reCaptcha;
  • Bloquear o acesso para determinados números de IPs;
  • Fechar o acesso e liberá-lo somente através de VPN.

Mas é preciso garantir, e principalmente educar, os usuários a fazerem uso de senhas fortes. Caso contrário, nossos esforços serão praticamente em vão.

Sobre o WP-Admin

O WP-Admin em projetos Headless é o WP em si, e temos algumas tratativas importantes a serem consideradas. Primeiramente, a instalação fica em um endereço diferente do endereço público, mas a descoberta é facilmente feita através da análise às consultas dos Endpoints da API.

No WP-Admin estarão os clássicos plugins do WordPress. E como sabemos, nem todos seguem padrões de segurança, portanto, é necessário blindar e aplicar as regras de segurança para garantir uma maior segurança.

Os pontos de atenção além do WP

É importante que fique claro que as tratativas de segurança a serem aplicadas ao servidor web devem ser seguidas. Aplicações totalmente construídas com front-end também são passíveis de brechas. Não é o fato de adotarmos o conceito de WordPress Headless e não termos o CMS no front que nos exime de nos preocuparmos com a segurança nessa camada de interação.

O maior ponto focal precisa ser quanto ao Cross-Site Scripting, conhecido como XSS, um tipo de injeção de códigos, em que scripts maliciosos são injetados em uma página arbitrariamente.

A camada adicional de segurança

Projetos que adotam e aplicam o conceito de Headless agregam uma camada adicional de segurança, mas como percebemos, nossos esforços de monitoramento e proteção ainda são necessários.

Nesse tipo de projeto é importante pensar que ganhamos um aliado a segurança, mas não uma solução definitiva.