Программы с полномочиями setuid и setgid

Когда для некоторого исполняемого файла устанавливаются полномочия идентификации пользователя-установщика (setuid), то процесс, который запускает файл, получает доступ как владелец данного файла (как правило, это суперпользователь), а не как пользователь, который создал данный процесс. Это дает возможность пользователю получать доступ к файлам и каталогам, которые обычно доступны только для их владельца. Например, установка полномочий setuid на команду passwd дает возможность обычному пользователю редактировать файл /etc/passwd для изменения паролей. Когда некоторый пользователь исполняет команду passwd, то для него предполагаются полномочия суперпользователя, имеющего UID, равный 0. Полномочия setuid могут быть обнаружены при помощи команды Is -1. Символ s в поле полномочий в приведенном ниже примере обозначает использование setuid:

Is -1 /usr/bin/passwd

Картинка

-r-sr-sr-x 1 root sys 10332 May 3 08:23 /usr/bin/passwd

Многие исполняемые программы работают должным образом, если запущены с привилегиями суперпользователя. Эта программы запускаются с идентификатором пользователя, установленным в значение 0 (setuid0). Любой человек, запускающий подобные программы, запускает их с идентификатором суперпользователя, что создает потенциальные проблемы в защите информации, если программы не были написаны с учетом требований по защите информации от несанкционированного доступа.

Для поиска файлов, которые имеют полномочия setuid, зарегистрируйтесь в системе как супер-пользователь. Затем воспользуйтесь командой find для поиска файлов, которые имеют установленные полномочия setuid:

Картинка

find [directory] -user root -perm -4000 -exec Is -ldb {); >/tmp/filename

Использование полномочий setuid на исполняемой программе представляет собой определенную опасность для защиты. Целеустремленный пользователь обычно может найти способ эксплуатации полномочий, предоставленных ему процессом setuid, даже после того, как исполнение этого процесса завершится. Например, конкретная команда может предоставить привилегии суперпользователя посредством setuid. Если какой-нибудь пользователь сможет взломать эту команду, он все еще сумеет сохранять привилегии суперпользователя, предоставленные ему установкой setuid для данного файла. Любой злоумышленник, получивший доступ к системе, будет искать файлы, имеющие полномочия setuid.

За исключением исполнимых модулей, поставляемых в комплекте программного обеспечения Solaris и имеющих установку setuid на суперпользователя, вы должны запретить применение программ с полномочиями setuid или, по крайней мере, ограничить их количество и поддерживать его на минимальном уровне.

Картинка
Ведете ли вы блог?

Да
Нет
Планирую


Результаты опроса

Новостной блок