WordPress
Categorias

Como deixar o WordPress seguro

O WordPress é, sem sombra de dúvida, o CMS mais utilizado na atualidade. O sistema é hoje utilizado não apenas em blogs, mas em uma enorme variedade de sites.

Lojas virtuais/eCommerce, sites institucionais, portfólios online, downloads, páginas protegidas por senha/acesso exclusivo para clientes, etc: muitos usuários e desenvolvedores utilizam o WordPress no dia a dia, aproveitando seus inúmeros recursos e vantagens, os quais também podem ser bastante estendidos através da utilização de plugins.

Porém, sendo um sistema amplamente utilizado no mundo inteiro, o software da Automattic também acaba sendo alvo de inúmeros malwares e atacantes.

Além disso, é sempre bom lembrarmos que um único website desenvolvido em WordPress pode acabar pondo em risco um servidor web inteiro (bem como todos os sites nele hospedados) caso seja comprometido, caso brechas de segurança sejam nele descobertas e exploradas.

WordPress

É fácil perceber que a segurança deve ser uma preocupação constante na mente de quem trabalha com o CMS, seja desenvolvendo sites para terceiros, seja apenas mantendo um “simples” blog. Sendo assim, preparamos algumas dicas úteis que te ajudarão a manter seu WordPress seguro e à salvo de hackers, códigos maliciosos e outras pragas virtuais.

Segurança do usuário

É essencial garantir que a área administrativa do CMS esteja à salvo. Atacantes podem utilizar ataques do tipo brute force para obter acesso, por exemplo, e uma vez tenham sucesso, os estragos podem ser grandes. Se pessoas com intenções maliciosas conseguirem acessar a área administrativa de seu WordPress, elas estarão livres para fazer o que bem entenderem.

Além disso, segurança no que diz respeito aos usuários (administradores ou não) também é importante. Recursos, ferramentas e sistemas que tornem o login e a autenticação mais seguros também são essenciais.

Portanto, fique atento às dicas abaixo.

Usuários e senhas seguros

Jamais utilize o usuário padrão do WP (“admin”, sugerido no final da instalação do CMS). Opte por algum outro nome, e de preferência evite nomes de usuário muito “manjados”, como por exemplo “administrador”.

E, caso já esteja usando “admin” para fazer login, crie um novo usuário (com um outro nome) com privilégios administrativos, faça login com ele e em seguida apague o “admin”. Assim você elimina um alvo em potencial, acredite.

Você também pode utilizar um plugin como o “Username Changer” e simplesmente alterar o nome do usuário “admin” para algum outro qualquer, mais seguro.

Certifique-se também de utilizar senhas seguras, longas (de preferência) e compostas por letras, números e caracteres especiais. Nunca utilize datas e sequências numéricas simples e já bastante conhecidas (como por exemplo “123456”), e jamais utilize o nome do usuário como senha. Além disso, utilize letras maiúsculas e minúsculas nas senhas, alternando entre elas, para ainda mais segurança.

Existem diversas ferramentas online que podem te ajudar a gerar senhas seguras e fortes, e aqui mesmo no Código Fonte você pode conhecê-las. Dê uma olhada no artigo abaixo:

Conheça e utilize 5 geradores online de senhas fortes

Autenticação em dois passos

Outro detalhe importantíssimo e que pode fazer a diferença: usar autenticação em dois passos, de maneira tal a forçar o WordPress a exigir um segundo código (que será usado uma única vez) durante o login, além da senha.

Tal código pode ser exibido/visualizado em aplicativos para dispositivos móveis e também enviado para seu celular através de mensagens SMS.

Existem diversos serviços e ferramentas que podem ser utilizados para trabalharmos com autenticação em dois passos (2FA, ou Two-factor authentication), e alguns deles contam inclusive com plugins para facilitar a integração com o WordPress.

Confira alguns deles:

Captcha

Utilizar um sistema de captcha no formulário de login do WordPress é altamente recomendável, pois assim você estará contribuindo para reduzir a incidência de ataques do tipo brute force.

Com tais sistemas, qualquer usuário deverá provar que é realmente humano, e não um mero robô tentando forçar a entrada, e isto pode ser feito através da repetição dos caracteres que são exibidos por tais sistemas.

Confira alguns sistemas de captcha que você pode integrar com seu WP:

Protegendo o wp-login.php com senha

O login no WordPress é realizado através do arquivo/página wp-login.php (endereco_do_wordpress/wp-login.php). Proteger tal local/página é também uma excelente medida de segurança, que ajuda a prevenir ataques brute force e ao mesmo tempo evita possíveis problemas com sobrecargas resultantes.

Você pode utilizar um arquivo .htaccess para proteger o arquivo wp-login.php, forçando qualquer pessoa a informar uma senha antes de conseguir acessá-lo.

Você pode também dar uma lida em nosso artigo a respeito de .htaccess, cujo link segue abaixo. Confira no mesmo o item “17 – Protegendo a área administrativa do WordPress”:

Confira 20 dicas e truques extremamente úteis do .htaccess

Renomeando o wp-login.php

Esta talvez seja uma alternativa interessante à proteção com senha acima descrita. Geralmente, quem se dedica a atacar o arquivo wp-login.php vai “direto ao ponto”, ou seja, os ataques são direcionados à URL padrão e bastante conhecida:

endereco_do_wordpress_site.tld/wp-login.php

Sendo assim, que tal escondermos tal arquivo PHP? Existe um plugin que permite que esta área seja renomeada, para qualquer nome de sua escolha. Um nome difícil, pouco comum, que só você sabe.

Confira nosso artigo a respeito:

Protegendo a área administrativa do WordPress de ataques “brute force”

Proteção direta contra ataques brute force

Também pode ser uma boa ideia contar com uma ferramenta dedicada à proteção contra ataques brute force. Dê uma olhada em nosso artigo a respeito:

Melhorando a segurança no WordPress: Automattic adquire plugin para proteção contra ataques brute Force

Código seguro

Assim como devemos nos assegurar de que estamos protegendo os usuários do WP e tudo aquilo a que eles possuem acesso, de forma tal a garantir a segurança do sistema como um todo, devemos também tomar as medidas necessárias para a devida proteção do código do nosso CMS.

Brechas de segurança em plugins, temas e scripts podem representar verdadeiras portas abertas para que atacantes assumam o controle sobre nossos preciosos dados e sites, e ninguém quer passar por uma experiência semelhante, não é?

Veja abaixo algumas dicas para evitar problemas no código do seu site em WordPress.

Mantenha o WordPress atualizado

O WordPress conta com um recurso de atualização automática (desde a versão 3.7 ), através do qual o download de novas versões, bem como a respectiva instalação de tais updates, é feito sem que o administrador precise baixar pacotes, subi-los via FTP e posteriormente acessar a URL necessária para a atualização do banco de dados.

A atualização automática vem ativada por padrão, e cobre os arquivos do core do CMS (isto deixa de fora plugins e temas – veremos mais sobre eles adiante).

Certifique-se sempre de manter este recurso ativado. Dê uma olhada em seu arquivo “wp-config.php” e verifique se nele existe uma linha com o seguinte código:

define( 'AUTOMATIC_UPDATER_DISABLED', true );

Caso a linha acima exista no arquivo, significa que alguém desabilitou a atualização automática. Portanto, remova-a, salve o arquivo e reenvie-o para seu servidor, substituindo o wp-config.php lá existente.

Também podemos utilizar a constante “WP_AUTO_UPDATE_CORE” no arquivo wp-config.php (certifique-se de que a linha acima citada não exista no arquivo) e definir quais tipos de atualizações desejamos que sejam aplicadas automaticamente.

Veja:

define( ‘WP_AUTO_UPDATE_CORE’, false ); Desabilita atualizações maiores, menores e da versão de desenvolvimento
define( ‘WP_AUTO_UPDATE_CORE’, true ); Ativa todas as atualizações, incluindo da versão de desenvolvimento
define( ‘WP_AUTO_UPDATE_CORE’, minor); Ativa somente as atualizações das versões menores

Plugins e temas: atualização e confiabilidade

É importante também que você tenha cuidado ao obter e instalar plugins e temas. Prefira adquirir/baixar plugins e temas diretamente do WordPress.org ou então de desenvolvedores conhecidos e renomados.

Antes de instalá-los pesquise no Google a respeito dos desenvolvedores e também a respeito dos próprios plugins e temas. Busque por possíveis brechas neles encontradas, etc. Evite instalar plugins e temas que não são atualizados há algum tempo e/ou a respeito dos quais encontrar informações relacionadas a bugs constantes, falhas de segurança e problemas similares.

Após instalar plugins e temas, mantenha-os sempre atualizados, uma vez que falhas de segurança e bugs descobertos podem sempre ser corrigidos pelos desenvolvedores. Na dashboard do WP, acesse o menu “Updates” (Atualizações), à esquerda, revise todas as informações e aplique as atualizações recomendadas.

WordPress - Dashboard - Updates

Para ainda mais segurança, utilize a ferramenta “Sucuri SiteCheck Scanner” para verificar se existe algum problema relacionado à segurança (ou à ausência dela) no seu site em WordPress. Não deixe, é claro, de executar quaisquer possíveis procedimentos sugeridos pela ferramenta após a varredura.

Falamos mais a respeito da ferramenta da Sucuri no artigo abaixo:

Varrendo seu site em busca de problemas relacionados a segurança

Desenvolvendo plugins e temas seguros

Se você é um desenvolvedor e quer se dedicar à criação de plugins e temas para o CMS mais utilizado do mundo, não deixe de seguir as boas práticas de desenvolvimento do mesmo.

Hospedagem segura

Tão importante quanto o ambiente de desenvolvimento é o ambiente onde o WordPress será hospedado. Se você não possui muita intimidade com servidores e configurações e/ou deseja algo o mais simples possível, é possível optar por planos em regime compartilhado, ou seja, onde o seu site, a sua instalação do WordPress, será hospedado na mesma máquina que outros sites e clientes.

Empresas que oferecem planos em regime compartilhado cuidam de todo o gerenciamento do servidor, incluindo atualizações no sistema operacional, aplicações de patches de segurança, atualizações do PHP, do MySQL, etc.

Claro, dependendo do porte do site (ou dos sites), o regime compartilhado pode não ser adequado, e é possível que você tenha então de partir para um servidor dedicado ou um VPS. Hoje em dia existem até mesmo soluções cloud server com infraestrutura escalável e preços bastante acessíveis, vale lembrar.

Independentemente de qualquer coisa, quando se trata de hospedagem e servidores, é primordial que você pesquise no Google a respeito da empresa e de seus serviços. Buscar referências com amigos ou outros profissionais também vale, obviamente.

Compare planos, preços e recursos, e fique atento para quaisquer reclamações que encontrar. Pese sempre os “prós” e os “contras”, e antes de assinar o contrato, faça uma lista com o tudo o que precisa e/ou espera da empresa e envie e-mails. Pergunte, averigue, esclareça todas as suas dúvidas antes de decidir por um ou outro serviço/empresa/servidor.

Também existem empresas de hospedagem que oferecem VPSs e servidores dedicados totalmente gerenciados (são os tais “managed”).

Ou seja, você ainda terá uma máquina ou ambiente dedicado, que só você utilizará, na qual somente seus sites serão hospedados, mas contará com o suporte da empresa para a resolução de problemas relacionados ao desempenho, ao uptime, a crashes, a atualizações em scripts, no sistema operacional e no kernel do Linux, etc.

Também existem empresas dedicadas à hospedagem de sites em WordPress, e muitas delas cuidam também dos CMS dos clientes (além de contarem com máquinas e ambientes otimizados para o WP), atualizando plugins e o próprio sistema (caso o usuário assim deseje), por exemplo.

Também aqui vale a pena pesar os “prós” e os “contras” e colocar tudo no papel, juntamente com todos os custos envolvidos.

Segue abaixo uma pequena lista com boas empresas de hospedagem, tanto para planos em regime compartilhado quanto para VPSs e dedicados:

Permissões corretas

Para evitar dores de cabeça, também é importante garantir que pastas e arquivos do WordPress utilizem as permissões (chmod) corretas e sejam de propriedade dos usuários corretos (chown).

Em relação às permissões, basicamente é o seguinte: pastas devem sempre possuir chmod 0755 e arquivos chmod 0644. Evite sempre que possível utilizar a permissão 0777.

O artigo abaixo fala um pouco a respeito disso:

8 comandos Linux que você também deve adicionar aos seus favoritos

Outras recomendações

Backup

Problemas são inevitáveis, e a tecnologia pode ser sempre uma caixinha de surpresas. Por mais que tenhamos precaução, uma hora ou outra podemos ser surpreendidos por algum problema, alguma falha, alguma perda (alguma invasão ou comprometimento também, quem sabe).

Nestes casos, é sempre importante contarmos com backups frequentes. Você deve realizar backups periódicos de seus sites em WordPress. Em servidores com Cpanel, não deixe de ativar os backups automáticos.

Acesse o WHM (Web Host Manager) e vá em “Backup” ==> “Backup Configuration”. Em “Backup Status”, altere para “enable” e altere/preencha os campos seguintes conforme suas necessidades, incluindo o agendamento (Scheduling and Retention).

Configure para que sejam feitos backups de contas e também de arquivos do sistema (“Backup Accounts” e “Backup System Files”). Prefira manter backups locais (de preferência em outro HD ou partição) e também em outros locais, como uma precaução adicional.

Configure/insira locais/destinos extras na seção “Additional Destinations”: pode ser um servidor FTP ou SFTP, e até mesmo um bucket no Amazon S3.

E, não se esqueça: na ausência de Cpanel e/ou de alguma outra ferramenta para backup, faça backups manuais. Baixe uma cópia dos arquivos e pastas e também do banco de dados.

Nos artigos abaixo, aqui mesmo no Código Fonte, você pode conferir dicas e comandos úteis para backup e também para o transporte dos arquivos:

Compactando o conteúdo de uma pasta no Linux com TAR + GZIP

Compactando e enviando arquivos e backups para servidores Linux remotos

Lembre-se também de que existem soluções de terceiros totalmente dedicadas ao backup de sites em WordPress. Confira abaixo algumas delas:

Forçando o uso de SSL

Você também pode forçar o uso de SSL e HTTPS na página de login do WP. Basta seguir as informações constantes neste nosso outro tutorial. Segurança nunca é demais, não é?

Como usar SSL e HTTPS com o WordPress

Considerações finais

O WordPress é poderoso e versátil. Sites dos mais variados tipos podem ser criados com ele, sempre com inúmeros recursos. Não deixe de seguir as dicas acima para garantir uma experiência mais tranquila e estável, e lembre-se: “o seguro morreu de velho”.