apache: como desligar o php_engine para qualquer diretório gravável

apache: como desligar o php_engine para qualquer diretório gravável

Tenho a tarefa de manter um servidor LAMP que já foi vitimado por alguns programadores PHP que nunca ouviram falar de injeção de SQL, CSRF ou tópicos semelhantes. Existem vários diretórios graváveis ​​mundialmente nos quais esses scripts PHP devem ser usados ​​para fazer upload de imagens. Claro, eles também podem ser usados ​​para fazer upload de scripts PHP, como web shells.

Existe um módulo ou diretiva do Apache que pode desligar o mecanismo PHP para qualquer diretório encontrado que seja gravável pelo Apache?

safe_mode, por mais feio que seja, foi ativado nos sites em questão. Mas, além disso, estou me recusando a assumir a responsabilidade por auditar ou tocar em uma única linha desses atrozes scripts PHP.

Responder1

A maneira mais fácil é colocar php_flag engine offum arquivo .htaccess nesse diretório. A diretiva "engine" só é suportada no php 4.0.5 ou posterior.

Você também pode tentar remover os manipuladores no Apache usando .htaccess (por exemplo RemoveHandler .php), mas eu tentaria o outro primeiro. Remover o manipulador é um daqueles métodos de "forçar a quebra" que às vezes sai pela culatra.

informação relacionada