Iniciativa WordPress Seguro
A Apiki criou uma iniciativa chamada #WordPressSeguro para divulgar e colaborar com o que diz respeito à segurança para WordPress. Além de informações, disponibilizamos um Guia Prático de Implementações para Segurança em WordPress.
Sobre o wp-config.php
No arquivo wp-config.php do WordPress, definimos várias constantes e diretivas de segurança para a aplicação, mas esse arquivo, em razão de sua grande importância e abrigo de informações sensíveis, precisa ter a devida proteção.
Devemos considerar uma localização segura para ele, a correta permissão do arquivo e o bloqueio de sua execução direta. E, claro, fazer uso de constantes para uma definição global de segurança na aplicação.
Localização segura para o wp-config.php
Por padrão, ele se localiza na raiz da pasta pública em conjunto com os demais arquivos e diretórios do core do WP. É aconselhável e suportado migrá-lo para um diretório acima.
A localização padrão.
/public_html/wp-includes/ /public_html/wp-config.php
A localização sugerida.
/public_html/wp-includes/ /wp-config.php
O WordPress interpreta ambas localizações.
A correta permissão de arquivo
A permissão do arquivo define como o sistema operacional lidará com a leitura e a escrita do seu conteúdo. Podemos considerar duas possibilidades de permissão para o wp-config.php.
- 400. Mais restritiva e permite apenas a leitura.
- 600. Mais branda e além da leitura é permitida a escrita.
Você define o nível de segurança que deseja e como pretende lidar com plugins que requerem a escrita no arquivo. Convenhamos que você não ativará recursos o tempo todo que escrevam no wp-config.php, portanto, considere a permissão 400.
Um arquivo para proteger o outro
Quem usa Apache, e por conseguinte o arquivo .htaccess, pode considerar a utilização da diretiva abaixo para proteger ainda mais o wp-config.php, evitando a execução direta dele.
<files wp-config.php> order allow,deny deny from all </files>
Imagine o cenário de uma falha de configuração de servidor na qual, ao acessar um arquivo .php, o download é realizado ao contrário de sua execução, o conteúdo será revelado e as informações de acesso ao banco de dados, por exemplo, estarão todas lá.
Indo além
Com os passos anteriores, você protege o arquivo wp-config.php e, como dito, as constantes que regem e definem uma série de aspectos de segurança do WordPress como um todo são definidas nesse arquivo.
Em outros artigos, citei a potencialidade de algumas delas e em artigos futuros abordarei com mais detalhes, por merecerem tratativas para o banco de dados, senhas e chaves secretas, debug, bloqueio de edição de arquivos e inúmeras outras possibilidades.