Renée Rodrigues

Sumário

Wordpress - Segurança e Correção de Falha de Acesso - Avançado

Nesse artigo eu vou apresentar uma possível solução para a falha “The requested URL was not found on this server”. Esse artigo também irá apresentar soluções de segurança dos seus arquivos, ajudando a prevenir invasões e alterações dos seus arquivos na sua instalação do Wordpress,


Alterando o seu arquivo de acessos

Vamos configurar o Apache2 para garantir a segurança dos seus arquivos. Para isso, abra o arquivo “/etc/apache2/apache2.conf” e altere o seu conteúdo como mostrado abaixo:  

# Protege a raiz do sistema
<Directory />
	Options None
	AllowOverride None
	Require all denied
</Directory>

# Protege o /usr/share, permitindo acesso somente ao necessário
<Directory /usr/share>
	Options None
	AllowOverride None
	Require all denied
</Directory>

# Libera acesso apenas ao diretório específico onde estão os arquivos públicos
<Directory /var/www/>
	Options -Indexes +FollowSymLinks
	AllowOverride All
	Require all granted
</Directory>

# Adicionar proteção contra execução de scripts fora do diretório web
<FilesMatch "\.(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$">
  Require all denied
</FilesMatch>

# Bloquear acesso a wp-config.php
<Files wp-config.php>
  Require all denied
</Files>

# Bloquear acesso a arquivos .ht*
<FilesMatch "^\.ht">
  Require all denied
</FilesMatch>

# Bloquear execução de PHP em uploads
<Directory "/wp-content/uploads/">
  <FilesMatch "\.php$">
    Require all denied
  </FilesMatch>
</Directory>

# Bloquear XML-RPC (se não usar Jetpack ou apps móveis)
<Files xmlrpc.php>
  Require all denied
</Files>

O que significa:

Esse é o diretório onde seu WordPress está instalado (ex: /var/www/html/). Essa configuração garante que:

Remover banners e versões do Apache:

No /etc/apache2/conf-enabled/security.conf, adicione ou edite:

ServerTokens Prod 
ServerSignature Off

Verifique módulos desnecessários com apache2ctl -M

Desabilite módulos não usados, como:

a2dismod autoindex status cgi

Headers de segurança (opcional, mas recomendado)

No seu apache2.conf, 000-default.conf ou .htaccess, adicione:

Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-XSS-Protection "1; mode=block"
Header always set Referrer-Policy "no-referrer-when-downgrade"
Header always set Permissions-Policy "geolocation=(), microphone=()"

Obs: É necessário que o módulo headers esteja habilitado:
sudo a2enmod headers


Criando o arquivo .htaccess

Esse arquivo fica oculto, por isso o “.” no início do seu nome. Ele é responsável por informar ao seu servidor sobre o comportamento de acesso dos diretórios e precisamos alterá-lo ou criá-lo para corrigir a falha e aprimorar a segurança do seu site. Para isso, siga as instruções conforme descrito nos passos a seguir.

Agora nós vamos criar o arquivo. Navegue até a raiz do diretório que está instalado o Wordpress, crie um arquivo ‘.htaccess’ e preencha o seu conteúdo, conforme sugestão abaixo:

# INÍCIO DAS REGRAS DO WORDPRESS

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Qualquer requisição que não seja para um arquivo ou diretório existente
# será redirecionada para index.php, onde o WP decide o que fazer
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# FIM DAS REGRAS DO WORDPRESS

Alterando as permissões de acesso dos arquivos e pastas

Nesse passo, precisamos restringir os acessos aos diretórios. Assim como alterar a propriedade dos arquivos e diretórios da instalação do Wordpress. Para isso, é necessário digitar os seguintes comandos na raiz da sua instalação:

sudo chown -R www-data:www-data wp-admin/
sudo chown -R www-data:www-data wp-includes/
sudo chown -R www-data:www-data wp-content/
sudo chown -R www-data:www-data *.php
sudo chown -R www-data:www-data *.html
sudo chown -R www-data:www-data *.txt
sudo chown -R www-data:www-data .htaccess

sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;

sudo find . -type f -name "wp-config.php" -exec chmod 600 {} \;
sudo find . -type f -name ".htaccess" -exec chmod 644 {} \;

Para aplicar as configurações realizadas é preciso reiniciar o seu servidor Apache. Para isso, digite o comando sudo systemctl restart apache2.


Corrigindo possíveis falhas de encontrar páginas no Wordpress

Para corrigir esse problema, é necessário apenas alterar entre as opções "Plain" e "Post name". Dessa forma, o seu Wordpress irá reconfigurar o arquivo de rotas e corrigir o problema. O padrão sugerido para usar é a opção "Post name", os as suas páginas ficarão com uma URL amigável para compartilhamento futuro.


Conclusão

Agora, esperamos que a segurança do seu site no Wordpress esteja ainda mais garantida. É claro que ainda existem plugins como o Google Authenticator que irá apoiar na restrição do acesso ao painel administrativo e o plugin Login Lockdown que irá bloquear endereços que realizem múltiplas tentativas de acesso.

A segurança é uma preocupação constante e esses passos sugeridos visam te apoiar em um ambiente seguro e disponível para seus sites. Espero ter ajudado!

link de compartilhamento

Renée Maksoud - abril de 2025