Запуск процессов с ограниченными правами
Запуск процессов с правами системы является порочной практикой, от которой следует отказываться. Да, фатальных уязвимостей, которые позволяли бы злоумышленнику исполнять произвольный код на удалённой машине с OS/2, обнаружено не было. Тем не менее, при наличии адекватного средства для ограничения прав процессов было бы глупо им не воспользоваться. Ниже будет показан способ задания прав процесса на примере веб-сервера Apache — потенциально весьма уязвимого сервиса, особенно при использовании серверных скриптов.
Для начала надо установить пакет Security/2 by nickk (достаточно установить его в режиме 'No local logon'). Рекомендуются следующие параметры:
BASEDEV=SSES.SYS /suanyuser /logbuf:65535 /logresult:deny
RUN=C:\SECURITY\bin\ssesctl.exe --source C:\SECURITY\etc\passwd?C:\SECURITY\etc\acls --logfile E:\logs\sses\ssesctl.log --logsuck |
Здесь C:\SECURITY — каталог, в который установлена Security/2, E:\logs\sses\ — каталог, в котором будут вестись логи.
Далее с помощью утилиты USER.EXE создадим пользователя 'apache' с паролем '12345'.
После этого начнётся самое интересное — разрешение пользователю 'apache' использовать те ресурсы, без которых он не может работать. Я предпочитаю запускать апач детачем:
su -p 12345 -c "detach httpd.exe" apacheСмотрим E:\logs\sses\ssesctl.log и видим список ресурсов, к которым был запрещён доступ процессу, запущенному от пользователя 'apache'. Вдумчиво разрешаем то, что необходимо. Правим C:\Security\etc\acls и запускаем апач заново. Постепенно приходим к чему-то типа нижеследующего:
[100:first] x <dll> # По дефолту здесь стоит '* C:\os2\*'. Это не есть хорошо [104:u:apache] # devices rw \dev\screen$ rw \dev\nul rw \dev\inet$ r \dev\singleq$ # системные файлы/библиотеки, emx rx C:\OS2\CMD.EXE rx C:\OS2\DLL* r C:\OS2\SYSTEM* rx C:\emx\dll* # собственно апач rwcd D:\Apps\apache\log* rx D:\Apps\apache* # настройки r C:\MPTN\ETC\socks.env r C:\MPTN\ETC\resolv r C:\MPTN\ETC\resolv2 r C:\MPTN\ETC\hosts r C:\MPTN\ETC\services r C:\MPTN\ETC\php.ini r D:\Apps\resin\conf\resin.conf r *.htaccess # каталог с сайтами rx E:\www\*\cgi-bin* r E:\www* # каталог для upload handling и session handling rwcd E:\temp\apache* # каталог для логов rwc E:\logs\apache* # рассылка почты через IPS rwx D:\Apps\IPS\endmail\endmail.cmd rwcd D:\Apps\IPS\queue\mail* # и, наконец, запрещаем всё, что не разрешено - *Благодарность: Nick Lepehin aka nickk aka ||||-|||| за саму программу и за помощь при разбирательствах с оной.
Dmitry Ban
Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ