Mantenha o seu WordPress seguro

Ter um blog utilizando a plataforma WordPress em seu próprio servidor (fora do WordPress.com) significa que você precisará, acima de tudo, manter a segurança do seu blog e cuidar para que nada de errado aconteça com ele.

Antes de começar com as dicas de segurança é importante salientar que nenhum sistema é 100% imune a falhas e que não existe segurança 100% garantida em qualquer sistema, seja WordPress ou qualquer outro que você conheça. Há sempre pessoas explorando cada falha de segurança já encontrada e outros estão constantemente à procura de novas vulnerabilidades para realizar os mais diversos tipos de ataques.

Uma questão importantíssima no que diz respeito à segurança de um site em WordPress é que o WordPress depende de outros softwares para funcionar e, dentre os mais importantes estão o Apache, o PHP e o MySQL porém a segurança desse trio não está nas mãos da maioria dos usuários, mas sim nas mãos dos administradores de sistema da empresa de host que você contratou para hospedar o seu site em WordPress. É preciso que esses softwares estejam sempre atualizados e com os últimos patches de segurança aplicados para que o seu site em WordPress não sofra ataques.

Em conjunto com a segurança oferecida pelos administradores de sistema da sua empresa de hospedagem você é responsável também por grande parte da segurança do WordPress e é justamente neste ponto que eu quero me focar neste texto, o que você, usuário de um sistema WordPress pode fazer para melhorar a segurança do seu site.

WordPress Sempre Atualizado

Pode parecer um ponto já batido mas é incrível notar a quantidade de sites em WordPress que estão no ar hoje rodando versões antigas do sistema. Manter o seu WordPress atualizado garante que você tenha sempre as últimas correções de segurança implantadas no seu WordPress, defendendo-o assim da maioria dos ataques realizados hoje em dia. Além do mais, sempre que o WordPress é atualizado os desenvolvedores lançam uma lista de correções e melhorias que foram feitas no código do WordPress e, tendo essa informação nas mãos, os hackers, crackers, defacers, script kids ou seja lá como você prefira chamar, terão informações suficientes para explorar vulnerabilidades em sites que estão rodando versões antigas do WordPress.

Usuário Padrão

Ao efetuar uma nova instalação do WordPress é solicitado que você crie o seu primeiro usuário, que será o administrador do geral do site. Evite utilizar o usuário “admin” para essa função pois nas primeiras versões do WordPress esse usuário era criado automaticamente, facilitando assim o ponto inicial do ataque à um site em WordPress pois já sabia-se o nome de usuário que teria sua senha quebrada para que o atacante tivesse acesso à todas as configurações e permissões dentro do WordPress. Hoje em dia é recomendado que você crie um usuário específico para a administração do site com um nome de usuário completamente diferente e, de preferência, não óbvio para que o ataque chamado “força bruta” não tenha tanto efeito.

Lembre-se também de criar uma senha forte para o seu usuário. Para isso recomendo a utilização do site Strong Password Generator pois ele gera senhas bastante fortes e de forma aleatória. Evite a utilização de senhas obvias e, principalmente, de senhas que contenham sequências de caracteres encontradas no dicionário (palavras reais ou até mesmo palavras de fácil decifração ou compreensão).

De Olho nos Plugins

Acredito que a grande variedade de plugins foi um fator decisivo para o crescimento do WordPress como plataforma e, principalmente, fator extremamente importante para a grande maioria dos usuários que optam  por utilizar o WordPress como plataforma de trabalho. Acontece que os plugins podem ser considerados também como uma face de dois gumes quando utilizados em excesso e sem critérios de adoção.

Antes de instalar um plugin no seu WordPress verifique cuidadosamente se o desenvolvedor mantém o plugin sempre atualizado e, principalmente, qual o nível de maturidade do plugin que você está pensando em instalar. Digo isso porque como a oferta de plugins é crescente, várias pessoas acabam disponibilizando plugins não acabados para que os próprios usuários façam os testes e enviem o feedback para os desenvolvedores. A quantidade de plugins em versão 0.x é enorme e todos nós sabemos que versões começadas com 0 (zzero) são plugins em versões “beta” ou mesmo em versões “alfa“, o que significa que o plugin ainda não está completamente pronto e nem completamente testado, sendo recomendado apenas para uso em ambientes de teste. Ninguém te explicou isso, não é? O uso de plugins em versão alfa ou beta pode acarretar uma série de problemas para o seu site em WordPress pois o plugin pode conter um bug que fará com que o seu site saia do ar, tenha o conteúdo corrompido ou até mesmo abra uma brecha de segurança que pode fazer com que pessoas alheias tenham acesso à todo o controle do seu site e imagino que isso nem de longe passa por sua lista de considerações.

Além de instalar uma versão estável do plugin é importante observar como anda o desenvolvimento do plugin, como por exemplo, como o desenvolvedor acata as mudanças sugeridas pelos usuários e, principalmente, qual a frequencia de atualização deste plugin. Existem plugins disponíveis no repositório oficial do WordPress que não apresentam atualizações há mais de dois anos (!) o que, em alguns casos, significa que o plugin utiliza um código ultrapassado e já em desuso. É claro que existem plugins que não são atualizados com tanta frequência simplesmente pelo fato de não precisarem, mas é impossível extremamente difícil encontrar um plugin que não precisou de atualização nos últimos 2 anos.

Outro fator importante é manter os seus plugins sempre atualizados pois, assim como acontece com o core do WordPress, alguns desenvolvedores optam por divulgar as falhas que foram corrigidas na última versão de seus plugins e, dessa forma, uma pessoa maliciosa terá informações sobre possíveis fraquezas do seu site em WordPress caso você esteja utilizando uma versão desatualizada do plugin.

Permissões de Arquivos

Outro aspecto básico na segurança não só de um site em WordPress como em qualquer outro site é o nível de permissões que os arquivos recebem ao serem enviados para o servidor. Não adianta nada você ter um host de qualidade hospedando os seus arquivos se no seu sistema você possui arquivos que entregam de mão beijada permissões em excesso para os usuários através das permissões dos arquivos.

A maioria dos arquivos e diretórios do WordPress devem ter permissões de escrita apenas pelo proprietário do arquivo, com exceção do diretório “wp-content“, que deve ter permissões de escrita para todos os usuários pois é para este diretório que você você enviará os arquivos que compõem o conteúdo do seu site. Já o diretório “wp-content/themes” deverá receber permissões de escrita APENAS se você quiser utilizar o editor de arquivos embutido no WordPress para editar o seu tema online, recomendo que você de preferência à edição desses arquivos offline, em seu computador, e posteriormente enviando-os para o seu servidor através de uma conexão FTP. Já o diretório “wp-content/plugins” precisa de um cuidado especial pois alguns plugins necessitam de certas permissões “especiais” para funcionarem por isso é preciso analisar com cuidado cada plugin instalado em seu site WordPress e verificando com mais cuidado ainda caso algum plugin necessite de permissões especiais para funcionar corretamente. Um caso especial de permissões é o arquivo “wp-config.php” localizado na raiz do seu WordPress. Este arquivo deve receber a permissão “750”, principalmente se você utiliza um servidor de hospedagem compartilhado, o que é o caso da grande maioria dos sites WordPress que estão online hoje. A permissão “750” significa que ninguém terá a permissão de leitura do seu arquivo “wp-config.php” e, sendo assim, ninguém terá acesso à senha do seu banco de dados, uma informação vital para o seu WordPress.

Outro caso bastante comum em vários servidores é a disponibilização de um arquivo de log de erros diretamente na raiz do site, sendo assim, qualquer um terá acesso aos erros gerados pelo seu WordPress acessando a URL do seu site e colocando, no final da URL o caminho “/error_log“. Retire as permissões de leitura públicas deste arquivo também pois dessa forma somente você poderá ler o arquivo ao baixa-lo via FTP, afinal, você não quer que todo mundo fique sabendo dos erros que o seu WordPress está gerando ou gerou em algum momento, não é?

Caso você não saiba como proceder para alterar as permissões dos arquivos do seu site em WordPress peça ajuda ao suporte do seu servidor de hospedagem, com toda a certeza ele irá lhe indicar como fazer.

Segurança do Banco de Dados

A maior parte da segurança do banco de dados de um site em WordPress é feita pela equipe que administra os servidores da empresa de hospedagem, porém você pode dar uma grande ajuda à essa equipe fazendo duas coisas bastante simples. A primeira delas é escolher uma senha forte para o seu banco de dados. Uma senha forte, como já dito, é composta por letras maiúsculas e minúsculas, números e caracteres especiais. Recomendo mais uma vez a utilização do site Strong Password Generator para a geração dessa senha forte. Não economize na quantidade de caracteres e nem nos tipos de caracteres utilizados.

Outra dica importante é mudar o prefixo das tabelas do seu banco de dados. Geralmente quando instalamos o WordPress deixamos esse pequeno item passar quase que desapercebido e o WordPress já vem configurado para utilizar, por padrão, o prefixo “wp_” nas tabelas do banco de dados. Mudar esse prefixo fará com que o seu site esteja protegido contra ataques do tipo “0-day” (zero day) e tornará o seu banco de dados menos vulnerável a qualquer ataque específico ao MySQL.

Plugins que Ajudam na Segurança

Akismet – Esse plugin já vem instalado por padrão em qualquer WordPress bastando apenas que o usuário ative-o para proteger o site contra SPAM nos comentários (é aí que grande parte dos ataques à um site em WordPress inicia).

Exploit Scanner – Esse plugin faz uma verdadeira varredura nos seus arquivos do WordPress e no seu banco de dados à procura de possíveis injeções de códigos maliciosos no seu site WordPress. O próprio plugin, na maioria dos casos, já faz a limpeza do seu WordPress ou lhe indica como fazer essa limpeza.

WordPress Firewall – Já falei desse plugin aqui em um post dedicado à ele, então, recomendo que você leia o post sobre o WordPress Firewall para saber mais sobre esse ótimo plugin.

WP Security Scan – Esse plugin faz uma varredura geral no seu WordPress à procura de questões de segurança que foram negligenciadas durante a instalação do WordPress ou que podem ser melhoradas através de medidas simples. O próprio plugin já se encarrega de executar a maioria das modificações propostas.

Serviços que ajudam a proteger o seu WordPress

Se você precisa de um nível maior de segurança em seu WordPress, existem sites especializados em fornecer um WAF (Web Application Firewall) que funciona como uma verdadeira barreira contra os mais diversos tipos de ataques existentes hoje em dia, como o ataque de SQL Injection e o ataque de XSS (Cross Site Scripting). Deste tipo de serviço eu conheço apenas 2 empresas que são a Incapsula e a CloudFlare. As duas empresas oferecem um serviço semelhante e as duas possuem a opção de contas grátis que, logicamente, possui menos recursos (e, consequentemente, menos proteção) do que as contas pagas porém já são de grande valia para um nível básico de proteção.

Conclusão

Como pode-se notar, manter a segurança de um site em WordPress não é uma tarefa muito complicada porém é necessário um certo nível de conhecimento e, principalmente, muita atenção em todos os momentos do gerenciamento do seu site em WordPress, desde a instalação até o gerenciamento diário do site.

Caso alguém tenha algo a acrescentar, sinta-se convidado a participar do debate através dos comentários deste post ou, se desejar, é só se inscrever no nosso fórum e abrir um tópico específico. Tenho certeza de que esse assunto é de grande valia para muita gente e as dúvidas não são poucas.