WordPress é seguro? O que fazer para melhorar a segurança?

Em Abril de 2019, ocasião da publicação deste artigo, aproximadamente 60% de todos os sites baseados em CMSs, utilizam o WordPress como plataforma de desenvolvimento. Este aspecto tem importantes implicações e uma das mais relevantes, é o aspecto da segurança. Muito se fala a respeito da segurança do WordPress, mas você sabe se o seu site baseado no WordPress é seguro? Sabe o que fazer para melhorar a segurança?

O WordPress é seguro?

Esta é a pergunta mais feita por quem usa o WordPress ou quem pretende usá-lo. A principal razão desta preocupação tem a ver com o fato de que a maior parte dos sites que apresentam problemas de segurança, são baseados neste CMS.

Naturalmente se levarmos em consideração que a cada cinco sites criados sob a plataforma de algum CMS, três usam o WordPress, é de se esperar que o número de ocorrências seja o mais elevado entre todos os CMSs. Mais que isso, do ponto de vista de quem explora alguma vulnerabilidade conhecida, ao buscar sites que a contenham, as chances de encontrar uma grande quantidade de vítimas em potencial, é maior.

Mas o problema não é exclusividade do WordPress, já que todos os CMSs têm problemas de segurança. Na verdade, praticamente é impossível apontar um sistema ou aplicação que seja livre de falhas de segurança.

Por conceito, algo só é seguro até o momento em que alguém descubra alguma brecha que possa ser explorada. É como no caso do Windows, em que na segunda terça-feira de cada mês, um pacote de atualizações é liberado pela Microsoft e que sempre contém pelo menos uma atualização de segurança. Resumidamente, é um jogo de gato e rato, onde se disputa quem é mais rápido na descoberta dos problemas ou na resolução deles.

Mas se por um lado a grande quantidade de possíveis alvos é um chamariz para os hackers (na verdade crackers), por outro lado, um CMS tão popular e com um índice de adoção tão grande, conta com uma ampla comunidade de desenvolvedores, técnicos e especialistas em segurança concentrados em resolver rapidamente os problemas mais comuns tão logo sejam descobertos.

Por que há problemas de segurança?

A questão da segurança sempre foi um aspecto decisivo no desenvolvimento de softwares – e o WordPress é um software. Há basicamente dois pontos em que se apoia a segurança: a programação usada na aplicação e o usuário.

Por mais capaz, habilitada e cuidadosa que seja a equipe de desenvolvimento, alguns problemas são insolúveis por parte de quem cria, uma vez que há usuários leigos ou descuidados que podem colocar a perder mesmo as medidas mais rígidas para fortalecer a segurança de um sistema.

Um exemplo extremamente comum, é a questão de escolha de senhas, sabendo-se que é extremamente comum adotar-se senhas tão simples como 123456 ou password! Invadir um site que use senhas como estas, não exige nem mesmo que se tenha um cracker do outro lado.

Portanto, parte das soluções para se ter sistemas seguros, passa por um trabalho de informação do usuário quanto a procedimentos adequados, sem o que, sempre haverá riscos quanto à segurança do sistema ou aplicação usados.

Especificamente em termos do WordPress e da sua programação, existe uma grande preocupação para eliminar as falhas no código que possam permitir um site ser invadido e alterado. Além equipe responsável pela segurança do CMS, há parcerias com empresas do segmento e hostings. Com o trabalho orientado neste sentido, regularmente são lançadas atualizações que têm como objetivo mais do que simplesmente melhorar e ampliar os recursos do CMS, também corrigir problemas de segurança que forem identificados desde a atualização anterior.

Mas isso não basta, porque há um outro fator de grande relevância, que são os temas e plugins do WordPress. Embora existam muitos que são desenvolvidos pela WordPress.org e, portanto, seguem as mesmas preocupações existentes em relação ao núcleo da aplicação, em tese, qualquer pessoa com conhecimentos necessários, pode criar e disponibilizar um tema ou plugin para o WordPress.

Assim, quando você instala um tema ou plugin, este componente pode não ter sido necessariamente desenvolvido com os cuidados esperados e com o compromisso de ser seguro. Neste caso, mais do que um problema de programação, acabou sendo também um problema do usuário, o qual não buscou meios para certificar-se da segurança daquilo que instalou em seu site baseado no WordPress e com isso acabou de vulnerabilizar seu próprio site.

Por que um site é hackeado?

Antes de prosseguirmos, é importante esclarecer um ponto que normalmente é tratado incorretamente. É comum que as pessoas digam que “um hacker invadiu o meu site”, sendo que o correto seria que “um cracker invadiu o meu site”. Qual a diferença? Os hackers são pessoas que tem conhecimentos avançados em tecnologia, com ênfase em programação e sistemas e que analisam-nos para descobrir entre outras coisas, problemas de segurança. O cracker também tem o mesmo conhecimento, porém ele o utiliza para benefício próprio ou para fins questionáveis.

Dito isto, um cracker não precisa ter uma razão específica para invadir um site. Algumas vezes, seu objetivo é apenas vandalismo virtual. Simplesmente conseguir deixar milhares de sites offline, é motivo de status ou simplesmente de satisfação pessoal. Nestes casos, geralmente o site pode ser apagado ou alterado e uma página com informações do autor do ataque é publicada, recebendo o nome de defacement ou desfiguração, em português.

Outras vezes, o cracker invade sites para benefícios específicos, como por exemplo, envio de mensagens objetivando phishing ou criação de um site falso para colher dados de usuários, ou para realizar um ataque DDoS, ou ainda uma prática que vem crescendo recentemente, em que o poder de processamento de vários sites invadidos é usado para minerar criptomoedas.

Como resolver os problemas de segurança do WordPress?

A Wordfence – empresa de segurança criadora de um dos mais conhecidos plugins de segurança do WordPress – revela em dados recentes que cerca três milhões de ataques a sites baseados no WordPress ocorrem a cada hora em sua rede segura. É um número assombroso que excede os 80 milhões de ataques por dia! Sendo assim, supor que se o seu site nunca foi invadido, significa que ele é seguro, é um erro. Possivelmente ele apenas não foi descoberto ainda.

Portanto, é importante tratar tanto quanto possível de se aplicar alguns princípios de segurança e medidas razoavelmente simples e acessíveis, para que seu site não passe a integrar as estatísticas:

1. Backup

A primeira precaução básica e fundamental, é manter sempre backups periódicos e recentes do site, para restaurar caso o pior aconteça e o site tenha sido invadido. Tenha em mente que mesmo uma série de medidas de segurança não é garantia de que seu site está seguro e se o pior acontecer, você deve ser capaz de restituir o conteúdo original, principalmente se ele for extenso. É importante que você não armazene apenas esses backups em seu servidor, pois se o conteúdo da conta for apagado, há a possibilidade de que  o backup também seja comprometido.

2. Usuário e senha

Um conhecido problema de segurança com o WordPress ocorre quando o administrador geralmente não altera o usuário padrão, o qual o WordPress estabelece automaticamente como Admin. Sabendo disso e que poucos alteram o usuário, resta ao cracker apenas tentar descobrir a senha. Há alguns meios de se realizar a alteração, porém o mais simples é usar um plugin próprio para isso, como por exemplo, o Admin Renamer.

3. URL de login

O WordPress trabalha com padrões que são plenamente conhecidos pelos crackers e assim, mudar alguns deles é uma estratégia que ajuda a proteger seu site. Uma ação neste sentido, é alterar o URL de login do seu site, o que é facilmente alterável usando um plugin, como o WPS Hide Login. Sem saber qual a URL que dá acesso a área administrativa, é improvável que ele consiga acessá-la.

4. Senha segura

Como já mencionamos anteriormente, a escolha de senhas muito simples é um problema frequente tanto no WordPress, como em outras aplicações e serviços. A quantidade de invasões por adoção de senhas fracas, representa um número considerável dos casos de invasão e, portanto, é fundamental escolher uma senha segura.

5. Atualização do WordPress

Mantenha o WordPress atualizado. A equipe que mantém o CMS trabalha constantemente na identificação e correção de falhas de segurança que o núcleo da aplicação e principais temas e plugins apresentem. Portanto, manter sempre a versão mais recente, ajuda na medida em que brechas de segurança antigas não podem mais ser exploradas. Lembre-se de sempre fazer um backup antes de instalar uma atualização.

6. Atualização de plugins

Da mesma forma que deve se manter o núcleo da aplicação atualizado, faça o mesmo quanto aos temas e plugins, lembrando primeiro que os que são fornecidos pelo wordpress.org, seguem a mesma filosofia de manutenção da segurança que é adotada no núcleo da aplicação. Se optar por temas e plugins de terceiros, pesquise sobre com que frequência soltam atualizações e se são compatíveis com a versão mais recente do WordPress.

7. Temas e plugins crackeados

A economia pode ser seu pior inimigo. É razoavelmente comum encontrar sites que oferecem gratuitamente temas e plugins que são originalmente pagos. Jamais ceda à tentação e não instale componentes nestas condições. Na quase totalidade das vezes, eles contém vulnerabilidades propositalmente incluídas para facilitar a invasão de um site que os utilize.

8. Proteção do wp-login.php

Há medidas manuais simples, mas que podem reforçar bastante a segurança de uma instalação do WordPress, como por exemplo, proteger o wp-login.php com uma senha usando o .htaccess e assim ataques de brute force, em que um sistema tenta sucessivas combinações de usuário e senhas, tornam-se ineficazes, uma vez que para acessar o wp-login, será necessário primeiramente fornecer uma outra senha, o que um sistema de invasão automatizado, normalmente não detecta.

9. Proteção do wp-config.php

Por razões semelhantes ao item anterior, recomenda-se que se proteja o arquivo wp-config.php, também via .htaccess. Tanto esta modificação, quanto a anterior exigem conhecimento técnico por parte do administrador, no entanto, serviços de hospedagens de site que utilizam o cPanel, oferecem o recurso por meio de proteção do diretório com senha.

10. Diretório de plugins

Uma outra medida que somada a anterior pode incrementar significativamente a segurança do seu blog, é mover / alterar a pasta wp-content, isso porque todos os plugins ficam localizados nesta pasta e se o invasor não consegue localizá-la, ele não conseguirá explorar seu conteúdo. Mas cuidado ao realizar esta alteração, sendo conveniente antes realizar o backup.

11. Certificado SSL

Instale um SSL no seu site. Ao fazer isso, as informações que são trocadas entre o site / servidor e o usuário que está efetuando login, são criptografadas e com isso impede-se que se os dados forem interceptados, possam ser lidos e consequentemente usuário e senha sejam facilmente conhecidos.

12. Plugins de segurança

Adote plugins de segurança no WordPress. Há muitos plugins que reforçam aspectos de segurança, como por exemplo, o Sucuri e o Wordfence. Há outros plugins, cada qual com características próprias, portanto é importante pesquisar quais aspectos cada qual privilegia antes de optar por cada um. Também é importante ter em mente que nenhum plugin corrige determinados problemas, como por exemplo, um outro plugin desatualizado ou vulnerável e sendo assim, primeiramente deve-se proceder com a correção da falha existente, antes da prosseguir com a instalação do plugin de segurança.

13. Desabilitar o xml-rpc

A maior parte dos usuários não utiliza esta opção, a qual é usada por alguns raros plugins e que basicamente permite que dados sejam transmitidos, usando o HTTP para transporte dos dados e XML como mecanismo de codificação e que na prática consiste por exemplo, de atualizar o seu site usando o smartphone. Uma maneira simples de se fazer isso, é alterando a permissão do arquivo xmlrpc.php para 000.

14. Limitar tentativas de login

Limite a quantidade de tentativas de login, o que garante que os usuários, por exemplo, tenham apenas três tentativas antes que a conta seja temporariamente suspensa. Isso evita pelo menos os ataques típicos de força bruta. Um exemplo de plugin que realiza esta tarefa, é o WP Limit Login Attempts.

15. Comentários

Se você não precisa necessariamente de comentários em suas postagens, é indicado desativá-los. Com isso, você não está apenas garantindo que seu blog não se torne uma vítima de spam, mas também evitando um tipo de ataque em que se sobrecarregue o banco de dados através de um flood.

16. Mantenha-se informado

Justamente pela enorme popularidade, há muitos sites, fóruns, como o próprio fórum do WordPress e o Exploit Database, que trazem informações relativas a problemas de segurança conhecidos no WordPress, em temas e plugins. Particularmente no caso dos temas e plugins, se houver uma falha a qual ainda não existe correção, não hesite! Desinstale o componente com problema, até que a correção esteja disponível.

17. Temas e plugins inúteis

Não apenas desabilite temas e plugins que eventualmente não utilize. Faça a remoção de todo conteúdo que não estiver em uso no site, pois mesmo que não estejam ativos, os itens desabilitados algumas vezes podem ser acessados via URL e se contiverem vulnerabilidades, poderão ser exploradas.

Conclusão

O WordPress é o CMS mais usado no mundo, correspondendo a mais do que a soma de todos os demais CMSs juntos. Isso representa um risco na medida em que existem um grande número de possíveis alvos em termos de segurança, mas ao mesmo tempo significa que há um grande contingente de pessoas trabalhando para fortalecer a aplicação. Um destes elos na cadeia de segurança, é você, através da adoção de algumas dicas simples e acessíveis.