Dicas de Segurança para o WordPress

seguranca wordpressWordPress é um CMS cada vez mais utilizado no mundo, por vários motivos: é gratuito, flexível, open source e bastante completo. Por ser bastante adotado, é um alvo muito evidente para ataques e descoberta de vulnerabilidades. É preciso estar atento para evitar problemas, hacking, defaces, etc.

Aqui vão algumas dicas muito úteis para ter uma instalação segura do WordPress em sua hospedagem.

1. Esteja sempre atualizado

Em quase todas as atualizações do WordPress, existem correções de segurança. Fique sempre atento para atualizar sua instalação (é fácil e rápido, automático) assim que ela for liberada. Não corra o risco de se manter com uma falha de segurança, pois quando se divulga que ela foi corrigida, a primeira coisa que isso faz é mostrar que ela existe.

Da mesma forma, sempre atualize plugins e temas, evitando uma porta secundária de entrada de pessoas mal intencionadas.

2. Não divulgue a versão do seu WordPress

Os temas padrão do WP deixam uma metatag no código divulgando, para fins de estatística, qual versão você está utilizando do WordPress. Muitos temas desenvolvidos deixam essa informação visível, mas isso não é aconselhável. Ao sondar possíveis vulnerabilidades em seus sites, o atacante pode utilizar essa informação para definir técnicas de ataque, descobrir falhas de segurança, etc.

O código que divulga a versão está presente no arquivo header.php de seu tema. A linha que você deve remover é a seguinte:

<meta name="generator" content="WordPress <?php bloginfo('version'); ?>" />

3. Não use o login padrão do Admin do WordPress

Ao criar um novo blog, automaticamente é criado um usuário chamado “admin” que passa a ser o usuário com poderes plenos no blog. Como o login é padrão e quase ninguém o modifica, fica fácil escolher um login quando um atacante faz uma tentativa de acesso por força bruta (robôs que tentam várias senhas aleatórias até descobrir).

Para evitar ou dificultar esse acesso não autorizado, mude o login do usuário principal para um outro qualquer. Quanto mais difícil de ser adivinhado, melhor, exemplo: gerente, gerenciador, porteiro, meuadm, etc.

Você pode fazer essa alteração de duas formas:

  1. Diretamente no banco de dados, acessando o seu mysql e alterando na mão o login admin pelo outro;
  2. Ou simplesmente criando um novo usuário com poderes máximos, logando com esse outro usuário e em seguida apagando o admin.

4. Bloqueie a listagem de arquivos em suas pastas

Alguns servidores permitem que uma pasta criada, se não tiver um arquivo index, disponibilize a listagem dos arquivos existentes naquela pasta se alguém acessá-la diretamente via browser. Isso é uma falha de segurança, pois expõe os seus arquivos para todo mundo e pode ser usado para coletar dados para um ataque.

Para impedir que os arquivos de suas pastas sejam listados, adicione no seu arquivo .htaccess (hospedagem baseada em Linux) o comando abaixo. Se esse arquivo não existir, você pode criá-lo, tomando cuidado para não sobrescrever um existente, ou sua instalação do WordPress pode não funcionar corretamente. O arquivo deve estar na pasta principal (“/”) da instalação do WordPress (a mesma pasta em que está o wp-config.php).

Options All -Indexes

5. Restrinja o acesso à sua pasta wp-content

Sua pasta wp-content contém seus arquivos de temas e plugins instalados no WordPress. O acesso a essa pasta não deve ser direto, com exceção às imagens, javascript e css que possam ser utilizados pelo seu tema escolhido.

Acessos indevidos nessa pasta podem dar munição para ataques futuros, seja utilizando alguma vulnerabilidade de plugin ou tema instalado (o atacante vai saber que plugin você possui).

Mais uma vez, a solução vem da edição de seu arquivo .htaccess (não o principal, um outro, dentro da pasta wp-content), com a seguinte informação:

Order Allow,Deny
Deny from all
<FilesMatch "\.(jpg|gif|png|js|css)$" >
Allow from all
</FilesMatch>

6. Use uma melhor criptografia

As mais recentes versões do WordPress possuem uma configuração para melhorar a criptografia dos cookies gravados nas máquinas dos usuários. Setar corretamente essa configuração, dificulta alguns tipos de ataques que utilizam essas informações.

  1. Acesse o gerador de chaves do WordPress (Secret Key Generation Tool);
  2. Copie as 4 linhas geradas (elas são aleatórias e únicas. Se você der refresh, elas mudam);
  3. Edite o seu arquivo wp-config.php e procure as linhas que possuem essas informações (AUTH_KEY, etc);
  4. Substitua as 4 linhas pelas que você copiou do site gerador;
  5. Grave o arquivo e publique em seu servidor.

7. Bloqueie a indexação de arquivos do WordPress

Impeça que mecanismos de busca façam indexação em suas pastas e arquivos do WordPress. Para isso, crie ou edite o arquivo robots.txt em sua pasta principal do site (“/”) e adicione a seguinte informação:

User-agent: *
Disallow: /wp-*

8. Use SSH ou SFTP ao invés de FTP

File Transfer Protocol é o protocolo padrão de comunicação de arquivos utilizado na Internet, porém, não é lá muito seguro, pois os dados trafegam pela rede sem criptografia, abertos. Se você estiver em uma conexão comprometida, sua senha pode ser capturada ou mesmo possibilitar uma alteração de dados durante as transferências.

Utilizando o SSH (login seguro remoto) e transferindo os arquivos via SCP (secure copy), você dificulta qualquer interceptação e alteração de seus dados. Da mesma forma, o protocolo SFTP (secure FTP), trafega os dados com criptografia, estabelecendo o mesmo padrão de transferências seguras.

9. Proteja o seu arquivo de configuração

Em alguns casos, o seu servidor pode dar alguma pane temporária e há a possibilidade de expor o conteúdo de arquivos que deveriam ser executados, traduzidos. Para proteger que um arquivo importante, como o wp-config.php, que contem a senha do banco de dados e sua secret key, edite o arquivo .htaccess (da pasta principal) e adicione a informação abaixo:

<FilesMatch ^wp-config.php$>
Deny from all
</FilesMatch>

10. Plugins que te ajudam a proteger o WordPress

Existem alguns plugins que são uma mão na roda quando se trata de segurança no WordPress. Listei alguns que podem lhe ser muito úteis nesse quesito, mas lembre-se, todas as recomendações acima são importantes, não as ignore. ;-)

  • WP Security Scan – Realiza uma série de testes para avaliar a segurança de sua instalação do WordPress;
  • WP Login Lockdown – Dificulta ataques de “força bruta”, bloqueando o acesso por IP após determinado número de erros de login;
  • WP Secure – Reúne várias configurações de segurança, incluindo algumas das listadas nas dicas acima;
  • WP DB Backup – Realiza cópias de segurança de seu banco de dados automaticamente

Related Posts

Leave a Comment