O WordPress é o CMS mais utilizado atualmente dentre os sites que utilizam algum gestor de conteúdo. Isso não assusta, pois além de ser estável e completo, o WordPress é mantido por uma enorme comunidade, conta com atualizações constantes e possui um extenso repositório de plugins para as mais diversas funcionalidades.
O que você verá nesse post
Segurança para WordPress: Por que eu devo me preocupar?
Por ser um CMS comumente utilizado no desenvolvimento de sites, isso atrai o olhar de pessoas maliciosas, e estar atento não custa nada. Por isso, segurança para WordPress é algo que não pode faltar no seu checklist!
Esse famoso CMS adota diretrizes interessantes, mas sempre há o que fazer após a instalação para melhorar ainda mais a segurança do seu WordPress. Citaremos alguns macetes que ajudarão você a deixar seu site ainda mais seguro.
Primeiro, baixe o WordPress apenas do site oficial, e mantenha-o sempre atualizado (atualmente o WordPress se encontra na versão 5.3.2). Existe toda uma comunidade por trás desse projeto empenhada em fazê-lo ainda mais seguro, confiável e estável.
Dicas de segurança para WordPress
Utilize uma senha Forte
A senha do WordPress deve ser uma senha forte, ou seja, nada de nomes, datas, ou coisas que fazem muito sentido. Abuse do uso de caracteres especiais, alterne entre letras maiúsculas e minúsculas, e utilize números use no mínimo 10 caracteres. Adotando essa prática você começará a gerar senhas praticamente inquebráveis. Vale lembrar que esse é o princípio básico para começar a pensar em segurança para o seu WordPress.
Proteja seu banco de dados
Durante a instalação do WordPress ele irá criar o banco de dados. Altere o prefixo padrão (wp_) das tabelas, isso é válido, pois com nomes padrão um sql injection pode facilmente obter dados do seu banco, e isso não seria nada bom não é mesmo?
Caso você utilize um único banco para diversas instalações WordPress a adoção de prefixos diferentes também ajuda a diferenciar as tabelas de diferentes projetos.
Remova os arquivos desnecessários
Uma boa prática de segurança do WordPress é após a sua instalação remover arquivos desnecessários como o readme.html, wp-config–sample.php e license.txt que se localizam na raiz da instalação e o install.php que está no diretório wp-admin. Esses arquivos podem ser um porta para ataques, por isso os exclua-os após terminar a sua instalação.
Altere o link de login para o painel do WordPress
Além de dificultar a vida dos mal intencionados, alterar o link de login ajuda seu cliente a se lembrar com mais facilidades de como entrar no painel do WordPress. Para isso instale o plugin wps-hide-login. Após sua instalação vá nas configurações gerais do WordPress e altera a url de login.
Impeça a exibição de erros desnecessários
O WordPress apresenta erros de login quando você tenta acessar com usuários inexistentes ou quando você erra seu usuário e senha. Isso pode ser prejudicial para o seu site, pois pode mostrar os erros a pessoas mal intencionadas, dando a elas a oportunidade de descobrir algumas informações como o nome de um usuário válido, por exemplo.
Uma solução muito simples para isso é colocar o código abaixo no functions.php do seu tema:
add_filter('login_errors',create_function('$a', "return null;"));
Esse código irá retornar uma mensagem nula para os erros de login.
Além disso insira também em seu wp-config.php as linhas de código abaixo, elas irão inibir algum erro de código do seu tema ou de algum plugin.
ini_set('display_errors', 0); define('WP_DEBUG_DISPLAY', 0);
Negue acesso aos arquivos de configuração
O wp-config.php é um dos arquivos mais importantes do WordPress, pois carrega em si configurações do banco de dados da instalação do WordPress. Para negar acesso a ele insira as linhas abaixo no seu .htaccess fora dos comentários:
# insira as novas regras aqui para não correr o risco de sobrescrita pelo WordPress # BEGIN WordPress # Aqui as presentes são geradas pelo WordPress e portanto podem ser sobrescritas # END WordPress
Segue o código:
<Files wp-config.php> order allow,deny deny from all </Files>
Force o uso de SSL
Digamos que você já possua um certificado SSL então utilize a dica abaixo para utilizá-lo no seu site WordPress, caso ainda não tenha dê uma olhadinha neste conteúdo que escrevemos sobre o que é e como funciona um certificado SSL.
Se seu site lida com dados que se interceptados podem lhe causar muita dor de cabeça, você deve definitivamente usar SSL. Que nada mais é do que um protocolo de criptografia que protege as comunicações entre ativos de rede, ou seja, entre o seu site e o seu cliente.
Esse recurso pode ser utilizado no WordPress dependendo do seu serviço de hospedagem, verifique isto. Caso seu serviço de hospedagem suporte SSL basta abrir o wp-config.php, localizado na raiz da instalação do WordPress e inserir a linha abaixo para forçar o uso de https:
define(‘FORCE_SSL_CONTENT’, true);
define(‘FORCE_SSL_ADMIN’, true);
$_SERVER[‘HTTPS’]=’on’;
Proteja o seu site de SQL Injections
Geralmente os sql injections atacam os métodos GET, POST e variáveis GLOBAL e _REQUEST do PHP que carregam algum valor relevante. Para se prevenir desses ataques insira o código abaixo no seu .htaccess
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] # Bloqueia todos os scripts que tentam modificar uma variável PHP GLOBAL: RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] # Bloqueia todos os scripts que tentam modificar uma variável _REQUEST: RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) # Se as requisições forem maliciosas enviamos tudo para a página inicial com um erro 403 Forbidden: RewriteRule ^(.*)$ index.php [F,L]
Esse código irá verificar o conteúdo das requisições em busca de <script> que possam realizar alguma modificação nos tipos de variáveis citadas acima, e caso haja algum, a requisição será bloqueada e será exibido um erro 403 que se refere a negar acesso.
Plugins para ajudar na segurança do seu WordPress.
Itheme Security
Antes conhecido como Better WP Security oferece mais de 30 + maneiras de proteger seu site WordPress. O Itheme Security ajuda a corrigir falhas comuns para ataques automatizados e fortalece as credenciais de usuário. Você pode baixá-lo direto do painel do WordPress ou diretamente pelo banco de plugins do WordPress aqui: Itheme Security.
BackWPup
Bom, mesmo aderindo às configurações de segurança é interessante e altamente recomendado realizar backups periodicamente.
E aqui vai uma dica para otimizar esse backup, utilize o BackWPup, um ótimo plugin do WordPress que realiza backups completos do seu projeto, incluindo arquivos e banco de dados. Esse plugin possui integração com Dropbox, o que facilita o backup de sites maiores.
Baixe-o direto do painel do WordPress ou acessando esse link: BackWPup. E não deixe de ler o nosso post falando sobre esse ótimo plugin.