Eu executo o WordPress no meu servidor, e tudo está funcionando bem. No entanto, 1-2 vezes por dia, recebo o seguinte aviso no meu Syslog:
Dec 26 04:48:35 my_hostname mariadbd[895]: 2024-12-26 4:48:35 12606 [Warning] Access denied for user 'username_here'@'localhost' (using password: YES)
Agora, eu pesquisei o servidor inteiro com o SilverSearcher, e o único local onde username_here
é usado em todo o servidor é dentro do wp-config-sample.php
, que se parece exatamente com o original aqui . Eu modifiquei o nome de usuário lá para username_here_example
, e o log a seguir se parece com isso, confirmando que esse arquivo é a fonte.
Dec 26 21:24:13 my_hostname mariadbd[895]: 2024-12-26 21:24:13 19868 [Warning] Access denied for user 'username_here_example'@'localhost' (using password: YES)
No entanto, pelo que entendi, o WordPress nunca deve usar essas credenciais para se conectar, pois essa é apenas a configuração padrão. Até onde eu sei, o WordPress geralmente usa as credenciais para wp-config.php
se conectar ao banco de dados, e o site funciona muito bem, e o banco de dados do WordPress também parece estar ok.
Alguma dica sobre o que pode causar esse comportamento?
Tentar:
Para ver se algum outro arquivo (um arquivo de configuração? um crontab? um script?) faz referência a esse para executar algumas ações, em vez de fazer referência ao arquivo wp-config correto?
Outra possibilidade (improvável, mas ainda assim): alguém pode estar tentando invadir sua caixa de alguma forma iniciando comandos que a usam
wp-condif-sample.php
como fonte de credencial?Primeiro, recomendo executar uma busca adequada conforme descrito por Oliver Dulac , pois sua situação pode ser diferente da minha. No meu caso, aconteceu que o aviso se alinhou (por timestamp) com solicitações GET para a configuração de exemplo:
Agora, o
wp-config-sample.php
arquivo inclui owp-settings.php
no final (require_once ABSPATH . 'wp-settings.php';
) que testa a conexão com o banco de dados (viarequire_wp_db();
se entendi corretamente, mas sem garantias) usando as credenciais padrão, o que obviamente não funcionará e gerará o aviso do syslog.Para me livrar dos avisos, simplesmente neguei qualquer acesso direto ao arquivo no
.htaccess
arquivo raiz do WordPress (por exemplo,/var/www/your_wordpress_dir/.htaccess
):Depois disso, tentar acessar a página deve gerar um
403 Forbidden
erro500
e nenhum aviso de log do banco de dados será gravado:Muitos que
.htaccess
você pode encontrar, por exemplo, por wordpress.org ou outros , apenas bloqueiam explicitamente o acesso ao,wp-config.php
pois ele inclui as credenciais reais. O acesso awp-config-sample.php
pode ser menos crítico, mas bloquear essas solicitações não causa nenhum dano, e reduzir o acesso onde ele não é necessário é sempre bom (e você se livra dos avisos do syslog).