Guia Completo para Proteger e Otimizar Sites em WordPress

Fortaleça e Acelere Seu Site WordPress com medidas preventivas e otimizações importantes

08/01/2024

Guia Completo para Proteger e Otimizar Sites em WordPress

Guia Completo para Proteger e Otimizar Sites em WordPress

Introdução

Se você está com problemas de segurança no seu WordPress, recomendamos a leitura do nosso tutorial sobre como recuperar um site WordPress invadido antes de prosseguir.

Este tutorial abrange uma série de estratégias e práticas para aumentar a segurança e otimizar o desempenho do seu site WordPress. Desde a prevenção de ataques de SQL Injection até a otimização do desempenho do site com cache, você encontrará instruções detalhadas para cada aspecto de segurança e eficiência.

Alterando o Prefixo das Tabelas para Prevenir Ataques de SQL Injection

Alterar o prefixo padrão das tabelas do banco de dados do WordPress (comumente 'wp_') é uma medida de segurança importante contra ataques de SQL Injection. Essa mudança é mais simples durante a instalação do WordPress, mas também pode ser aplicada em sites já existentes.

Backup do Banco de Dados

Antes de realizar qualquer alteração, faça um backup completo do banco de dados do seu WordPress. Isso garante que você possa restaurar seu site caso tenha algum problema durante o processo.

Durante a Instalação do WordPress

Se estiver instalando o WordPress, escolha um prefixo de tabela diferente do padrão 'wp_', como 'meusite123_'.

Para Sites Existentes

Caso o WordPress já esteja instalado com o prefixo padrão, siga estes passos para alterá-lo:

  • Abra o arquivo wp-config.php localizado na raiz do seu site.
  • Localize a linha $table_prefix = 'wp_'; e altere 'wp_' para o novo prefixo desejado, lembrando de colocar o '_' no final.
  • Renomeie todas as tabelas no banco de dados para o novo prefixo. Isso pode ser feito através de um plugin de gerenciamento de banco de dados ou via phpMyAdmin.

Verificação

Após completar a alteração, acesse seu site para assegurar que tudo esteja funcionando corretamente. Se houver qualquer problema, você pode restaurar o banco de dados a partir do backup e revisar as etapas acima.

Mudar o prefixo das tabelas é uma pequena, mas eficaz, mudança para aumentar a segurança do seu site WordPress.

Instale o WP SafePress para Melhorar a Segurança e a Performance

O WP Safe Press é um plugin avançado que implementa medidas técnicas robustas para fortalecer a segurança e otimizar o desempenho do WordPress. Este plugin é exclusivo para clientes hospedados na MCO2.

  • Proteção Avançada de Arquivos e Diretórios: O plugin modifica o arquivo .htaccess para proteger áreas essenciais do site e prevenir ataques maliciosos.
  • Integração com Plugins de Segurança: Realiza verificações e recomenda ativação de plugins vitais, como WP Fastest Cache, WPS Hide Login e Resize Image After Upload, para garantir a segurança e eficiência do WordPress.
  • Otimização de Cache e Redução de HTTP Requests: Configura o cache de diversos tipos de arquivos e combina arquivos CSS e JS para melhorar o desempenho do site.
  • Bloqueio de Ataques XMLRPC e Pingbacks: Desativa métodos de ataque frequentes, reduzindo significativamente o spam e outros riscos de segurança.
  • Restrição de Acesso à API REST para Não Autenticados: Aumenta a segurança ao limitar o acesso à API REST do WordPress somente a usuários autenticados.
  • Limpeza de Cabeçalhos e Metadados: Remove links e metadados desnecessários do cabeçalho do site, simplificando a estrutura e aumentando a segurança.
  • Gerenciamento Inteligente de Upload de Arquivos: Renomeia automaticamente arquivos após o upload para melhorar a compatibilidade e o SEO.
  • Desativação de Feeds RSS e Comentários: Além de simplificar o site, a desativação de feeds RSS e comentários pelo WP Safe Press também protege contra spam nos comentários, oferecendo uma camada adicional de segurança.

Como instalar: O WP Safe Press é exclusivo para sites hospedados na MCO2. Entre em contato com o suporte para instalação.

Protegendo o Login do WordPress

Alterando e Escondendo a URL de Login do WordPress

Aumentar a segurança do seu site WordPress pode ser efetivamente alcançado alterando a URL de login padrão, que é um alvo comum para ataques de força bruta.

  • Instale o Plugin WPS Hide Login: Este plugin permite personalizar a URL de login do seu WordPress.
  • Configuração: Após instalar o plugin, acesse as configurações do WPS Hide Login no painel administrativo do WordPress.
  • Personalize a URL de Login: Substitua a URL de login padrão (wp-login.php) por uma de sua escolha. Por exemplo, altere de www.seusite.com/wp-login.php para www.seusite.com/acesso_seguro.
  • Salve as Alterações: Assegure-se de salvar as configurações para que a nova URL de login seja ativada.

Essa simples mudança impede o acesso fácil à página de login, reforçando a segurança do seu site contra tentativas de login automatizadas e mal-intencionadas.

Proteção do Login com Autenticação de Dois Fatores

Implementar a autenticação de dois fatores (2FA) é uma maneira eficaz de proteger o acesso ao seu site WordPress, adicionando uma camada de segurança que combina sua senha com um token gerado por um aplicativo no seu dispositivo móvel.

  • Selecionar um Plugin de 2FA: Plugins como Google Authenticator ou Two Factor Authentication são boas escolhas para WordPress.
  • Instalar e Ativar o Plugin: No painel administrativo do WordPress, vá em 'Plugins' > 'Adicionar Novo', procure pelo plugin de 2FA de sua escolha, instale e ative.
  • Configurar o Plugin: Configure o plugin seguindo as instruções fornecidas. Isso geralmente envolve vincular o plugin a um aplicativo de autenticação, como o Google Authenticator, no seu smartphone, que gera tokens de acesso temporários.
  • Testar o Login: Após configurar a 2FA, faça logout e tente fazer login novamente. Durante o login, o WordPress pedirá o token gerado pelo aplicativo no seu celular, além da sua senha habitual.

Com a 2FA, um potencial invasor precisará tanto da sua senha quanto do token gerado no momento do login, o que aumenta significativamente a segurança do seu site.

Limitando Tentativas de Login

Reduza o risco de ataques de força bruta no WordPress limitando as tentativas de login.

  • Escolha um Plugin: Recomendamos Login LockDown ou Limit Login Attempts Reloaded.
  • Instalar e Ativar: No painel do WordPress, vá em 'Plugins' > 'Adicionar Novo', busque pelo plugin escolhido, instale e ative.
  • Configurar: Defina o número máximo de tentativas de login e o tempo de bloqueio nas configurações do plugin.

Escolha de Nomes de Usuário e Senhas Seguras

A escolha de nomes de usuário e senhas seguras é crucial para proteger seu site WordPress de acessos não autorizados.

  • Evite o Nome de Usuário 'admin': 'admin' é um alvo comum para ataques. Caso seu usuário administrador atual seja 'admin', é recomendável alterá-lo diretamente na tabela wp_users (ou [prefixo]_users, se estiver usando um prefixo personalizado) do banco de dados.
  • Use Senhas Complexas: Senhas devem ter pelo menos 12 caracteres, incluindo letras maiúsculas e minúsculas, números e símbolos.
  • Gerenciador de Senhas: Considere usar um gerenciador de senhas para criar e armazenar senhas seguras.
  • Usuário para Postagem de Conteúdo: Use um usuário com privilégios limitados, apenas com permissão para postar conteúdo, para aumentar a segurança.

Proteções e Melhorias do WordPress Usando o Arquivo .htaccess

As configurações a seguir devem ser aplicadas no arquivo .htaccess na raiz do seu site WordPress. Lembre-se de fazer um backup desse arquivo antes de realizar quaisquer modificações.

Bloqueio de Robôs Maliciosos

Esta configuração impede o acesso de robôs que buscam falhas de segurança no seu site.

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(python\-requests|Go-http-client)
RewriteRule ^ - [R=404,L]

Cabeçalhos de Segurança

Esses cabeçalhos aprimoram a segurança do seu site, protegendo contra diversos tipos de ataques.

Header set Strict-Transport-Security "max-age=31536000"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set Upgrade-Insecure-Requests "1"
Header set Referrer-Policy "same-origin"
Header set Permissions-Policy "sync-xhr=(self)"
Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' https: data: blob:;"
Header set X-XSS-Protection "1; mode=block"

Bloqueio de Acesso a Arquivos Estáticos Não Encontrados

Reduz a carga do servidor ao evitar o processamento desnecessário de arquivos estáticos não encontrados.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(/[^/]+)?/wp-(content|admin|includes)/ [OR]
RewriteCond %{REQUEST_FILENAME} ^.+\.(php|html|txt|js|css|jpeg|jpg|png|ico|webp|avif|mp4|mpeg|mov)$ [NC]
RewriteRule ^ - [R=404,L]

Cache de Documentos Estáticos

Esta configuração aumenta a eficiência do carregamento das páginas do site, fazendo cache de arquivos estáticos.

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType application/font-woff2 "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-font-opentype "access plus 1 month"
ExpiresByType application/x-font-truetype "access plus 1 month"
ExpiresByType application/x-icon "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType image/avif "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/ico "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType text/plain "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
</IfModule>

Desativação de Indexação e Navegação de Diretórios

Esta configuração desativa a listagem de diretórios no seu site, aumentando a segurança.

Options -Indexes

Se o seu site está hospedado na MCO2, essa configuração não é necessária, pois a listagem de diretórios já é desativada por padrão por questões de segurança.

Aplicar estas configurações no arquivo .htaccess aprimora significativamente a segurança e o desempenho do seu site WordPress. Lembre-se de testar seu site após realizar estas mudanças para garantir que tudo funcione corretamente.

Medidas de Segurança no .htaccess de Diretórios Específicos

Reforçar a segurança em diretórios específicos como /wp-content/uploads/ e /wp-includes/ é crucial para proteger seu site WordPress.

Como Fazer:

  • Crie ou Edite o Arquivo .htaccess: Acesse os diretórios /wp-content/uploads/ e /wp-includes/ do seu site WordPress.
  • Adicione o Código: Em cada um desses diretórios, crie ou edite o arquivo .htaccess e adicione:
    <Files *.php>
    deny from all
    </Files>
            
  • Salve as Alterações: Após adicionar o código, salve o arquivo .htaccess em cada diretório.

Este código negará o acesso público a todos os arquivos PHP nesses diretórios, prevenindo a execução de scripts maliciosos.

Configurando o SSL para Maior Segurança do WordPress

A implementação de um Certificado SSL é crucial para garantir a segurança do seu site WordPress desde a sua instalação.

Importância do Certificado SSL

Instalar um certificado SSL desde o início assegura que as URLs do seu site comecem com https://, proporcionando uma conexão segura e protegida.

Resolvendo Problemas de Conteúdo Misto com SSL Insecure Content Fixer

Se o seu site já possui um certificado SSL, mas enfrenta problemas de conteúdo misto (http e https), o plugin SSL Insecure Content Fixer é uma ferramenta valiosa para solucionar esses problemas e reforçar a segurança.

  • Instale o Plugin SSL Insecure Content Fixer.
  • Na configuração do plugin, marque a opção "Fix insecure content" como Simple. Isso assegura que todo o conteúdo do site use https, evitando a exposição a conexões inseguras e protegendo contra possíveis vulnerabilidades.

Otimização de Performance com Cache e Minificação

Para acelerar o carregamento do seu site WordPress e melhorar a performance geral, a instalação e configuração do plugin WP Fastest Cache é uma excelente estratégia.

Passos para Configuração:

Instale o WP Fastest Cache

Este plugin é essencial para o gerenciamento eficiente do cache do seu site.

Configurações Recomendadas

Após a instalação, configure o WP Fastest Cache marcando as seguintes opções:

  • Ativar o sistema de cache: Essencial para reduzir o tempo de carregamento das páginas.
  • Minificar HTML e HTML Plus: Diminui o tamanho das páginas ao remover espaços desnecessários e comentários no código.
  • Minificar CSS e CSS Plus: Reduz o tamanho dos arquivos CSS, melhorando o tempo de carregamento.
  • Combinar arquivos CSS e JS: Essa opção reduz as solicitações HTTP ao combinar vários arquivos CSS e JS em um único arquivo.
  • Ativar cache do navegador: Armazena conteúdo estático no navegador do usuário, acelerando o carregamento em visitas subsequentes.
  • Desativar Emojis: Remove o CSS inline e arquivos js relacionados aos emojis, que podem aumentar o tempo de carregamento das páginas.

Essas configurações ajudam a melhorar significativamente a velocidade e performance do seu site WordPress.

Manutenção e Atualização Regular do WordPress

Manter o WordPress e seus componentes atualizados é crucial para garantir a segurança e a performance otimizada do seu site.

  • Atualizações do Núcleo do WordPress: Assegure-se de que as atualizações automáticas estejam habilitadas para manter seu WordPress sempre na versão mais recente e segura.
  • Atualizações de Temas e Plugins: Verifique e instale atualizações para temas e plugins regularmente. Isso é essencial para corrigir vulnerabilidades de segurança e melhorar o desempenho do site.
  • Remoção de Plugins e Temas Não Utilizados: Mantenha seu site seguro e limpo removendo plugins e temas que não estão em uso ou que estão desatualizados.
  • Backups Regulares: É fundamental realizar backups regulares de todo o seu site WordPress, incluindo arquivos e banco de dados. Faça sempre um backup antes de efetuar atualizações importantes, como uma nova versão do WordPress, para garantir a possibilidade de restauração em caso de problemas.

Estas práticas de manutenção ajudam a proteger seu site WordPress contra vulnerabilidades e garantem uma melhor experiência para os usuários.

Domínios hospedados
Clientes satisfeitos