Introdução a Segurança de WordPress

Estatísticas recentes mostram que mais de 28% dos administradores de sites na internet usam WordPress. Toda essa popularidade tem um preço - WordPress é alvo de hackers e spammers, cujo objetivo é conseguir sites inseguros os quais possam usar para a sua conveniência. Quando se fala em segurança de WordPress, trata-se da redução dos riscos, não da eliminação dos riscos. Sempre haverá um risco e a segurança é um processo contínuo que requer avaliações constantes desses vetores de ataques.

Este guia foi feito com o intuito de educar administradores de WordPress sobre técnicas de segurança básicas e passos que podem ser tomados para melhorar sua postura de segurança e diminuir o risco do seu site ser comprometido.

Neste Guia

x
1
Vulnerabilidades de Software

A equipe de segurança do WordPress trabalha incessantemente para fornecer atualizações de segurança e consertos de vulnerabilidades. No entanto, o uso de plugins e temas de terceiros expoem os usuários a ameaças de segurança adicionais.

Ao instalar regularmente as últimas versões dos arquivos e extensões core do WordPress, você se certifica de que seu site possui todos os últimos patches de segurança.

1.1 - Plugins de Auditoria & Temas

Plugins e temas podem se tornar obsoletos ou incluir bugs que são um sério risco para o seu site.

Para proteger a sua instalação WordPress, recomendamos que você faça a auditoria dos seus plugins e temas regularmente.

Avalie a Segurança dos seus Plugins

Você pode avaliar a segurança de plugins e temas do WordPress, ao revisar alguns indicativos importantes:

  • O plugin ou o tema possui uma ampla base de instalação?
  • Há muitas revisões de usuários, a média de avaliação é alta?
  • Os desenvolvedores estão fornecendo suporte a seus plugins ativamente? Eles enviam atualizações e patches de segurança?
  • Há termos de serviço e política de privacidade?
  • Há um endereço físico para contato nos termos de serviço em alguma página de contato?

Leia os Termos do Serviço com atenção - pois o serviço pode incluir extras que não aparecem na página principal do plugin ou do tema. Se o plugin ou o tema não atender a alguns desses requisitos, ou se mudou de donos recentemente antes da última atualização, procure por uma solução mais segura.

Observação

Pessoas com má intenções podem comprar plugins para adicionar funcionalidades maliciosas ou indesejadas. Tenha cuidado ao instalar plugins que tenham mudado recentemente de proprietários antes da última atualização.

Remoção de Plugins & Temas Não Usados

Quando se trata de plugins não utilizados, vale a máxima menos é mais. O armazenamento de plugins indesejados na sua instalação WordPress aumenta a chance do site sofrer com um problema de segurança, mesmo se o plugin estiver desabilitado, ou se não estiver sendo ativamente usado.

Não está usando um plugin no seu site WordPress? Remova-o da sua instalação.

1.2 - Atualizações

Atualizações do WordPress

Quando uma atualização é disponibilizada, você é notificado no menu: Painel > Atualizações.

Você deve sempre fazer as atualizações o mais rápido possível. Iniciar sessão no seu site com frequência garantirá que você saiba das atualizações assim que elas são lançadas. Se você não puder atualizar por algum motivo, use um firewall de sites para fazer o patch virtual do problema e minimizar os riscos.

Para configurar atualizações automáticas no WordPress:

  1. Inicie sessão no seu servidor via SFTP ou SSH.
  2. Localize o arquivo wp-config.php, que geralmente se encontra no arquivo raiz public_html.
  3. Adicione este snippet ao arquivo: define( 'WP_AUTO_UPDATE_CORE', true );

Observação

Algumas atualizações podem quebrar o seu site, por isso, verifique se seu site está funcionando antes de aplicar uma atualização.

Usuários avançados podem acessar o guia: WordPress Codex’s guide to updates using subversion.

Para aplicar atualizações de forma manual no WordPress:

  1. Inicie sessão no seu servidor via SFTP ou SSH.
  2. Remova manualmente os diretórios wp-admin e wp-includes
  3. Substitua os arquivos core a partir do diretório raiz, /wp-admin/ e /wp-includes/ usando cópias do repositório oficial do WordPress.
  4. Inicie sessão no WordPress como admin - você pode receber um aviso para atualizar a base de dados.
  5. Clique em Atualizar a Base de Dados do WordPress.
  6. Após a base de dados ser atualizada, entre no Painel > Atualizações.
  7. Aplique as atualizações que ficaram faltando.
  8. Abra seu site e verifique se tudo está funcionando.

Cuidado

    Antes de atualizar seu site para a última versão do WordPress, recomendamos seguir estes passos, por precaução:

    1. Faça o backup do seu site, especialmente do conteúdo personalizado.
    2. Leia as notas de lançamento para identificar se as mudanças terão algum impacto no seu site.
    3. Teste a atualização em um site em desenvolvimento para verificar que seus temas, plugins e outras extensões sejam compatíveis com a última versão.

Requer Atualização da Base de Dados

Database Update Required

Atualização de Plugins

WordPress pode não conseguir atualizar uma extensão que foi baixada de um site de terceiros. Se for este o caso, você pode precisar atualizar manualmente o plugin usando FTP ou um atualizador.

Para aplicar atualizações manualmente para plugins no WordPress:

  1. Verifique a compatibilidade entre o plugin e sua versão atual do WordPress.
  2. Baixe a última versão do plugin a partir de uma fonte oficial e salve a versão no seu computador.
  3. Busque instruções de atualização oficiais do desenvolvedor ou revendedor do plugin. Se não houver instruções, proceda com os passos 4-9.
  4. Inicie sessão no seu servidor via SFTP ou SSH.
  5. Navegue para: /wp-content/plugins/ e baixe essa pasta para o seu computador para servir como backup.
  6. Localize o diretório do plugin que você quer atualizar e delete-o do FTP.
  7. Atualize a última versão para o mesmo local.
  8. Inicie a sessão no WordPress como admin e clique em Painel > Plugins.
  9. Localize o plugin que você acabou de atualizar da sua lista e clique em Ativar.

Atualização de Temas

Se você não estiver usando um tema child/parent para fazer personalizações, você precisará copiar suas modificações para uma nova pasta de tema, e depois atualizar para FTP.

Para atualizar temas manualmente no WordPress:

  1. Conecte-se ao seu site usando FTP e vá para: /wp-content/themes/, depois baixe o arquivo do tema atual para o seu computador.
  2. Visite o site do tema para baixar a última versão do tema e salvá-la na sua máquina local - você terá duas cópias da pasta do tema.
  3. Copie quaisquer personalizações e mudanças de códigos do seu tema antigo e adicione-os aos novos arquivos do tema.
  4. Baixe a última versão do diretório do tema, complete com as personalizações para o WordPress usando FTP.

Observação

Se você estiver usando um tema child que está herdando a funcionalidade de um tema parent, a atualização do tema não deve ser difícil. Simplesmente sobrescreva sua cópia com o tema parent com a última versão da fonte oficial. Suas personalizações permanecerão intactas em um tema child.

2
Controle de Acesso

Os hackers exploram frequentemente credenciais de usuário fracas para obter acesso a sites WordPress.

Você pode reduzir o risco do seu site ser comprometido: utilizando senhas fortes e exclusivas no seu site, restringindo os privilégios disponíveis aos usuários através de funções atribuídas, permitindo a autenticação 2FA ou multi-fator e limitando as sessões dos usuários.

2.1 - Contas de Usuários

Admin

A maioria dos ataques têm como alvo os pontos de acesso: wp-admin, wp-login.php e xmlrpc.php, usando combinações comuns de nomes de usuários e senhas.

Ao usar um nome de usuário exclusivo e remover a conta de administrador padrão em sua instalação WordPress, você torna muito mais difícil adivinhar as senhas do seu site usando métodos de força bruta.

Substitua a conta “admin” padrão:

  1. Inicie sessão no WordPress como administrador.
  2. No Painel, selecione Usuários > Adicionar Novo.
  3. Usando um novo endereço de email, crie uma nova conta com a função Administrador.
  4. Salve o novo usuário, faça log out e depois reinicie a sessão com sua nova conta de Administrador.
  5. No Painel, selecione Usuários > Todos os Usuários.
  6. Passe seu mouse sobre o nome de usuário admin e selecione Excluir.
  7. Atribua posts antigos ao novo Administrador da conta.

Dica

Crie um apelido diferente do seu nome de usuário existente e configure-o como seu nome de exibição público. Essa medida simples dificultará a violação das suas credenciais de login.

Funções & Princípio do Privilégio Mínimo

O princípio do privilégio mínimo é composto de dois passos muito simples:

  • Use o conjunto mínimo de privilégios em um sistema para fazer uma ação.
  • Conceda privilégios somente para a duração exata de tempo que uma ação demora para ser feita.

Com esse conceito em mente, o WordPress inclui funções integradas para Administradores, Autores, Editores, Contribuintes e Assinantes. Essas funções especificam o que pode e não pode ser realizado por um usuário..

Siga estas recomendações de controle de acesso para reduzir seus riscos de segurança:

  • Crie novas contas de usuários com o nível mínimo de permissão.
  • Conceda permissões temporárias e retire o acesso quando não são mais necessário.
  • Exclua contas que não estão sendo mais usadas.
  • Certifique-se de que a função padrão do usuário seja Assinante:
    1. Inicie sessão no WordPress como Administrador.
    2. Verifique se suas permissões de Assinante incluem somente a habilidade de iniciar sessão e atualizar o perfil
    3. No Painel, selecione Configurações > Geral.
    4. Configure a Nova Função Padrão do Usuário para Assinante.

2.2 - Senhas

Listas de senhas são frequentemente usadas para ataques de força bruta em sites WordPress. É por isso que você sempre deve usar senhas fortes e exclusivas para todas as suas contas.

Senhas fortes devem atender aos seguintes padrões:

  • Ao menos 1 caracter em caixa baixa
  • Ao menos 1 caracter em caixa alta
  • Ao menos 1 dígito
  • Ao menos 1 caracter especial
  • Ao menos 10 caracteres, com não mais do que dois caracteres idênticos seguidos

Observação

Usar um gerador de senhas para gerar uma sequência de letras e números aleatórios é uma das formas mais simples de se criar uma senha segura.

Opções de Geração de Senhas

Password Generation Options

2FA / MFA

A autenticação de dois fatores fornece um segundo nível de proteção para sua conta. Este recurso exige que um usuário aprove um login por meio de um aplicativo e proteja sua conta se alguém adivinhar sua senha.

Para adicionar 2FA ao WordPress usando o Google Authenticator:

  1. Baixe e instale o Google Authenticator para o seu iPhone ou Android.
  2. Instale e ative um pluging de 2FA para o WordPress como miniOrange’s 2FA.
  3. Selecione miniOrange 2-Factor no menu da esquerda e siga s instruções
  4. Uma vez obtido seu QR code, abra o Google Authenticator e clique no botão de Adicionar na parte superior direita da tela.
  5. Escaneie o QR code mostrado no plugin usando a câmera do seu celular.
  6. Verifique o código na página do plugin.

A Plataforma de Segurança de Sites da Sucuri inclui um recurso que ajuda você a proteger ou implementar facilmente 2FA em qualquer página do seu site.

Para adicionar 2FA a qualquer página do seu site usando a Sucuri:

  1. Baixe e instale o Google Authenticator para o seu iPhone ou Android.
  2. Inicie sessão no Painel Sucuri e vá para: Firewall de Sites.
  3. Clique no site que você gostaria de proteger e selecione Controle de Acesso.
  4. Insira o nome da página que você gostaria de proteger (Ex: /wp-login.php) e selecione 2FA com o Google Auth a partir do menu.
  5. Clique em Proteger Página e escaneie o QR code com seu aparelho móvel, usando o Google Authenticator.

Adicione 2FA com a Sucuri

>Adicione 2FA a partir do painel da Sucuri

2.3 - Limite as Tentativas de Login

O WordPress permite aos usuários tentar um login ilimitadamente por padrão, mas isso deixa seu site vulnerável a ataques de força bruta, pois os hackers tentam combinações de senhas diferentes.

Você pode adicionar uma camada extra de segurança, limitando o número de tentativas de login em uma conta através de um plugin ou usando um Web Application Firewall (WAF).

Alguns plugins populares que fornecem esse recurso: Limit Login Attempts, WP Limit Login Attempts e Loginizer.

2.4 - Captchas Pré-Login

O acrônimo em inglês, significa Completely Automated Public Turing Test To Tell Computers and Humans Apart. Esse recurso é extremamente útil para impedir que os bots automatizados acessem seu painel do WordPress e que enviem spam indesejados através de formulários.

Alguns plugins populares que adicionam um CAPTCHA a sua página de login do WordPress: Captcha e Really Simple Captcha.

Captchas Pré-Login

Pre-Login Captchas

2.5 - Restrinja o Acesso a URLs Autenticados

Limitar o acesso a sua página de login apenas para IPs autorizados impedirá entradas não autorizadas.

Há plugins para isso. Se você estiver usando um WAF, como o Firewall Sucuri, pode restringir o acesso a essas URLs no painel Sucuri, sem ter que mexer nos arquivos .htaccess.

Coloque Endereços IP na Lista de Permissões

Coloque Endereços IP na Lista de Permissões no Painel da Sucuri
3
Segurança Pró-ativa para WordPress

Na área da Segurança da Informação (InfoSec), gostamos de usar a frase defesa em profundidade.

Para apreciar essa ideologia, você deve entender um princípio muito simples: Não existe uma solução 100% completa capaz de proteger qualquer ambiente.

Nesta seção, listamos uma série de soluções que você pode empregar em seu site para fornecer uma estratégia efetiva de defesa em profundidade. Ao mergulhar esses controles defensivos, você poderá identificar e mitigar os ataques contra seu site.

3.1 - Plugins de Segurança

No repositório oficial do WordPress, você pode fazer uma pesquisa rápida, buscando por Segurança. Você verá que há mais de 4.298 plugins com características e funções distintas.

Vamos dividir os plugins de segurança em categorias e explicar sua importância para que você possa encontrar as soluções certas para suas necessidades.

Plugins de Segurança para WordPress – Categoria de Prevenção

Esses plugins procuram fornecer algum nível de prevenção, também conhecido como defesa perimetral para o seu site. O objetivo é impedir a entrada dos hacks, ao filtrar o tráfego recebido.

Plugins de prevenção geralmente estão limitados a trabalhar na camada da aplicação, o que significa que o ataque deve acessar o aplicativo WordPress para que eles respondam. Os ataques contra o software do servidor não podem ser evitados com plugins de segurança, e é por isso que recomendamos usar um WAF baseado na nuvem.

Plugins de Segurança para WordPress – Categoria de Detecção

A proteção é excelente para problemas conhecidos, mas não tão boa para os problemas desconhecidos. Ser capaz de detectar qualquer coisa que supera a sua defesa perimetral é extremamente valioso, e é onde a detecção entra em jogo.

Esses plugins tentarão identificar intrusos através de checagens de integridade de arquivos (File Integrity Checks), escaneando indicadores de compromisso ou uma combinação dos dois mecanismos.

A eficácia desses plugins é determinada rigorosamente pela ordem em que são instalados. Por exemplo, se o plugin é baseado em verificações de integridade, então ele precisa ser instalado em um ambiente novo, que se sabe que é legítimo e que não foi comprometido, para que ele possa criar uma linha de base para fazer suas verificações.

Alguns plugins podem comparar temas e plugins de terceiros conhecidos para o seu próprio repositório para trabalhar com sites que já foram comprometidos, mas estes não são compatíveis com arquivos personalizados ou pouco conhecidos.

Dica

Os plugins de detecção são importantes para identificar se algo deu errado no seu site. Essas ferramentas garantem que você esteja informado quando ocorrer um incidente de segurança.

Plugins de Segurança para WordPress – Categoria de Auditoria

Ao contrário da crença popular, a segurança não é algo que você configura e esquece que tem. Você precisa investir tempo no processo e se acostumar com o que está acontecendo, quem está logando, o que está mudando e quando as mudanças estão sendo feitas.

Plugins de auditoria podem ajudá-lo a responder as perguntas acima, oferecendo recursos básicos de administração que o ajudam a identificar, frustrar ou responder a um compromisso.

Plugins de Segurança para WordPress – Categoria de Utilidade

Este é talvez a categoria mais diversificada de todo o ecossistema dos Plugins de Segurança para WordPress. Alguns plugins são consideradas o canivete suíço da segurança. Esses plugins de utilidade possuem um conjunto de funcionalidades muito menores.

Esses plugins podem ser exaustivos em suas opções de configuração de segurança. Eles têm todas as configurações possíveis que você pode querer empregar, e são mais adequados para usuários que querem ter a capacidade de configurar opções específicas para atender a suas necessidades. Por exemplo, alguns plugins de segurança simplesmente desativam XML-RPC, ou movem sua página de login.

Também reservamos essa categoria para conjuntos de ferramentas como backups ou plugins de manutenção que abordam funções de segurança específicas.

3.2 - Hosting

A segurança de hosting de sites evoluiu nos últimos anos, e é um tópico complexo.

A maioria dos hosts fornece a segurança que você precisa em vários níveis, mas não fornece a segurança para seu site. Há uma série de provedores de hospedagem que fornecem segurança para sites por uma taxa adicional, mas, a menos que você tenha comprado um produto de segurança, é improvável que eles resolvam um problema de segurança para você.

Há 4 ambientes principais de hosting que podem ser usados na sua instalação WordPress:

  • Ambientes de Hosting Compartilhados
  • Ambientes de Virtual Private Server (VPS)
  • Ambientes de Hosting Gerenciados
  • Servidores Dedicados

Em teoria, os ambientes que removem a maior dependência do usuário oferecerão a maior segurança. Se você tem tempo e habilidade para proteger seu próprio ambiente, então você tem mais opções, mas também mais responsabilidade.

Na realidade, no entanto, a escolha do tipo de ambiente de hospedagem deve ser feita em consonância com suas necessidades e conhecimentos:

  • Se você é alguém que tem pouca compreensão de como os sites funcionam, então sugerimos a escolha de um ambiente gerenciado.
  • Se você é uma organização com seu próprio centro de operações de rede (network operations center - NOC), centro de operações de segurança de informações (information security operations center- SOC) ou sysadmins dedicados, um VPS ou servidor dedicado proporciona um melhor isolamento do seu ambiente (se configurado corretamente).

Você também pode iniciar uma conversa com seu provedor de hospedagem para identificar qual é a sua posição em relação à segurança do seu site. Alguns pontos principais devem ser abordados:

  • Quais são as precauções de segurança que tomam para proteger o seu site (e não apenas o servidor deles)?
  • Que ações tomarão se identificarem malware em um de seus sites?
  • Com que frequência eles procuram malware?
  • Eles oferecem serviços de resposta a incidentes?
  • Você precisa contratar serviços de terceiros se o seu site for hackeado?

Observação

Use contas FTP e de usuários cuidadosamente isoladas em ambientes de servidor compartilhado para evitar contaminação cruzada de sites.

Conexões SFTP/SSH

A transferência segura de arquivos para e do seu servidor é uma faceta importante da segurança do site em seu ambiente de hospedagem. A criptografia garante que qualquer dado enviado esteja protegido dos hackers que podem estar de olho no seu tráfego de rede.

Recomendamos que você use um dos seguintes métodos para conectar-se ao seu servidor:

SSH: O Secure Socket Shell é um protocolo de rede seguro e a maneira mais comum de administrar servidores remotos com segurança. Com o Secure Socket Shell, qualquer tipo de autenticação, incluindo autenticação de senha e transferência de arquivos, será completamente criptografada.

SFTP: O protocolo de transferência de arquivos SSH é uma extensão do SSH e permite autenticação em um canal seguro. Se você estiver usando o FileZilla ou algum outro cliente de FTP, geralmente pode selecionar SFTP - a porta padrão para SFTP na maioria dos serviços de FTP é 22.

3.3 - Backups

A manutenção de backups de sites deve ser uma das tarefas recorrentes mais importantes para um administrador de site.

Um bom conjunto de backups pode salvar seu site quando absolutamente todo o resto der errado. Se um invasor mal-intencionado decidir que deseja limpar todos os arquivos do seu site ou corromper os arquivos do seu site com seus buggy scripts, o dano pode ser desfeito ao restaurar seu site a partir de seus backups.

Existem quatro requisitos essenciais para empregar uma solução de backup bem-sucedida:

  1. Local Fora do Site: Os seus backups devem ser armazenados fora do site e não no mesmo servidor do seu site. As cópias de segurança armazenadas no seu servidor web representam um risco de segurança grave, porque muitas vezes contêm software antigo não corrigido para algumas vulnerabilidades e, devido a sua localização acessível ao público, qualquer um pode explorá-los para atacar seu site. Os backups fora do site também ajudam a proteger contra falhas de hardware. Se o disco rígido do seu servidor web falhar, você pode facilmente perder todos os seus dados - seu site ao vivo e seus backups.
  2. Automatização: Os sistemas de backup devem ser completamente automatizados para garantir que os backups sejam feitos de forma regular. Nós, seres humanos somos preguiçosos e esquecidos, nesse sentido, mitigue os erros dos usuários através da automação. Se uma solução manual é a sua única opção, certifique-se de agendar uma hora para executar os backups regularmente.
  3. Redundância: A segunda lei da computação do Schofield afirma que os dados não existem a menos que haja pelo menos duas cópias deles. Isso significa que sua estratégia de backup deve incluir redundância ou backups de seus backups.
  4. Testados & Funcionando: Certifique-se de que o processo de restauração realmente funciona. Comece com um diretório web vazio e depois verifique se você pode usar esses backups para recuperar todos os seus dados e o site novamente online com um domínio de teste usando nada além do arquivo de backup.

3.4 - Detecção

Há várias ferramentas que você pode usar para ajudar a identificar quando algo deu errado em seu site. Para ajudá-lo a responder rapidamente a uma violação de segurança, use uma ferramenta que inclua os seguintes serviços:

Monitoramento de Integridade

Verificações de integridade são um aspecto importante da auditoria da instalação do WordPress e podem dar-lhe um aviso prévio de uma intrusão no seu site.

As ferramentas de monitoramento de integridade de arquivos normalmente são instaladas em um servidor onde criam uma soma de verificação criptográfica basal dos arquivos críticos e das entradas de registro. Se um arquivo ou registro for modificado de qualquer forma, você receberá uma notificação das alterações.

Você pode instalar o plugin gratuito Sucuri Scanner para o WordPress para usar nosso sistema de monitoração de integridade dos arquivos core.

Auditoria / Alertas

Ferramentas de auditoria oferecem visibilidade da atividade do usuário no site.

Como administrador do seu site, você deve fazer perguntas como:

  1. Quem está iniciando sessão?
  2. Essa pessoa deveria estar iniciando sessão?
  3. Por que um post está sendo modificado?
  4. Por que essa pessoa está iniciando sessão quando deveria estar dormindo?
  5. Quem instalou esse plugin?

Não podemos enfatizar suficientemente a importância da atividade de registros de logs. Use uma ferramenta que registre os logs e o avise de quaisquer ações tomadas em seu site:

  1. Sucessos e falhas de autenticação do usuário
  2. Criação/remoção de usuários
  3. Uploads de arquivos
  4. Criação de post e de página
  5. Publicação de post e de página
  6. Modificação/ativação de widget
  7. Instalação de plugin
  8. Modificações no tema
  9. Modificações nas configurações

Alertas de Monitoramento de Integridade no WordPress

Integrity alerts with the Sucuri Plugin

Plano de Resposta e Recuperação

Resposta e recuperação não se tratam apenas de responder a um problema ou incidente, mas sim de isso ocorra de novo.

Proteja & Limpe Seu Site WordPress

4
Recomendações de Hardening

Cuidado: As recomendações a seguir são para administradores de servidores com conhecimento de como esses arquivos funcionam. Se você não se sentir à vontade com essas sugestões, recomendamos usar um firewall de sites que inclua hardening virtual.

4.1 - Configurações Básicas do .htaccess

O arquivo .htaccess é o que a maioria dos fornecedores irá modificar quando eles dizem que estão fazendo hardening do seu ambiente.

Este arquivo de configuração crítico é específico para servidores web executados no Apache. Se você estiver executando sua instância do WordPress em LAMP usando o Apache, recomendamos fazer o hardening do seu site atualizando seu arquivo .htaccess com as seguintes regras:

Observação

Algumas das regras abaixo dependem da versão do Apache que você está executando. Nesses casos, incluímos instruções para as versões 2.2 e 2.4 do Servidor Apache.

/.HTACCESS

Explicação da Regra

  1. # BEGIN WordPress
  2. # Rewrite rule
  3. <IfModule mod_rewrite.c>
  4. RewriteEngine On
  5. RewriteBase /
  6. RewriteRule ^index\.php$ - [L]
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteRule . /index.php [L]
  10. </IfModule>
  11. # END WordPress

Regra de Reescrita:

Esta regra é gerada pelo WordPress se tiver acesso de gravação ao seu servidor, principalmente para corrigir problemas com permalinks.

Se não estiver no topo do seu arquivo, coloque no topo do seu arquivo .htaccess. Quaisquer outras regras devem seguir as instruções #BEGIN WordPress e #END WordPress.

  1. # Block IPs for login Apache 2.2
  2. <files /wp-login.php>
  3. order deny,allow
  4. allow from MYIP
  5. allow from MYIP2
  6. deny from all
  7. </files>
  8. # Block IPS for login Apache 2.4
  9. <Files "wp-login.php">
  10. Require all denied
  11. </Files>

Restrinja Logins para uma Variação de IP

Esta regra restringe o acesso ao wp-login.php a um IP, protegendo-o de tentativas de login não autorizadas em outros locais. Mesmo que você não tenha um IP estático, você ainda pode restringir logins ao seu alcance comum do ISP.

Use essa mesma entrada em outros URLs autenticados que você gostaria de restringir, incluindo /wp-admin. Se você estiver usando um IP dinâmico, consulte nossas instruções: Como bloquear o WordPress Admin Panel com um IP dinâmico

  1. # Protect wp-config Apache 2.2
  2. <files wp-config.php>
  3. order allow,deny
  4. deny from all
  5. </files>
  6. #Protect wp-config Apache 2.4
  7. <Files "wp-config.php">
  8. Require all denied
  9. Require ip 1.1.1.1
  10. </Files>

Proteja o wp-config.php

Esta regra restringe os visitantes de acessar seu arquivo wp-config.php, que contém informações confidenciais sobre o banco de dados, incluindo nome, host, nome de usuário e senha. Este arquivo também é usado para definir configurações avançadas, chaves de segurança e opções de desenvolvedor.

  1. # Prevent directory browsing
  2. Options All -Indexes

Previna navegação do diretório

Esta regra impede que os invasores vejam o conteúdo da pasta do seu site, restringindo as informações que eles têm para explorar seu site.

  1. # Prevent image hotlinking
  2. RewriteEngine on
  3. RewriteCond %{HTTP_REFERER} !^$
  4. RewriteCond %{HTTP_REFERER} \
  5. !^http://(www\.)example.com/.*$ [NC]
  6. RewriteRule \.(gif|jpg|jpeg|bmp|png)$ - [NC,F,L]

Previna Hotlinking de Imagens

Esta regra impede outros sites de usar imagens hospedadas em seu site. Embora o hotlinking não fará com que seu site seja hackeado, pode resultar em uma exploração prejudicial dos recursos do seu servidor. Altere example.com pelo seu site:

  1. # Protect htaccess Apache 2.2
  2. <files ~ "^.*\.([Hh][Tt][Aa])">
  3. order allow, deny
  4. deny from all
  5. satisfy all
  6. </files>
  7. # Protect htaccess Apache 2.4
  8. <FilesMatch "^.*\.([Hh][Tt][Aa])">
  9. Require all denied
  10. </FilesMatch>

Proteja o .htaccess

Esta regra impede que os invasores acessem os arquivos que começam com “hta” - isso garante que os arquivos .htaccess estejam protegidos em todos os diretórios do seu servidor.

  1. # Block Includes
  2. <IfModule mod_rewrite.c>
  3. RewriteEngine On
  4. RewriteBase /
  5. RewriteRule ^wp-admin/includes/ - [F,L]
  6. RewriteRule !^wp-includes/ - [S=3]
  7. RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
  8. RewriteRule ^wp-includes/js/tinymce/langs/.+\.php \
  9. - [F,L]
  10. RewriteRule ^wp-includes/theme-compat/ - [F,L]
  11. </IfModule>

Bloqueie Includes

Esta regra impede que os hackers insiram arquivos maliciosos em qualquer uma das quatro pastas principais usadas para o includes:

  • /wp-admin/includes/
  • /wp-includes
  • /wp-includes/js/tinymce/langs/
  • /wp-includes/theme-compat/

/WP-INCLUDES/.HTACCESS
/WP-CONTENT/UPLOADS/.HTACCESS

Explicação da Regra

  1. # Backdoor Protection Apache 2.2
  2. <Files *.php>
  3. deny from all
  4. </Files>
  5. # Backdoor Protection Apache 2.4
  6. <FilesMatch ".+\.php$">
  7. Require all denied
  8. </FilesMatch>

Previna Backdoors PHP

Esta regra impede que os hackers colocem as portas traseiras PHP nas pastas /wp-includes/ e /wp-content/uploads/, dois locais populares para downloads de arquivos mal-intencionados.

4.2 - Configurações da Aplicação

WP-Config

O arquivo wp-config.php é um arquivo de configuração muito importante que contem informações confidenciais sobre o seu site WordPress, incluindo conexões de banco de dados.

Se o arquivo wp-config.php não existir na pasta raiz, o WordPress procurará automaticamente esse arquivo na pasta acima do diretório raiz. Mover esse arquivo para fora da pasta raiz impede que o wp-config.php seja acessado pela internet.

Salts & Keys

O arquivo wp-config inclui uma seção dedicada aos salts e chaves de autenticação. Esses salts e chaves melhoram a segurança de cookies e senhas que estão em trânsito entre o seu navegador e o servidor web.

Você pode configurar suas chaves, incluindo ou editando essas linhas após outros statements definidos no seu arquivo wp-config.php:

define('AUTH_KEY', 'include salt here');
define('SECURE_AUTH_KEY', 'include salt here');
define('LOGGED_IN_KEY', 'include salt here');
define('NONCE_KEY', 'include salt here');

Você pode gerar facilmente seus salts no wordpress.org salt generator ou usando a pção reset salts + keys no nosso Plugin para WordPress.

Importante

    Se você suspeita que as chaves secretas tenham sido comprometidas, gere novas chaves o mais rápido possível. Todos os usuários precisarão autenticar-se novamente.

Desabilite a Edição de Arquivos

Por padrão, as alterações de arquivo podem ser feitas através de Aparência > Editor no painel de controle do WordPress.

Você pode aumentar sua segurança desativando a edição de arquivos no painel. Isso evita que um invasor mude seus arquivos através do backend ou do wp-admin. Você ainda poderá fazer alterações via SFTP/SSH.

Para desabilitar a edição de arquivos no painel de controle, inclua as duas linhas de código a seguir ao final do seu arquivo wp-config.php:

## Disable Editing in Dashboard
define('DISALLOW_FILE_EDIT', true);

Observação

    Alguns plugins desativam a edição de arquivos como parte de seu processo de hardening ou como uma configuração extra.

5
Serviços de Segurança

Há vários serviços profissionais que cuidam das necessidades de segurança do seu site para você. Nem todos os serviços são os mesmos - alguns cobram mais para corrigir hacks complexos, e outros fornecem diferentes conjuntos de recursos em camadas. Você deve escolher o que melhor se adapta a suas necessidades.

Se o seu host fornece serviços de segurança, pesquise exatamente quais recursos eles incluem. Normalmente, eles poderão aconselhá-lo sobre maneiras de complementar seus conjuntos de recursos de linha de base com serviços adicionais.

O benefício de empregar um serviço de segurança baseado na nuvem, como a Sucuri, é que ele fornece segurança completa para o seu site de ponta a ponta. Isso significa que os serviços de proteção, detecção e resposta estão incluídos com uma plataforma completa e sem taxas ocultas.

Nossa Globally Distributed Anycast Network (GDAN) de alta disponibilidade garante que os sites possam atender eficientemente seu público global e mitiga ataques de DDoS.

6
Implementação de SSL & HTTPS

O SSL tornou-se cada vez mais importante nos últimos dois anos, não só para transmitir informações de forma segura ao seu site, mas também por aumentar a visibilidade e diminuir as chances de você ser penalizado.

O SSL permite acessar um site através do HTTPS, que criptografa os dados enviados entre visitantes e servidores web. Desde 2014, o SSL é um sinal de classificação para o SEO e o Google começou notificar sites não HTTPS que transmitem a senhas e dados de cartões de crédito.

Temos um guia gratuito sobre como implementar SSL ono seu site. Se precisar de ajuda, fale conosco e saiba como podemos ajudá-lo a ativar SSL/HTTPS por meio do nosso WAF baseado na nuvem.