disable_symlinks

Директива `disable_symlinks` определяет, разрешены ли символические ссылки на уровне файловой системы при обработке запросов. — NGINX HTTP Core

disable_symlinks
httpserverlocation
Синтаксисdisable_symlinks on | off | directive;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1-2

Описание

Директива `disable_symlinks` в NGINX может быть настроена так, чтобы ограничивать поведение символических ссылок: она может либо разрешать, либо запрещать использование символических ссылок для файлов в определённых контекстах, таких как http, server и location. При установке эта директива может повысить безопасность, предотвращая доступ к файлам, на которые указывают символические ссылки, находящиеся за пределами предполагаемого document root или location block. Эта директива принимает один или два аргумента. Когда указан только один аргумент, он обозначает, отключены ли символические ссылки или нет. Можно указать второй аргумент, чтобы задать директорию или тип поведения символических ссылок, который разрешён. Этот дополнительный параметр повышает точность управления, позволяя относиться к конкретным файлам или каталогам иначе, чем к остальным в отношении символических ссылок. В результате системные администраторы могут защитить свои реализации NGINX, тщательно настроив эту директиву, чтобы предотвратить возможные уязвимости, возникающие из-за непреднамеренного доступа через символические ссылки. Также важно следовать принципу наименьших привилегий, разрешая доступ только к необходимым файлам.

Пример конфига

location /files {
    disable_symlinks on;
}

Неправильная конфигурация может привести к ошибкам 403 Forbidden, если symlinks используются непреднамеренно.

Если вы включите обработку symlink для каталога, убедитесь, что не раскрываете конфиденциальные файлы.