Оригинал LASG доступен
на
http://www.securityportal.com/lasg
Перевод на русский
выполнен
Алексеем Паутовым <rldp@ftp.botik.ru>
Контроль и ограничение пользователей
Ограничение пользователей
Контроль пользователей
Имеются много плохих дел, которые
пользователь может сделать, если он имеет
интерактивный доступ к shell. Имеется также
много способов предотвратить это. Квоты
использования диска, процессора и тому
подобные решения хорошее начало, более
продвинутые методы, типа контроля
пользователей для больших сред также
помогают. Одна из самых простых вещей,
которые пользователь может делать:
исчерпание всей памяти или исчерпание всех
файловых дескрипторов с “fork bomb”.
Новые дистрибутивы Linux с поддержкой PAM
обеспечивает относящиеся к окружению
параметры настройки. Например, можно
ограничить доступный объем памяти. В Red Hat и
Caldera это настраивается в каталоге /etc/security,
который содержит ряд файлов. Наиболее
интересный файл: /etc/security/limits.conf, который
позволяет Вам определять правила для
пользователей или групп: “soft” или “hard”, а
также на что правило действует. Например:
* hard core 0
bob soft nproc 100
bob hard nproc 150
Первое правило отключило дампы ядра для
всех, второе правило устанавливает
ограничение soft для пользователя bob в 100
процессов, и третье правило устанавливает
ограничение hard для пользователя bob в 150
процессов. Ограничение soft может быть
превышено, обычно с предупреждением, а
ограничение hard не может быть превышено.
Применяется ограничение ко всем вариантам
доступа, в том числе и по ftp.
Bash имеет встроенный ограничитель, к
которому обращаются через “ ulimit”. Любые
жесткие ограничения не могут быть
установлены выше, если Вы имеете
ограничения, определенные в /etc/profile. Это
полезно для старых дистрибутивов без
поддержки PAM. Вы должны также гарантировать,
что пользователь не может изменять
оболочку. Параметры настройки ограничений
подобны методу PAM&:
ulimit –Sc 0
ulimit –Su 100
ulimit –Hu 150
Эти три правила достигли бы того же
результата как вышеприведенные в примере с PAM. Первое правило отключает дампы ядра,
второе правило устанавливает soft-ограничение
в 100 процессов, и третье правило
устанавливает жесткое ограничение в 150
процессов. Справка по ulimit доступна по
команде “help ulimit” на приглашение bash.
Quota является системой для ограничения
использования диска пользователями. Она
встроена в большинство дистрибутивов.
Справка доступна на man-странице командой
“man quota”.
Одна проблема общая на серверах с shell-доступом,
заставляет уверенных пользователей не
злоупотреблять сервером. Довольно просто
контролировать стандартные ресурсы (типа
дискового использования, использования CPU и
т.д) но наиболее часто злоупотребляемый
элемент bandwidth, к счастью имеется ряд
способов контролировать это
злоупотребление.
Конечно это все хорошо, когда все
правильно. Но что, если Вы фактически хотите
контролировать то, что пользователь делает.
Ttysnoop позволяет Вам контролировать то, что
пользователь делает и записывать это. Вы
можете получать ttysnoop с http://uscan.cjb.net.
UserIPAcct позволяет Вам контролировать
использование bandwidth пользователем, это
включает патч ядра и устанавливает правила
(подобные в концепции firewalling) чтобы
контролировать количество данных, которые
программы пользователя посылают или
получают. Вы не можете получить данные
относительно PPP подключений но ведь и PPP daemon
не выполняется от имени обычного
пользователя (хотя сделать это в общем
можно). Я рекомендую это на сервере оболочки,
чтобы контролировать пользователей. Полный
пакет можно загрузить с http://zaheer.grid9.net/useripacct.
|