Назад | Перейти на главную страницу

Запретить nginx или PHP-FCGI создавать файлы PHP

Я запускаю веб-сервер nginx в системе Debian Wheezy, настроенной для запуска PHP через PHP-FCGI. Помимо соответствующей установки разрешений, по соображениям безопасности я хотел бы запретить nginx и PHP Создайте файлы (или переименовать другие соответственно), которые соответствуют location ~ \.php... правило, т.е. файлы, заканчивающиеся на .PHP. Как я могу подойти к этому?

Используйте правильные разрешения. Разрешить пользователю php-fpm работает под, чтобы создавать файлы только в сертифицированных каталогах и явно запрещать php-fpm от обработки файлов * .php, находящихся в этих каталогах.

Что-то такое:

location ~* /writable/by/php-fpm/directory/.+\.php$ {
    return 403;
}

выше обычных местоположений php. Итак, избегайте режима 777 любой ценой.

Хотя это хороший подход к обеспечению безопасности, он редко используется, потому что основная проблема заключается в том, чтобы не дать злоумышленникам получить доступ для запуска своего собственного кода (и это надмножество проблемы, о которой вы спрашиваете), что в основном выполняется в PHP. сам код приложения. Таким образом, этот подход используется в основном для защиты каталогов, в которые файлы загружаются пользователями.