Pluggable Authentication Modules. Использование для ваших нужд::Журнал СА 9.2013
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 975
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1098
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 829
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 664
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1265
Комментарии: 0
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Pluggable Authentication Modules. Использование для ваших нужд

Архив номеров / 2013 / Выпуск №9 (130) / Pluggable Authentication Modules. Использование для ваших нужд

Рубрика: Администрирование /  Аутентификация

Рашид Ачилов РАШИД АЧИЛОВ, поклонник FreeBSD с многолетним опытом использования ее в совмещенных с Windows сетях и сторонник Open Source. Администратор сетей и средств защиты крупной торговой сети

Pluggable Authentication Modules
Использование для ваших нужд

Использование PAM для аутентификации различными способами, а также решения различных задач, таких как автоматическое создание домашнего каталога и почтового ящика, двухфакторная аутентификация. И все это без модификации исходного кода программ!

Немного истории

Pluggable Authentication Modules (PAM, подключаемые модули аутентификации) – это набор разделяемых библиотек, которые позволяют интегрировать различные низкоуровневые методы аутентификации в виде единого высокоуровневого API. Это дает возможность предоставлять унифицированные механизмы для управления, встраивания прикладных программ в процесс аутентификации. Является одной из частей стандартного механизма обеспечения безопасности UNIX.

PAM был в первый раз предложен Vipin Samar и Charlie Lai из Sun Microsystems в октябре 1995 года (RFC 86.0), а в качестве автономной инфраструктуры PAM впервые появился в виде Linux-PAM, разработанной в Red Hat Linux 3.0.4 в августе 1996 года.

В 2002-м была создана альтернативная версия PAM – OpenPAM. Разработка осуществлялась Dag-Erling Smorgrav (работавшим в то время в ThinkSec). Проект спонсировался Security Research Division of Network Associates, Inc. как часть исследовательской программы DARPA CHATS. Причины, по которым была начата реализация собственной версии, заключались в фундаментальных архитектурных недостатках и крайне низком качестве кода.

OpenPAM заменил Linux-PAM во FreeBSD в марте 2002-го. Первый официальный релиз, в котором он присутствовал по умолчанию, был FreeBSD 5.1 в июне 2003 года.

NetBSD с OpenPAM впервые был выпущен в декабре 2005-го (NetBSD 3.0). В MacOS X OpenPAM появился в MacOS X 10.6 в августе 2009 года.

Все примеры в данной статье будут рассматриваться на базе OpenPAM версии 20120526 «Micrampelis».

Существовавший некогда SunPAM более не находится даже гигантом поисковой мысли Google.

Зачем все это надо?

Каждый админ знает, что аббревиатура ААА (Authentication, Authorization, Accounting) скрывает одну из главнейших задач любой программы, которая дает или не дает доступ куда-либо.

Для этого программист либо сам создает все эти методы и соответственно несет риски их реализации, проверяет на устойчивость, выпускает патчи и т.д. либо перекладывает эту задачу на кого-нибудь еще, а сам только обращается к выбранной библиотеке.

Раньше, когда PAM не существовал, программа login должна была самостоятельно зашифровать пароль, программа passwd – самостоятельно и программа su – тоже самостоятельно! Вероятность ошибки, сами понимаете, – сумма вероятностей. После того как был внедрен PAM, это все переместилось в его модули, что привело не только к использованию единой библиотеки, но и к сокращению кода программ.

Также использование PAM дает возможность гибкой настройки процессов аутентификации и авторизации. Нет ничего проще сначала проверить наличие пользователя в локальной базе, потом на сервере Х, доступном через Winbind, потом на сервере Y, доступном через LDAP, и в конце всех этих проверок отказать в доступе, потому что пользователь не входит в доменную группу на сервере Z. Возможны и такие экзотические вещи, как блокировка системы по USB-брелку и аутентификация по отпечаткам пальцев...

Но мы будем рассматривать использование PAM на более приземленных вещах, а именно на задаче любого админа корпоративного почтового сервера – автоматическом создании почтовых ящиков без какого-либо вмешательства со стороны.

Все примеры показаны на основе FreeBSD 9.1 и почтовом сервере Dovecot, но будут работать и в других ОС.

... ... ...

PAM – вещь чрезвычайно мощная и гибкая. Именно поэтому она обладает некоторой сложностью настроек. Зато с помощью РАМ можно делать различные интересные вещи, даже в том случае, если они не предусмотрены автором программы – ему достаточно предусмотреть вообще работу с PAM.

В процессе написания статьи использовались материалы с [3] и [4] – прочитать их будет совсем не лишне. В частности, на [4] перечислены основные модули, входящие в OpenPAM, – а их там более двадцати.

Статью целиком читайте в журнале «Системный администратор», №9 за 2013 г. на страницах 32-36.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru