Back-End

15 jun, 2015

Proteções de segurança para o arquivo wp-config.php

100 visualizações
Publicidade

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.