Контроль и ограничение пользователей

Ограничение пользователей

Контроль пользователей

Ограничение пользователей

Имеются много плохих дел, которые пользователь может сделать, если он имеет интерактивный доступ к shell. Имеется также много способов предотвратить это. Квоты использования диска, процессора и тому подобные решения хорошее начало, более продвинутые методы, типа контроля пользователей для больших сред также помогают. Одна из самых простых вещей, которые пользователь может делать: исчерпание всей памяти или исчерпание всех файловых дескрипторов с “fork bomb”.

PAM

Новые дистрибутивы 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

Bash имеет встроенный ограничитель, к которому обращаются через “ ulimit”. Любые жесткие ограничения не могут быть установлены выше, если Вы имеете ограничения, определенные в /etc/profile. Это полезно для старых дистрибутивов без поддержки PAM. Вы должны также гарантировать, что пользователь не может изменять оболочку. Параметры настройки ограничений подобны методу PAM&:

ulimit –Sc 0 ulimit –Su 100 ulimit –Hu 150

Эти три правила достигли бы того же результата как вышеприведенные в примере с PAM. Первое правило отключает дампы ядра, второе правило устанавливает soft-ограничение в 100 процессов, и третье правило устанавливает жесткое ограничение в 150 процессов. Справка по ulimit доступна по команде “help ulimit” на приглашение bash.

Quota

Quota является системой для ограничения использования диска пользователями. Она встроена в большинство дистрибутивов. Справка доступна на man-странице командой “man quota”.

Контроль пользователей

Одна проблема общая на серверах с shell-достуом, заставляет уверенных пользователей не злоупотреблять сервером. Довольно просто контролировать стандартные ресурсы (типа дискового использования, использования CPU и т.д) но наиболее часто злоупотребляемый элемент bandwidth, к счастью имеется ряд способов контролировать это злоупотребление.

ttysnoop

Конечно это все хорошо, когда все правильно. Но что, если Вы фактически хотите контролировать то, что пользователь делает. Ttysnoop позволяет Вам контролировать то, что пользователь делает и записывать это. Вы можете получать ttysnoop с http://uscan.cjb.net.

UserIPAcct 

UserIPAcct позволяет Вам контролировать использование bandwidth пользователем, это включает патч ядра и устанавливает правила (подобные в концепции firewalling) чтобы контролировать количество данных, которые программы пользователя посылают или получают. Вы не можете получить данные относительно PPP подключений но ведь и PPP daemon не выполняется от имени обычного пользователя (хотя сделать это в общем можно). Я рекомендую это на сервере оболочки, чтобы контролировать пользователей. Полный пает можно загрузить с http://zaheer.grid9.net/useripacct.

Back

Security Portal

Written by Kurt Seifried