Aguarde...

30 de agosto de 2021

O guia definitivo para segurança avançada de sites WordPress

O guia definitivo para segurança avançada de sites WordPress

Dizer que a segurança do WordPress é importante é subestimá-la significativamente. É óbvio que você não quer que hackers se infiltrem no seu site WordPress, mas o WordPress é um alvo muito tentador.

Parte da atração é que ele é incrivelmente popular – 37% de todos os sites e 33% do 1 milhão de sites principais são construídos nesta plataforma, o que significa que vale a pena para os hackers tentarem entrar. eles podem rachar muito mais.

O fato de o WordPress não ser seguro está em toda a Internet, mas essa reputação não é realmente justa. O WordPress como um sistema – e especialmente os arquivos principais – é muito bem protegido,
mantido e melhorado por centenas de programadores que fazem parte da comunidade de código aberto. Mas com tantos plug – ins e temas, existem muitas oportunidades para vulnerabilidades se infiltrarem.

A triste verdade é que a grande maioria dos problemas de segurança em um site WordPress é causada por erro humano, geralmente usando as configurações erradas ou deixando de manter o sistema corretamente. Mas a vantagem disso é que você pode corrigir esses erros assim que souber o que fazer.

Para o proprietário médio de um site que não é especialista em tecnologia, este guia deve ajudá-lo a resolver todos os problemas principais sem usar códigos complicados. Mas se você é um desenvolvedor ou programador da web, você apreciará este conjunto de dicas avançadas de segurança para bloquear um site WordPress totalmente.

Nota: Isso é para sites WordPress instalados em servidores Linux, mas também pode ser relevante para aqueles em servidores Windows.

Restringir o acesso à área de login / gerenciamento

Por padrão, os hackers e malware podem acessar a área de administração (wp-admin) ou página de login (wp-login.php) do seu site sem qualquer restrição, o que significa que eles podem tentar invadir mais ou realizar um ataque DDoS.

Para evitar isso, configure seu firewall para restringir o acesso às áreas de administrador / login exclusivamente para endereços IP autorizados apenas.

Como alternativa, você pode proteger essas áreas com uma senha do lado do servidor (comum em servidores Apache Linux), que fornece uma camada extra de segurança antes que o hacker ou malware alcance a área de login / gerenciamento.

Desativar protocolo XML-RPC

O protocolo XML-RPC é ativado por padrão a partir do WordPress versão 3.5 e superior. Essa opção ajuda a conectar remotamente seu site WordPress a vários sites e aplicativos, mas é muito menos segura do que as conexões REST.

Ele também pode aumentar significativamente os ataques de força bruta, permitindo que os hackers usem as funções de multi-chamada do sistema e tentem milhares de senhas diferentes com um pequeno número de solicitações, portanto, é altamente recomendável desativar a opção.

Embora a maneira mais fácil para não-técnicos seja usar o plug  in Desativar XML-RPC-API , talvez você não queira adicionar outro plug-in ao site. Em vez disso, você poderia:

  • Restrinja o acesso ao caminho xmlrpc.php no nível do firewall do servidor
  • Restrinja o acesso no nível do servidor pelo arquivo .htaccess ou nginx.conf.

Adicionar autenticação em 2 etapas

Habilitar a autenticação em duas etapas do seu site WordPress pode melhorar significativamente a segurança do site e fornecer uma camada adicional de verificação antes de permitir que alguém se conecte à área de gerenciamento do site.

Uma das maneiras mais fáceis de fazer isso é por meio do plug-in Google Authenticator , disponível para download no diretório oficial de plug-ins do WordPress, que instala a autenticação de dois fatores por meio de um aplicativo em seu telefone celular.

Observação: para habilitar isso, você precisa instalar o aplicativo Google Authenticator em seu telefone celular.

Remover plug-ins inativos e modelos de formatação

Não é suficiente apenas desativar plug-ins não usados ​​e modelos de formatação; você precisa garantir que eles também sejam excluídos. Essa é uma lição aprendida com o ataque TimThumb em 2011, quando uma vulnerabilidade no programa foi explorada para introduzir malware em milhares de sites WordPress.

A maioria das vítimas do TimThumb nem sabia que o plug-in estava em seu site porque estava agrupado com outras ferramentas e havia sido desativado.

Mesmo quando um modelo ou plugin é desativado, o código ainda pode constituir uma violação de segurança. Qualquer software que não esteja em uso deve ser totalmente removido do servidor.

Escolha um host seguro

Sua empresa de hospedagem WordPress gerenciada desempenha o papel mais importante na proteção de seu site WordPress, portanto, procure um que monitore a rede em busca de ameaças à segurança e tome medidas adicionais para proteger seus servidores de ataques futuros.

Alguns dos recursos a serem procurados incluem:

  • Monitorar a atividade da rede com frequência para detectar atividades suspeitas
  • Resistência a ataques DDOS ao nível da linha de comunicação
  • Atualizações regulares para todos os componentes de software / hardware
  • Serviço de recuperação de desastres e um plano de emergência que protege suas informações em caso de um incidente
  • Suporte a PHP para a versão 7.4 ou superior
  • MYSQL versão 5.6 versão OU MariaDB versão 10.1 ou superior
  • Usa um banco de dados separado para cada um dos sites no servidor
  • Isolamento de usuário – separação completa entre usuários em servidores compartilhados
  • Firewall de servidor integrado, de preferência um firewall de aplicativo ativo (WAF) projetado para WordPress
  • Um sistema de detecção de intrusão que analisa a atividade do site
  • Varredura e atualização frequentes e abrangentes de sites
  • Capacidade de rastrear arquivos que foram alterados no site

Bloqueie e evite bots ruins

A maioria dos hackers, antes de atacar de forma proativa, envia bots como “espiões” para verificar seu site. Mesmo que eles não acompanhem o relatório do bot, esses “bots ruins” afetam o desempenho do site, roubam conteúdo, ocupam largura de banda valiosa e atrapalham significativamente as métricas do usuário, então é óbvio que você deseja bloqueá-los.

Você pode encontrar uma lista da maioria dos “bots ruins” em botreports.com. Se você já estiver usando um plug-in de segurança ou serviço dedicado de armazenamento gerenciado do WordPress, eles provavelmente já estão bloqueados automaticamente, mas nunca é demais verificar.

Caso contrário, você pode bloquear bots ruins:

  • Bloqueá-los no nível do firewall (ideal se você gerencia um grande número de sites)
  • Bloqueá-los no nível do servidor usando o arquivo .htaccess ou nginx.conf
  • Bloqueá- los com um plug-in chamado StopBadBots , disponível no diretório oficial de plug-ins do WordPress.

Proteção de varredura do usuário

Os sites WordPress, por padrão, mostram todas as postagens publicadas pelo autor / usuário na página de arquivo do usuário, mas os bots podem explorar isso para fazer várias tentativas de login consecutivas usando o número de rastreamento do usuário ID (ID do usuário) até conseguirem se passar pelo usuário e hackeando seus detalhes.

Seu código é parecido com este:

https://www.domain.co.il/?author=1
https://www.domain.co.il/?author=2
https://www.domain.co.il/?author=3

Você pode bloqueá-los restringindo o acesso ao caminho com este código:

https://www.domain.co.il/?author=*

Os hackers também usam APIs Rest, que permitem o compartilhamento de informações entre diferentes fontes, para acessar as informações do usuário. Com a API Rest, eles podem facilmente hackear dados de um banco de dados de servidor remoto (site WordPress) lendo o HTTP. A partir da versão 4.7 do WordPress, a API Rest faz parte do núcleo do WordPress e está ativa em todos os sites por padrão.

Por exemplo, se eles estão se aproximando de um caminho:

https://www.domain.co.il/wp-json/wp/v2/users

Eles podem acessar uma saída JSON organizada de todos os usuários em seu site e seus detalhes.

Você não pode bloquear totalmente a API Rest, porque o WordPress e certos plug-ins, como o editor visual Gutenberg, precisam usar partes dela, mas você pode fechar caminhos sensíveis associados a ela.

Aqui estão algumas das opções:

  • Bloquear o caminho wp-json / wp / v2 / users no nível do firewall
  • Bloqueie o caminho wp-json / wp / v2 / users no nível do servidor por um arquivo .htaccess ou nginx.conf
  • Usando o plug-in Disable Rest API, que permite bloquear caminhos específicos de API

Esconda sua versão do WordPress

Se você der uma olhada rápida no código-fonte do site WordPress, verá que o WordPress incorpora automaticamente uma metatag que contém informações sobre a versão que você está usando.

<meta name=”generator” content=”WordPress 4.9.10”>

Essas informações são, por padrão, acessíveis a hackers e malware, que pesquisam na web por informações sobre vulnerabilidades de segurança em sua versão para ajudá-los a escolher o melhor método de ataque. Geralmente é bem-sucedido porque a Internet está cheia de artigos detalhados que descrevem vulnerabilidades conhecidas nas versões do WordPress.

Além de atualizar automaticamente sua versão do WordPress , para que você não esteja executando uma versão antiga com inúmeras vulnerabilidades bem documentadas, também é uma boa ideia ocultar sua versão para que os hackers não possam vê-la. Basta adicionar o seguinte código ao arquivo functions.php do seu modelo de design:

remove_action('wp_head', 'wp_generator');

Esconder mensagens de erro em PHP

O WordPress tem um sistema de exibição de erros integrado como parte do sistema central, o que é incrível para desenvolvedores que desejam “depurar” erros de código no modelo de design ou plug-in, mas também é incrível para orientar hackers e malware para encontrar vulnerabilidades no local.

As mensagens de erro geralmente são assim:

PHP: syntax error , unexpected '^' in /wp-content/plugins/plugin.php
on line 6

Mas você pode ocultá-los adicionando este código ao arquivo wp-config.php:

ini_set('display_errors','Off'); ini_set('error_reporting',

Redefinir as permissões de pasta e arquivo

O guia definitivo para segurança avançada de sites WordPress
Segurança de arquivos do WordPress e permissões de arquivos da pasta de configurações

Uma pasta com permissão 777, por exemplo, significa que qualquer pessoa pode criar e editar arquivos dentro da pasta. Normalmente, você não esperaria que os valores de permissão de pasta e arquivo mudassem, mas ainda é melhor verificar se eles estão definidos de acordo com as recomendações oficiais do WordPress.

De acordo com o WordPress (julho de 2021), estas são as permissões corretas para o seu site WordPress:

  • Todos os arquivos do WordPress devem ter 644 permissões de arquivo.
  • Todas as pastas do WordPress devem ter 755 permissões de arquivo.
  • O WordPress Codex oficial recomenda 440 ou 400 para o arquivo wp-config.php

Você pode alterar as permissões de arquivo e pasta usando FTP e redefinindo o botão de permissões de arquivo em algumas empresas de armazenamento.

Use chaves de autenticação

Cada instalação do WordPress vem com um arquivo wp-config.php que contém chaves de criptografia em branco. Quando você implementa a instalação, ela produz chaves de criptografia exclusivas que podem aumentar significativamente a proteção do site. Essas chaves também são conhecidas como chaves de segurança.

O sistema WordPress os usa para criptografar as informações armazenadas nos cookies do usuário quando ele está logado no site. As informações de autenticação são armazenadas na forma de um hash complexo junto com as chaves de criptografia, minimizando assim o risco de um hacker recuperar o nome de usuário e a senha de cookies roubados.

Se você não tiver chaves de criptografia exclusivas definidas no arquivo wp-config.php, recomendamos que você crie chaves aleatórias no gerador de chave dedicado do WordPress e atualize-as no arquivo wp-config.php.

Desative a opção de executar arquivos PHP desnecessariamente

Outra forma de aumentar a segurança do site é impedir que qualquer pessoa execute arquivos PHP em pastas onde não seja necessário. Por exemplo, a pasta / wp-content / uploads / não deve conter nenhum arquivo PHP. Se você bloquear a pasta de executar arquivos PHP, você tornará impossível para hackers ou malware executar um arquivo PHP que já está no diretório do site, mas contém uma violação de segurança.

Você pode ativar esse bloqueio no nível do servidor por meio do arquivo .htaccess com este código:

# .htaccess - Disable PHP Execution <Files *.php> Order Allow,Deny
Deny from all </Files>

Clientes uPress: Esta opção é parte integrante do painel de administração e é implementada para cada site por padrão.

Proteja seus arquivos mais importantes

O arquivo wp-config.php provavelmente contém todas as informações mais confidenciais em seus sites, como informações de acesso ao banco de dados, chaves de criptografia, configurações e muito mais, portanto, é crucial bloquear o acesso direto.

Você pode ativar esse bloqueio no nível do servidor por meio do arquivo .htaccess com este código:

# .htaccess - Protect wp-config.php <Files wp-config.php> Order
Allow,Deny Deny from all </Files>

Você também deve bloquear o arquivo .htaccess nos servidores Apache, que contém todas as configurações do site. Você deve conseguir fazer isso no nível do servidor, mas se não for possível, adicione este código ao arquivo .htaccess:

# .htaccess - Protect .htaccess <Files ~ "^.*\.([Hh][Tt][Aa])">
Order Allow,Deny Deny from all Satisfy all </Files>

Aplicar TLS

Um certificado TLS criptografa pacotes de dados em execução entre o seu computador (quando está em uso por um usuário conectado) e o servidor onde o site está armazenado. Ele usa o protocolo Transport Layer Security (TLS), que é o padrão atualmente aceito para transmitir informações criptografadas pela Internet.

A comunicação baseada em TLS garante que agentes mal-intencionados não possam ouvir as comunicações ou visualizar informações transmitidas entre o usuário e o servidor de armazenamento.

Atualmente (julho de 2021) a maioria das empresas de armazenamento oferece um certificado TLS, também chamado de certificado SSL, gratuitamente, como o da Let’s Encrypt .

É possível obter um site WordPress totalmente seguro

Se você for um leitor técnico, agora terá muitas informações ao seu alcance para aumentar a segurança do site WordPress em vários níveis. Cada dica fortalecerá a superfície de ataque do seu site e aumentará a proteção, de modo que não precisa ser tudo ou nada.

Postado em Blog
Escreva um comentário