Какими могут быть риски для добавления & ldquo; По умолчанию secure_path = & rdquo; / home / username & ldquo; in & rdquo; / etc / sudoers "

Что может представлять опасность для добавления

Defaults secure_path="/home/username"

в /etc/sudoers?

4
задан 10 June 2017 в 15:17

3 ответа

Значение secure_path, если установлено, будет использоваться как переменная среды PATH для команд, которые вы используете с помощью sudo.

Это означает, что при запуске, например, sudo apt update, система попытается найти команду apt в каталогах, указанных в secure_path, в указанном порядке.

Теперь, если вы добавите каталог, в котором пользователи, не являющиеся root, имеют доступ на запись к secure_path, вы можете сделать это в двух положениях:

добавить к концу [ f9], с наименьшей приоритетной вставкой в ​​начале или в середине списка secure_path с более высоким приоритетом.

Добавление к концу почти безопасно, если он не изменит, как будут решены существующие команды, он просто позволяет исполнять исполняемые файлы из другого каталога без явного указания их местоположения. Тот факт, что этот дополнительный каталог можно записывать для пользователей без полномочий root, позволяет им размещать в них вредоносные файлы без повышенных привилегий, поэтому вам нужно быть осторожными при вводе любой команды, которая находится там (охотно или опечатки чем-то другим). [ ! d6]

Однако, если вы поместите свой каталог не как последний элемент, а с более высоким приоритетом, содержимое этого каталога будет тенеировать и переопределять те из мест, которые появляются после него в secure_path. Например, если вы поместили свой каталог пользователя в первую очередь и он содержит (вредоносный?) Исполняемый файл с именем apt, то при следующем запуске sudo apt update вы получите сюрприз ...

Я бы также никогда не добавляйте домашний каталог к ​​любым PATH или secure_path, а вместо этого создавайте выделенный каталог, например /home/USERNAME/bin для этого, который содержит только исполняемые файлы, которые я хочу иметь на моем PATH и ничего больше.

Вывод:

Вы не должны поместите любые каталоги в secure_path, если они могут быть записаны для всех, кроме пользователя root. В противном случае обычные пользователи без повышенных привилегий (в том числе вредоносные программы или злоумышленники, ставящие под угрозу такую ​​учетную запись) могут поместить свои собственные исполняемые файлы и дождаться, когда кто-либо с sudo правами будет случайно (использовать распространенные ошибки в часто используемых командах в качестве имен файлов) или охотно выполнить его.

Если вы действительно хотите это сделать, попытайтесь ограничить права на запись в этом каталоге настолько сильно, насколько это возможно, и убедитесь, что вы добавили каталог в качестве последнего элемента secure_path, чтобы предотвратить что-либо в тени системные исполняемые файлы.

Альтернативы

Однако безопасный путь по-прежнему оставался бы всегда, чтобы всегда указывать полный путь к исполняемым файлам вне значения по умолчанию secure_path, если вы хотите запустить их с помощью [F22].

Вы также можете использовать подстановку команд с which, чтобы получить полный путь чего-то в PATH пользователя, например

sudo $(which MY_EXECUTABLE) ARGUMENTS
10
ответ дан 22 May 2018 в 21:41

Значение secure_path, если установлено, будет использоваться как переменная среды PATH для команд, которые вы используете с помощью sudo.

Это означает, что при запуске, например, sudo apt update, система попытается найти команду apt в каталогах, указанных в secure_path, в указанном порядке.

Теперь, если вы добавите каталог, в котором пользователи, не являющиеся root, имеют доступ на запись к secure_path, вы можете сделать это в двух положениях:

добавить к концу secure_path, с наименьшей приоритетной вставкой в ​​начале или в середине списка secure_path с более высоким приоритетом.

Добавление к концу почти безопасно, если он не изменит, как будут решены существующие команды, он просто позволяет исполнять исполняемые файлы из другого каталога без явного указания их местоположения. Тот факт, что этот дополнительный каталог можно записывать для пользователей без полномочий root, позволяет им размещать в них вредоносные файлы без повышенных привилегий, поэтому вам нужно быть осторожными при вводе любой команды, которая находится там (охотно или опечатки чем-то другим). [ ! d6]

Однако, если вы поместите свой каталог не как последний элемент, а с более высоким приоритетом, содержимое этого каталога будет тенеировать и переопределять те из мест, которые появляются после него в secure_path. Например, если вы поместили свой каталог пользователя в первую очередь и он содержит (вредоносный?) Исполняемый файл с именем apt, то при следующем запуске sudo apt update вы получите сюрприз ...

Я бы также никогда не добавляйте домашний каталог к ​​любым PATH или secure_path, а вместо этого создавайте выделенный каталог, например /home/USERNAME/bin для этого, который содержит только исполняемые файлы, которые я хочу иметь на моем PATH и ничего больше.

Вывод:

Вы не должны поместите любые каталоги в secure_path, если они могут быть записаны для всех, кроме пользователя root. В противном случае обычные пользователи без повышенных привилегий (в том числе вредоносные программы или злоумышленники, ставящие под угрозу такую ​​учетную запись) могут поместить свои собственные исполняемые файлы и дождаться, когда кто-либо с sudo правами будет случайно (использовать распространенные ошибки в часто используемых командах в качестве имен файлов) или охотно выполнить его.

Если вы действительно хотите это сделать, попытайтесь ограничить права на запись в этом каталоге настолько сильно, насколько это возможно, и убедитесь, что вы добавили каталог в качестве последнего элемента secure_path, чтобы предотвратить что-либо в тени системные исполняемые файлы.

Альтернативы

Однако безопасный путь по-прежнему оставался бы всегда, чтобы всегда указывать полный путь к исполняемым файлам вне значения по умолчанию secure_path, если вы хотите запустить их с помощью [F22].

Вы также можете использовать подстановку команд с which, чтобы получить полный путь чего-то в PATH пользователя, например

sudo $(which MY_EXECUTABLE) ARGUMENTS
11
ответ дан 18 July 2018 в 11:52

Значение secure_path, если установлено, будет использоваться как переменная среды PATH для команд, которые вы используете с помощью sudo.

Это означает, что при запуске, например, sudo apt update, система попытается найти команду apt в каталогах, указанных в secure_path, в указанном порядке.

Теперь, если вы добавите каталог, в котором пользователи, не являющиеся root, имеют доступ на запись к secure_path, вы можете сделать это в двух положениях:

добавить к концу secure_path, с наименьшей приоритетной вставкой в ​​начале или в середине списка secure_path с более высоким приоритетом.

Добавление к концу почти безопасно, если он не изменит, как будут решены существующие команды, он просто позволяет исполнять исполняемые файлы из другого каталога без явного указания их местоположения. Тот факт, что этот дополнительный каталог можно записывать для пользователей без полномочий root, позволяет им размещать в них вредоносные файлы без повышенных привилегий, поэтому вам нужно быть осторожными при вводе любой команды, которая находится там (охотно или опечатки чем-то другим). [ ! d6]

Однако, если вы поместите свой каталог не как последний элемент, а с более высоким приоритетом, содержимое этого каталога будет тенеировать и переопределять те из мест, которые появляются после него в secure_path. Например, если вы поместили свой каталог пользователя в первую очередь и он содержит (вредоносный?) Исполняемый файл с именем apt, то при следующем запуске sudo apt update вы получите сюрприз ...

Я бы также никогда не добавляйте домашний каталог к ​​любым PATH или secure_path, а вместо этого создавайте выделенный каталог, например /home/USERNAME/bin для этого, который содержит только исполняемые файлы, которые я хочу иметь на моем PATH и ничего больше.

Вывод:

Вы не должны поместите любые каталоги в secure_path, если они могут быть записаны для всех, кроме пользователя root. В противном случае обычные пользователи без повышенных привилегий (в том числе вредоносные программы или злоумышленники, ставящие под угрозу такую ​​учетную запись) могут поместить свои собственные исполняемые файлы и дождаться, когда кто-либо с sudo правами будет случайно (использовать распространенные ошибки в часто используемых командах в качестве имен файлов) или охотно выполнить его.

Если вы действительно хотите это сделать, попытайтесь ограничить права на запись в этом каталоге настолько сильно, насколько это возможно, и убедитесь, что вы добавили каталог в качестве последнего элемента secure_path, чтобы предотвратить что-либо в тени системные исполняемые файлы.

Альтернативы

Однако безопасный путь по-прежнему оставался бы всегда, чтобы всегда указывать полный путь к исполняемым файлам вне значения по умолчанию secure_path, если вы хотите запустить их с помощью [F22].

Вы также можете использовать подстановку команд с which, чтобы получить полный путь чего-то в PATH пользователя, например

sudo $(which MY_EXECUTABLE) ARGUMENTS
11
ответ дан 24 July 2018 в 19:52

Другие вопросы по тегам:

Похожие вопросы: