Биты SUID и SGID

Мини-картинка

В Linux есть ряд программ и сценариев, выполняемых с установленным битом SUID и/или SGID. Многие из них действительно необходимы. Но каждая из таких программ — потенциальная мишень для хакеров. Наиболее опасны программы и сценарии, владельцем которых является пользователь root.

Выше уже говорилось о том, какую опасность таит в себе программа с установленным битом SUID.

Вообще говоря, программы и сценарии данного типа служат для выполнения определенных системных функций. Определите для себя, действительно ли все эти функции необходимы. Если окажется, что некоторые функции не нужны, отмените их с помощью команды chmod и, самое главное, задокументируйте свои действия. Впоследствии установки можно будет восстановить.

Контролируйте использование программ с установленными битами SUID/SGID. Проникнув в систему, хакеры нередко оставляют SUIDпрограмму в качестве "черного хода". Справиться с этим позволяют программы Bastille и Tripwire. Они не предотвратят "взлом", но если пользоваться ими регулярно, то можно оперативно выявлять факты модификации системы и различные "лазейки", оставленные хакерами.

Быть в курсе последних событий — святая обязанность администратора. Уделяйте внимание рекомендациям, публикуемым организациями типа CERT и в списке рассылки bugtraq4, и вы узнаете обо всех "дырах", выявляемых в системе. Главное, чтобы это произошло до того, как будет взломана ваша собственная система.

SUIDсценарии в общем случае более опасны, чем SUIDпрограммы. В основном это связано с тем, что перед выполнением сценария вызывается интерпретатор команд. Если сценарий меняет свой идентификатор пользователя на root, то же самое произойдет и с вызываемым интерпретатором. Это позволит злоумышленнику непосредственно перед запуском сценария заменить файл, который предстоит выполнить. На его место можно подставить любой другой сценарий, включая другой интерпретатор. Существует множество свободно распространяемых программ, использующих данный прием, поэтому старайтесь избавляться от SUIDсценариев пользователя root.

Если требуется написать такого рода сценарий, реализуйте его в виде программы на языке С или, по крайней мере, воспользуйтесь опцией Т в случае Рег1сценария. И не забывайте о методиках безопасного программирования.


Ведете ли вы блог?

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


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

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