A segurança é um requisito obrigatório para qualquer site, desde um simples blog à um grande portal ou site institucional. O WordPress por si só já é um sistema com diretrizes de segurança em seu núcleo, porém, há muito mais coisas que podemos (e devemos) fazer para ampliar esse alcance e impedir eventuais dores de cabeça no futuro.

Neste post, veremos algumas dicas e plugins que ajudarão bastante a deixar o seu site em WordPress mais seguro. De qualquer modo, vale lembrar que de nada adianta se atitudes básicas não forem tomadas. A velha história de senhas seguras é uma dessas atitudes que devemos prestar atenção, por mais bobo que seja.

Veremos primeiramente algumas dicas básicas de segurança. Em seguida, selecionamos alguns plugins que recomendamos a utilização para garantir ainda mais a integridade de seu site. Vamos lá!

Computadores vulneráveis

Partindo do mais básico, pouco adianta proteger seu servidor se o computador utilizado para atualizar seu site estiver vulnerável. Um bom software anti-vírus vai lhe ajudar contra spywares, malwares e vírus. Também é muito importante manter o sistema operacional e softwares atualizados, principalmente seu navegador, que é a ferramenta que você mais usará com seu site.

Atualizações do WordPress

O WordPress é um software. Toda a comunidade de desenvolvedores trabalha arduamente para evitar problemas de segurança, porém, algumas coisas podem e passam batido ocasionalmente, deixando o sistema vulnerável. Cerca de 1 vez por mês é lançado atualização de segurança para o WordPress, e é altamente recomendado que você mantenha sempre atualizado.

As versões mais recentes ganharam o recurso de atualizações de segurança automáticas, portanto, se você estiver usando a versão 3.7 ou maior, provavelmente receberá automaticamente tais atualizações.

Cópias de segurança

Devemos estar cientes que por mais que tomamos todas as medidas, sempre haverá a possibilidade de alguém conseguir atacar nosso site. Com isso em mente, garanta backups atualizados sempre. A cópia de segurança deve ser feita tanto dos arquivos quanto do banco de dados do site. A frequência pode variar de acordo com a periodicidade de atualizações no site, mas nunca deixe de fazer o backup!

Há muitos plugins que podem ajudar nessa hora, basta uma pesquisada no repositório oficial de plugins do WordPress para encontrar inúmeros que farão o backup automaticamente, permitindo configurar o que e quando fazer o trabalho. Além disso, painéis de administração como o cPanel oferecem ferramentas automatizadas para cópias de segurança, use-as!

FTP

O FTP é um protocolo de transferência de arquivos que permite que você envie ou receba arquivos que estejam locados no seu servidor web através de um software que faz esta conexão. No entanto, não é um protocolo muito seguro pois as informações trafegam sem nenhum tipo de criptografia.

Hoje em dia a grande maioria das empresas de hospedagem fornecem a opção SFTP. Caso a sua ofereça, opte sempre por ela. Usando SFTP, uma camada de segurança é adicionada, criptografando todos os dados entre você e o servidor web.

PHP

Quando o PHP é iniciado no servidor, um arquivo de configuração chamado php.ini é lido. Nele, há algumas diretivas para uso geral do PHP. A seguir você verá algumas diretivas que é de suma importância para o uso. Essas desativarão alguns recursos que aumentam os riscos. Essa é uma dica do Tiago Hillebrandt, Consultor WordPress na Copyblogger Media.

display_errors=Off
allow_url_fopen=Off
disable_functions=popen,exec,system,passthru,proc_open,shell_exec,highlight_file,escapeshellcmd,pcntl_exec

Vale notar que algumas das funções desativadas podem fazer com que certos plugins parem de funcionar. Por exemplo, plugins de edição de imagem costumam utilizar o exec, e por essa maneira recomendamos removê-los e manipular imagens com um software específico anteriormente.

Protegendo o wp-config.php

O arquivo wp-config.php traz configurações gerais da instalação WordPress, como conexão com banco de dados etc. De maneira alguma este arquivo pode ser acessível por alguém que não você e seu servidor. Este arquivo deve ficar no mesmo diretório onde reside as pastas wp-include e wp-admin, certificando que esteja com permissões 400 ou 440.

Se seu servidor possui htaccess, você pode inserir no topo do arquivo o seguinte trecho para negar acesso ao arquivo:

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

Outra coisa que devemos fazer, de preferência logo após instalar o WordPress, é configurar alguns detalhes no wp-config.php que garantem uma segurança maior. Ao abrir o arquivo wp-config.php, procure por:

/**#@+
 * Chaves únicas de autenticação e salts.
 *
 * Altere cada chave para um frase única!
 * Você pode gerá-las usando o {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
 * Você pode alterá-las a qualquer momento para desvalidar quaisquer cookies existentes. Isto irá forçar todos os usuários a fazerem login novamente.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'coloque sua frase única aqui');
define('SECURE_AUTH_KEY',  'coloque sua frase única aqui');
define('LOGGED_IN_KEY',    'coloque sua frase única aqui');
define('NONCE_KEY',        'coloque sua frase única aqui');
define('AUTH_SALT',        'coloque sua frase única aqui');
define('SECURE_AUTH_SALT', 'coloque sua frase única aqui');
define('LOGGED_IN_SALT',   'coloque sua frase única aqui');
define('NONCE_SALT',       'coloque sua frase única aqui');
/
**#@-*/

/**
 * Prefixo da tabela do banco de dados do WordPress.
 *
 * Você pode ter várias instalações em um único banco de dados se você der para cada um um único
 * prefixo. Somente números, letras e sublinhados!
 */
$table_prefix = 'wp_';

Por padrão, o WordPress vem sem chaves únicas de identificação definidas, portanto, altere o “coloque sua frase única aqui” por hashs que podem ser gerados neste link. Pouco mais abaixo vemos a variável $table_prefix, que por padrão vem como “wp_”. Este é o prefixo das tabelas do banco de dados. Você pode alterar para qualquer coisa, só não deixe o padrão.

Permissões para arquivos e diretórios

Este é talvez um dos principais problemas de segurança que encontramos no WordPress. Ao instalá-lo, alguns diretórios vêm com algumas permissões, como 775 ou 777, que podem ser a porta de entrada para invasores. Recomendamos redefinir algumas dessas permissões para arquivos e pastas seguindo o seguinte esquema:

  • .htaccess (644)
  • wp-config.php (644)
  • wp-admin (755)
  • wp-content (755)
  • plugins (755)
  • themes (444) ou (555)
  • upgrade (755)
  • uploads (755)
  • wp-includes (755)

Plugins recomendados

Alguns plugins podem ajudar a proteger seu site em WordPress. Listamos alguns que acreditamos que possam sanar algumas necessidades básicas de segurança. Segue a lista:

Wordfence Security: Sem dúvida um dos melhores plugins voltados à segurança do WordPress. Logo após instalar, ele começa uma varredura em todo o servidor verificando e comparando o código-fonte dos arquivos com o núcleo original do WordPress. É um plugin gratuito que, além de proteger, traz um sistema de cache embutido que, segundo seus desenvolvedores, é o “mecanismo de cache WordPress mais rápido disponível hoje”.

Security Audit Log: Este plugin gratuito é desenvolvido por consultores profissionais de segurança para WordPress. Basicamente, ele gera um relatório de todas as atividades do site, desde registros de usuários, tentativas de login e atualizações do core, a configurações alteradas ou novos posts adicionados. É um grande auxílio na proteção como um todo.

iThemes Security: Já este plugin oferece mais de 30 formas de garantir a segurança do seu site em WordPress. O iThemes Security esconde algumas vulnerabilidades comuns de segurança de áreas importantes, principalmente a administração. Além disso, também faz varreduras em busca de outras vulnerabilidades e lhe ajuda a corrigir possíveis problemas.

Clef: nós já falamos deste plugin, que permite o login seguro e sem senha no WordPress com a ajuda de um smartphone.

Todas as dicas e plugins que recomendamos são de suma importância para que seu site esteja seguro. Diariamente, milhares de sites são atacados, diferenciam-se aqueles que, com as configurações corretas, conseguem continuar de pé sem danos ao servidor ou conteúdo em geral. Cuide de seu site, é melhor prevenir que remediar!