Исправление Can’t do seteuid! в Perl

Данные изменения необходимы при настройке ряда ПО, требующего выполнения Perl программ с повышенными привилегиями.

Проблема и решение:

Программы с реализованными враждебными функциями имеют прямую возможность заставить интерпретатор передавать на выполнение при вызове “недоверительную среду окружения”, что косвенно способствует выполнению случайных команд от имени пользователя root.

Однако некоторые дистрибутивы изначально нечувствительны к такой perl уязвимости, так как /usr/bin/suidperl имеет режим доступа 755 по умолчанию. Администратор должен явно разрешить suidperl путем изменени прав доступа на 4755  root.root для открытия ланного типа уязвимости. В  SuSE, активация suidperl выполняется изменением файла  /etc/permissions.(easy|secure) и запуском SuSEconfig или команды chkstat -set /etc/permissions.(easy|secure). Однако при включении данной возможности, рекомендуется выставлять разрешающее право на файл /usr/bin/sperl****, что является жесткой ссылкой на /usr/bin/suidperl. Программы с suidperl требуют явного указания в коде некоторых переменных среды, для защиты от передачи значений переменных “злым” пользователем.

На суперкомпьютерах семейства скиф разрешено выполнять программы с установленным битом suid.

Scroll to top