2

У меня есть каталог, содержащий некоторые сценарии, которые мне нужно вызвать из веб-запроса. Сценарии требуют повышенных разрешений для запуска.

В настоящее время я думаю добавить следующие строки в /etc/sudoers:

Cmnd_Alias WEB_COMMANDS = /path/to/scripts
www-data ALL=(ALL) NOPASSWD: WEB_COMMANDS

Это правильный подход к этой проблеме? Или я вызываю потенциальную уязвимость безопасности?

Использование CentOS 7, если это что-то меняет.

1 ответ1

0

Все является потенциальной уязвимостью безопасности. Две вещи:

Прежде всего, вы уверены, что для этого нужен root? Зачем? Можете ли вы сделать это с возможностями вместо этого? (Вы, вероятно, можете.)

Тем не менее, ваш пример почти точный. Добавьте звездочку после пути:

Cmnd_Alias WEB_COMMANDS = /path/to/scripts/*

И теперь это будет работать. Но будьте осторожны, если какой-либо из этих сценариев может быть изменен злоумышленником, злоумышленник получает полный доступ к корню. Они могут просто exec('/bin/bash') и иметь оболочку. Определенно пройдите маршрут возможностей для сценария, если это возможно, и ОБЯЗАТЕЛЬНО заблокируйте каталог сценариев в любом случае. Посмотрите этот ответ unix.se для получения информации об управлении возможностями с помощью сценариев.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .