15 dicas de segurança para WordPress

Deixe seu WordPress à prova de balas com essas dicas “matadoras” de segurança.

 

Por trabalhar há um considerável tempo como desenvolvedor web, não são poucas as vezes que o público das comunidades de SEO que participo me questionam sobre segurança de WordPress, muitos ainda me pedem ajuda para limpar seu site invadido ou analisar um possível ataque hacker e proteger seu site. Resolvi então criar esse post com algumas dicas que vão manter seus projetos web, em WordPress, mais protegidos.

Nunca use temas e plugins nulleds (piratas)

Não se engane, plugins e temas piratas em sua imensa maioria não são oferecido pura e simplesmente pra lhe ajudar, as pessoas por trás deles não são legais e sempre tem algum interesse nisso, seja ele tão simples quanto colocar um backlink para algum de seus projetos em todas as instalações daquele plugin, muitas vezes “escondidos” dentro do banco de dados, quanto para abrir uma brecha (backdoor) nesses sites para futuros ataques. Um tema não custa mais de 60 dólares e plugins geralmente são baratos se olharmos para seu custo/benefício, portanto adquira temas e plugins originais, já não basta seu Windows, Office e pacote Adobe piratas? (rs). Brincadeiras a parte, o barato (no caso grátis) pode sair muito caro.

SOLUÇÃO: Comprar temas e plugins originais em todos seus projetos, principalmente projetos de terceiros, para seu trabalho não ser comprometido.

Evite utilizar temas gratuitos para projetos profissionais

Temas gratuitos podem e devem ser usados para testes, porém grande parte deles não tem atualizações e, em muitos, nem suporte é oferecido. Claro que temos exceções como os temas da Automatic (ex: O Store Front, que está sempre atualizado e livre de bugs), mas para projetos profissionais busque temas e plugins com bom número de vendas e bom histórico de reviews, isso mostra que eles já foram testados e aprovados muitas vezes em mais diversos ambientes e situações.

SOLUÇÃO: Salvo para projetos de testes, nos quais os temas gratuitos são muito bem-vindos, procure usar temas pagos, pois eles costumam ter atualizações de segurança e suporte de qualidade.

Não utilizar o usuário padrão admin.

Muitas instalações automáticas do WordPress sugerem a utilização do usuário “admin” como administrador do sistema, por isso grande parte dos ataques brute-force, aqueles nos quais são feitas tentativas de logins utilizando milhares ou até milhões de combinações de usuários e senhas, focam suas tentativas de descoberta de senhas no usuário “admin”.

SOLUÇÃO: Alterar o usuário padrão sempre que lhe for sugerido o admin, quanto mais “incomum” o nome melhor, pois as chances de um hacker adivinhar seu usuário ficam infinitamente mais difíceis desta forma.

Sempre que possível alterar a url de login do admin do WordPress.

A primeira url que o hacker acessará em uma tentativa de login no seu WP será a padrão “seusite.com/wp-admin”, então por que não dificultar um pouco o trabalho dele alterando para “seusite.com/qualquer-coisa”? Essa questão simples lhe proporcionará maior segurança em um simples passo. Algo difícil de decorar lhe trará mais segurança, mas anote em um local seguro a nova url, senão poderá ter trabalho para lembrá-la depois (rs). Atenção: serviços que acessam seu site remotamente e alguns plugins podem buscar pela pasta /wp-admin padrão e conflitar com a alteração, portanto fique atento e realize testes após a alteração.

SOLUÇÃO: Para facilitar o processo de alteração do URL o plugin WPS Hide Login faz o trabalho de forma gratuita, então fique a vontade para atualizá-lo.

Proteja-se de ataques DDoS

Ataques DDoS (Distributed Denial of Service) como o nome diz, são ataques distribuídos de negação de serviço. São utilizados para derrubar sites e são os mais difíceis de barrar, já que firewalls apenas barram ou liberam acesso a determinadas portas e serviços para nenhum ou todos os usuários ou a endereços IPs. No caso como esse tipo de ataque é descentralizado e possui computadores de todo o mundo, infectados e utilizados como escravos, é impossível barrar um range de IPs que resolva o problema.

SOLUÇÃO: O CND Cloudflare possui uma solução gratuita, mas que não é muito recomendada, já que carrega uma página de aviso de proteção contra DDoS (que também é responsável por realmente proteger seu site contra o ataque) e só depois de 5 segundos direciona ao seu site. isso pode ser negativo pois muitos usuários desistem do acesso, alguns acreditando se tratar de um erro do site e outros com medo de algum tipo de vírus ou algo que pode prejudicar seu computador/celular. Já na versão paga do CloudFlare essa tela intermediaria não existe e a proteção é transparente.

Utilize uma hospedagem segura

Não adianta blindar seu WordPress se sua hospedagem não for segura, pois tendo acesso ao seu servidor tanto o WordPress, quanto todos os seus dados contidos nele estarão comprometidos. Se tratando de hospedagem, procure evitar a compartilhada, pois uma tentativa de ataque vinda de um ip compartilhado contigo pode listar seu site e e-mails em blacklists sem o seu conhecimento. Ao utilizar um VPS, Cloud ou Dedicado, certifique-se que está com os updates de segurança e de softwares sempre atualizados, pois isso lhe garantirá proteção contra falhas de sistema e softwares.

SOLUÇÃO:Além da segurança, velocidade é muito importante para seu site ser bem rankeado no Google, por isso utilizo uma VPS bem especial, que é gerenciada por um time de primeira, com suporte 24h, configuração otimizada (com CDN e plugin de cache próprios otimizados para essas configurações), além de servir conteúdo dinâmico e estático distribuídos entre Nginx e Apache, garantindo mais performance; e pra completar, cache em nível de servidor (Varnish). Esse serviço é fornecido pela Cloudways, com servidores gerenciados Digital Ocean, Vultr, Amazon, Google, etc, a partir de US$7/mês já incluso todo o gerenciamento e backup diário, com capacidade tranquila para 8 sites com bom número de acessos neste preço inicial, devido a sua excelente otimização. Eu utilizo para meus projetos e projetos dos meus clientes para não ter dor de cabeça. Clique aqui e assine você também, depois me diga se gostou, tenho certeza que irá se surpreender.

Utilize sempre senhas difíceis

Ainda que o WordPress tenha a opção para permitir senhas fáceis, sempre que possível opte por utilizar as senhas difíceis, seguindo as orientações da plataforma, assim seu site estará bem mais seguro contra ataques brute-force, que tentam descobrir suas senhas através de imensas listas de potenciais palavras.

SOLUÇÃO: Utilize letras minúsculas e maiúsculas, caracteres especiais e números. Uma senha bem feita e com 8 ou mais caracteres é praticamente impossível de ser descoberta.

Esconda e proteja o Wp-config.php

O wp-config.php contém informações muito importantes sobre o seu WP, como por exemplo o url, nome do banco, usuário e senha por ele utilizado, portanto proteger esse arquivo é um processo crucial para sua segurança. Duas ações são possíveis, proteger sua edição e movê-lo para fora da pasta wp-content/.

SOLUÇÃO: Mova o wp-config.php para uma pasta acima da raiz do seu virtual host (muitas vezes a pasta acima da /public-html ou /web), assim você garantirá que bugs em plugins ou no próprio WordPress permitam acesso ao conteúdo desse arquivo, uma vez que este bug pode comprometer todo o conteúdo dentro destas pastas. Você não precisa adicionar nenhum comando ao WP ao mover essa pasta para a sua superior imediata, pois o WordPress quando não encontra o conteúdo nas pastas padrões, procura automaticamente uma acima :). Ainda é possível via .htaccess limitar o acesso a esse arquivo wp-config.php por qualquer usuário que tente acessá-lo remotamente, adicionando o código abaixo dentro do seu .htaccess:

<files wp-config.php>
order allow,deny
deny from all
</files>

Se possível desabilite o XML-RPC

O XML-RPC é um serviço que vem ativado por padrão no seu WordPress, porém pode se tornar um vilão se tiver suas falhas exploradas pro hackers, que podem, por exemplo, utilizá-lo para enviar via linha de comando muitos usuários e senhas simultaneamente para validação em seu sistema em um ataque brute-force, ou ainda para realizar um ataque DDoS utilizando pingback. A função do  XML-RPC no seu WP é permitir executar ações em seu WP remotamente através de aplicações terceiras utilizando sua API, como publicar, editar, deletar um post, entre outras coisas.

SOLUÇÃO: Se você não utiliza acessos remotos a partir de aplicações terceiras, pode desabilitá-lo sem problemas, para garantir maior segurança ao seu WP. Porém fique atento, algumas funcionalidades do Jetpack, dependem dele, caso você tenha algum problema ao desabilitá-lo, teste habilitando-o novamente. Bote na balança se as funcionalidades que o utilizam valem o risco de deixá-lo ativo e caso realmente deseje desativá-lo, utilize algum plugin como o Disable XML-RPC que faz o serviço facilmente sem você precisar mexer no código.

Desabilite edição de arquivos

Desabilitar a edição de arquivos irá previnir que se edite qualquer arquivo a partir da interface de admin do seu WP. Isso irá garantir que, mesmo que por alguma falha no sistema, um hacker acesse seu admin, ele não conseguirá editar nenhum arquivo de configuração.

SOLUÇÃO: Insira o seguinte linha dentro do seu wp-config.php:

define('_FILE_EDIT', true);

Desative a execução de PHP na pasta uploads.

O webserver necessita de permissão de gravação na pasta /uploads do WordPress, pois é por ali que os arquivos são subidos remotamente, porém não é necessário permitir a execução de arquivos .php nesta pasta, e não bloqueá-los pode ser uma brecha de segurança.

SOLUÇÃO: Bloqueie a execução de arquivos php na pasta /uploads criando um .htaccess dentro desta pasta e inserindo o seguinte:

<files *.php>
deny from all
</files>

Permissões dos arquivos e pastas do WordPress.

As permissões do WordPress em hipótese alguma podem estar 777 (que permitem a todo o tipo de usuário do sistema ler, executar e gravar nos arquivos e pastas do WP). Muitos ainda utilizam as permissões 665 e 775 que permitem ao donos dos arquivos e seus grupos lerem, executarem e gravarem arquivos e pastas no sistema, porém a permissão ideal para os seus arquivos é 644 para os arquivos (dono do arquivo lê e escreve, grupo do dono e outros usuários somente lêem) já para os diretórios a permissão correta deve ser 755 (dono do diretório lê, escreve e executa, grupo do dono e outros usuários somente lêem e executam).

SOLUÇÃO:Altere as permissões através das linha de comando abaixo ou através do seu cliente FTP se for permitido (sempre executadas a partir da raiz do seu WP).

#busca todos os arquivos dentro das pastas abaixo desta e os altera para 644
sudo find . -type f -exec chmod 644 {} +
#busca todas os pastas abaixo desta e as altera para 755
sudo find . -type d -exec chmod 755 {} +

Limite tentativas de logins

Limitar a tentativa de logins irá previnir que um ataque brute-force tente milhares ou milhões de combinações de login e senha em seu site para tentar hackeá-lo. Existem diversos plugins com recursos para limitar essas tentativas de login.

SOLUÇÃO: Utilize um plugin que tenha o recurso de limitar as tentativas de login, como por exemplo o WP Limit Login Attempts, que além de limitar e rastrear os logins, ainda é leve, adiciona captcha e direciona requests suspeitos para a homepage para brecar ferramentas de hacking.

Utilize autenticação em 2 fatores

Autenticação em dois fatores é mais um recurso de segurança que pode ser implementado no WP. Além de você utilizar sua senha, ao ativar esse tipo de autenticação, é necessário um segundo fator para que você acesse o seu sistema, como acontece com os bancos, que uma segunda senha é gerada em um token para que você tenha acesso a alguns recursos.

SOLUÇÃO: Utilize um plugin com o recurso de autenticação em dois fatores, como o Two Factor Authentication, que como um segundo fator utiliza por exemplo o Google Authentication, que gera senhas aleatórias enviadas ao seu celular através de um app, as quais são utilizadas em conjunto com sua senha para lhe permitir o acesso ao site.

Plugins de segurança

São diversos os plugins de segurança disponíveis para o WordPress, mas dois deles que considero muito importantes são: o Sucuri e o WordFence, ambos tem suas versões gratuitas, que já ajudam a proteger bastante o sistema; e suas versões pagas que blindam seu WP ainda mais. Entre os recursos do Sucuri estão: auditoria de segurança, monitoramento de integridade de arquivo, escaneamento remoto de malware, monitoramento de blacklist, notificações de segurança e Firewall (este último somente na sua versão Premium). Já entre os recursos do WordFence estão monitoramento de segurança, firewall, as seguranças de login já citadas neste post (limite de tentativas, two factory authentication e dificuldade de senha) e recursos de bloqueios suspeitos desde o nível de um único IP até um país inteiro. Enfim são dois plugins que não abro mão em nenhuma instalação em meus projetos em produção.

SOLUÇÃO: Baixe e instale as versões gratuitas do WordFence e do Sucuri em todas suas instalações de WP, eles já lhe garantirão uma proteção enorme, se tiver condições financeiras adquira as versões Premium, pois lhe trarão ainda mais segurança e tranquilidade.

 

Espero que tenham gostado desse post. Se curtiram deixem seus comentários e compartilhem em suas redes sociais. Valeu e boa sorte nos projetos!

9 comentários em “15 dicas de segurança para WordPress”

  1. Show de bola Marcelo, excelentes dicas! Só uma dúvida.. eu sempre instalo o plugin “Wordfence Security” nos meus sites. A pergunta é.. esse plugin faz algumas dessas prevenções elencadas aqui no seu artigo?

    Responder
  2. eu uso tambem o plugin Wordfence Security mas pelo trafego do plugin eu vejo varias tentativas de login e ataques.
    Instalei por prevenção esses 3 plugin em meu wordpress

    Login LockDown > para limitar a tentativa de login,depois de 5 tentativas o usuario e bloqueado por um tempo
    Wordfence Security
    Disable XML-RPC

    Responder
    • Que bom que gostaram! 🙂 Criam plugins também? Algumas vezes tenho demandas mas não consigo cumprir por tempo.

      Responder

Deixe um comentário

Cadastre-se

Cadastre-se para receber nossas novidades e matérias.