Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Другое по PAM.

Рубрика: Безопасность -> Основные меры защиты Linux
Метки: | | |
Суббота, 2 мая 2009 г.
Просмотров: 5149

Не РАМ-способ.

     Если РАМ не используется, то для ограничения системных ресурсов необходимо использовать файл /etc/limits. Принцип тот же самый, но несколько отличается синтаксис:

Имя_пользователя Строка_ограничений

     Следуя справочной системе (man limits), можно использовать следующие идентификаторы:


  • А — максимальное адресное пространство (Кб).
  • С — максимальный размер core-файла (Кб).
  • D — максимальный размер данных (Кб).
  • F — максимальный размер файла (Кб).
  • N — число открытых файлов (Кб).
  • R — максимальный размер RS (Кб).
  • S — максимальный размер стека (Кб).
  • Т — максимальное процессорное время (Кб).
  • U — максимальное число процессов.
  • К — маска создания файла, устанавливаемая с помощью umask(2).
  • L — максимальное число входов пользователя в систему.
  • Р — приоритет процесса.
Пример: Piter CO U50

     Контролирование SU-доступа.

     По умолчанию любому пользователю разрешено стать пользователем root, если он введет команду su, а затем — пароль пользователя root. Но более безопасным вариантом является предоставление полномочий root только определенной группе пользователей, например пользователям группы wheel. Для этого нужно отредактировать файл /etc/pam.d/su следующим образом:

auth required pam_wheel.so group=wheel

auth required pam_pwdb.so

account required pam_pwdb.so

password required pam_cracklib.so min=20 retry=3

password required pam_pwdb.so md5 use_authtok

session required pam_pwdb.so

     СНROOT-окружение.

     Chroot-окружение популярно у большинства провайдеров и на Web-узлах. Эта технология дает возможность ограничить доступ пользователя к определенной части файловой системы.

     Сама идея chroot-окружения довольно простая: в каком-то каталоге создается минимально необходимая для запуска некоторого сервиса структура каталогов, которая эмулирует корневую файловую систему, то есть в этом подкаталоге будут подкаталоги /bin, /lib, /etc и другие. Но в каталоге /bin будут только те исполнимые файлы, которые нужны определенному сервису, в каталоге /lib — только те библиотеки, которые нужны этому сервису, а в каталоге /etc — конфигурационные файлы сервиса, а не конфигурационные файлы всей системы.

     При запуске сервиса делается вызов chroot (изменение корневого каталога), и в качестве параметра указывается каталог, который содержит определенную структуру каталогов, похожую на корневую файловую систему. Большинство популярных сервисов поддерживают запуск в chroot-окружении (например, Apache и BIND).

     Может быть несколько chroot-каталогов — по одному на каждый сервис, который будет запускаться в chroot-окружении. Что это даст? При любом взломе сервиса хакер получит доступ не к корневой файловой системе, а только к тому каталогу, который был сделан для сервиса корневым.

     Теперь обеспечим поддержку chroot со стороны РАМ:

session required /lib/security/pam_chroot.so

     Эту строку нужно добавить в конфигурационные файлы всех сервисов (те, которые находятся в каталоге /etc/pam. d/), которые дают возможность входить пользователю в систему (например, login, sshd, ftp).

     Другие РАМ-модули.

     Главная идея РАМ заключается в том, что можно подключать дополнительные модули без какой-либо перекомпиляции. В зависимости от дистрибутива, в его составе могут быть и другие дополнительные РАМ-модули, описание которых можно прочитать в документации по этим модулям.