Контроль привилегированных пользователей (Privileged Account Management, PAM)
Контроль привилегированных пользователей (Privileged Account Management или PAM) — это комплекс решений, который помогает осуществлять мониторинг и контроль учётных записей, а также аудит выполняемых действий.
Он организуется в целях предотвращения:
- предотвращения утечек конфиденциальной информации;
- недопущения сбоев в функционировании информационных систем, инициированных действиями пользователей привилегированных аккаунтов.
Аккаунт с более широкими возможностями и правами доступа, может стать источником утечки данных или подвергнуться атаке злоумышленников. К тому же не исключена его компрометация самим владельцем.
Принцип контроля привилегированных пользователей
К категории привилегированных относятся:
- руководство компании;
- сотрудники, обеспечивающие работу IT-инфраструктуры (системные администраторы, программисты, работники службы безопасности и пр.);
- сотрудники ИТ-компаний, обслуживающих технику или программное обеспечение в гарантийный период;
- лица, осуществляющие контроль и аудит.
Составляющие успешного PAM
Для правильной организации контроля привилегированных пользователей нужно выбирать решения, которые:
- Обеспечивают мониторинг действий таких аккаунтов. Решение должно не просто отслеживать активность пользователя, но и давать чёткую информацию о том, кто работал под учётной записью в конкретный момент времени.
- Позволяют управлять доступом. При этом данные привилегированных учетных записей должны храниться в отдельной, от данных обычных сотрудников, зоне.
- Могут фильтровать команды, анализировать действия пользователей и принимать меры для их нейтрализации при необходимости (оповещение, блокировка и пр.).
Системы контроля привилегированных пользователей
PAM-решения могут быть программными или аппаратно-программными. Разработкой систем контроля привилегированных пользователей занимаются отечественные и зарубежные компании. Как правило, для их использования требуется только установка программы на сервер корпоративной сети. На контролируемые компьютеры какие-либо модули и расширения не устанавливаются.
Базовый функционал таких решений включает следующие возможности:
- управление учётными записями, доступом и паролями к ним (это же касается и управления такими записями в приложениях (программах);
- организация контроля привилегированных сессий;
- поддержка протоколов для удаленного администрирования: HTTP, FTP, SSH, RDP и пр.;
- запись сессий, изоляция объектов сети, сбор данных для расследования инцидентов.
Варианты решений
- SafeInspect компании «Новые технологии безопасности». Решение лицензировано ФСТЭК и ФСБ России. Соответствует требованиям ФЗ №152 и GPDR (актуально для компаний, работающих на европейском рынке).
- Zecurion PAM. Также отечественная разработка, принадлежит компании Zecurion. Имеются сертификаты ФСТЭК и Министерства обороны РФ.
- Indeed Privileged Access Manager. На июнь 2022 года происходит процесс сертификации ФСТЭК (по данным, предоставленным компанией Indeed).
- Система контроля действий поставщиков ИТ-услуг (СКДПУ) разработчика «АйТи Бастион». Ориентирована на организации, которые передали обслуживание ИТ-инфраструктуры на комплексный или частичный аутсорсинг.
Что такое PAM

Опубликовано: 13.03.2019
набор подключаемых модулей, которые отвечают за аутентификацию в системе. По сути, это API, который операционная система или приложения могут использовать, чтобы отправить запросы на проверку подлинности пользователя. PAM расшифровывается как Pluggable Authentication Modules; перевод на русский — подключаемые модули аутентификации.
PAM разработана компанией Sun Microsystems и была представлена в 1995 году. Раньше в UNIX за авторизацию пользователя в систему отвечала программа login, которая принимала логин и пароль и сравнивала данные с данными в файле /etc/passwd. Теперь же, login не занимается аутентификацией, а просто передает задачу PAM, который с помощью набора своих или дополнительно подключенных алгоритмов проверяет подлинность пользователя и возвращает ответ.
Данный модуль можно встретить во многих операционных системах на основе UNIX, например, Ubuntu, CentOS, Debian, Red Hat, FreeBSD, Gentoo, Mac OS X, Solaris и многих других.
Настройка PAM выполняется в главном конфигурационном файле /etc/pam.conf и подключаемых из каталога /etc/pam.d, название каждого файла в котором точно соответствует названию программы, которая использует модуль pam для аутентификации. В некоторых системах, например, Linux CentOS, файла pam.conf может и не быть — настройка выполняется с помощью файлов в pam.d.
Пример стандартного файла для аутентификации в SSH:
#%PAM-1.0
auth required pam_sepermit.so
auth substack password-auth
auth include postlogin
# Used with polkit to reauthorize users in remote sessions
-auth optional pam_reauthorize.so prepare
account required pam_nologin.so
account include password-auth
password include password-auth
# pam_selinux.so close should be the first session rule
session required pam_selinux.so close
session required pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open env_params
session required pam_namespace.so
session optional pam_keyinit.so force revoke
session include password-auth
session include postlogin
# Used with polkit to reauthorize users in remote sessions
-session optional pam_reauthorize.so prepare
- — варианты: auth (проверка наличия пользователя в системе), account (контроль распределения ресурсов системы), session (события, которые происходят до того, как произойдет авторизация), password (проверка подлинности).
- — варианты: required (требуется для успешной авторизации и если закончится ошибкой, то в целом pam вернет отказ), requisite (то же самое, что и required с резкой остановкой последующих правил), sufficient (достаточный для проверки подлинности, то есть если завершится успешно, pam вернет успех), optional (дополнительный модуль — результат его работы не влияет на ответ pam; может использоваться для вывода дополнительной информации), include (подключение строк из другого файла), substack (подключение строк из другого файла, но только того же типа, что наша строка).
- — путь может быть полным (от корня /) или относительно каталога /usr/lib/security и/или /usr/lib64/security.
- — для указания дополнительных параметров. Например, некоторым модулям можно передать файлы конфигурации.
Еще немного о PAM на Википедии
Встречается в статьях
Инструкции:
- Как настроить почту для корпоративной среды на CentOS 8
- Как настроить почту для корпоративной среды на Debian
- Как настроить почту для корпоративной среды на Ubuntu Server
- Как настроить почту на базе Postfix для корпоративной среды (CentOS 7)
- Как установить и использовать сервер хранения секретов Hashicorp Vault
- Установка и настройка FTP-сервера vsFTPd на CentOS 7
PAM-системы: что это и зачем нужны

С точки зрения кибербезопасности человек был и остается самым уязвимым элементом защиты, на который нацелены многие хакерские инструменты, от социальной инженерии и фишинга до технологий брутфорса и OSINT-разведки на предмет ранее « засвеченных» паролей. Ряд пользователей особенно привлекательны для хакеров, поскольку, ввиду особенностей их трудовых обязанностей, они обладают повышенными привилегиями в информационных системах компании. Для контроля их деятельности и защиты от взлома используются PAM-системы. В этой статье будут разобраны проблемы контроля сотрудников с повышенными привилегиями, основные характеристики и задачи систем контроля привилегированных пользователей.
Кто такие привилегированные пользователи
- Топ-менеджмент. Руководители подразделений компаний, которые имеют доступ к цифровым ресурсам компании (например, аналитике CRM-систем).
- Технические специалисты. Например, администраторы или разработчики, которые имеют прямой доступ к защитным инструментам, исходному коду, базам данных и другим рабочим элементам инфраструктуры.
Базовая характеристика привилегированного пользователя – это наличие доступа к чувствительной информации, которого нет у рядовых сотрудников. Учетная запись такого работника наиболее привлекательна для хакеров, поскольку позволяет быстро получить контроль над инфраструктурой или доступ к целевым данным.
Руководитель отдела аналитики «СерчИнформ»
У технических кадров есть неограниченный доступ к конфиденциальной информации, т.к. обслуживание ИТ-инфраструктуры – их прямая должностная обязанность. Поэтому контроль таких специалистов должен быть комплексным. Привилегированный пользователь может оказаться злоумышленником сам и быть использован как «точка старта» кибератаки (по данным нашего опроса около 10% всех инцидентов ИБ – это действия хакеров через сотрудников).
Нужен контроль с точки зрения информационной безопасности – должна быть уверенность, что технические специалисты не злоупотребляют должностными полномочиями. Это можно сделать с помощью PAM-, DLP- и SIEM-систем. Кроме того, требуется дисциплинарный контроль. Это как банальный мониторинг продуктивности с помощью DLP или тайм-трекеров (не нарушают ли сотрудники рабочий распорядок), так и мониторинг правильности выполнения технических задач.
Для хакеров такие «rut-пользователи» привлекательны тем, что доступ к их учетной записи сильно сокращает цепочку атаки. Злоумышленнику не нужно заниматься долгим изучением инфраструктуры и самостоятельно вести работы по повышению прав в системе – достаточно просто узнать логин и пароль конкретного специалиста.
Какие задачи решает PAM
Выше мы уже сказали о противодействию внешним злоумышленникам и хакерской активности. Это важная функция, которая, вкупе с разумной парольной политикой, вниманием к потенциально фишинговым письмам и другими элементами цифровой гигиены, позволяет эффективно защитить учетную запись привилегированного пользователя.
Руководитель департамента информационной безопасности ИМБА ИТ
PAM-системы осуществляют контроль привилегированных пользователей, защиту от несанкционированного доступа к ИТ-инфраструктуре и проведение расследований для доказательства ошибочных или неправомерных действий сотрудников.
— Предоставить гранулированный и защищённый доступ к целевой ИТ-инфраструктуре с ограничением по времени.
— Обеспечить протоколирование и запись сеанса работы администраторов с ИТ-инфраструктурой.
— Обеспечить безопасное управление паролями (хранить их в защищённой БД, генерировать и обновлять автоматически без ведома администраторов).
Для решения этих задач обычно используется сервер-брокер (прокси-сервер). Пользователи подключаются к нему с обычными правами, а после прохождения аутентификации и авторизации получают привилегированный доступ к администрируемым компонентам. При этом система обеспечивает безопасное хранение паролей и периодическое изменение. Такой подход обеспечивает:
— безопасное администрирование ИТ-инфраструктуры;
— управление привилегированными записями и их безопасность;
— проведение расследования.
Данный класс решений разработан для решения специфических задач по обеспечению контроля за привилегированными пользователями, с учетом того, что потенциальные угрозы могут исходить от них самих.
Другие классы решений могут лишь частично выполнять некоторые функции PAM-систем:
— IdM — обеспечивает управление жизненным циклом всех учетных записей в компании.
— SIEM — собирает события с администрируемых серверов.
Только PAM решает главные задачу по обеспечению контроля действий привилегированных пользователей.
Система контроля привилегированных пользователей позволяет не только защититься от хакерской активности, но и проработать риски инсайдерской деятельности со стороны сотрудника компании. Распространенный сценарий, когда сотрудник перед своим увольнением скачивает все доступные базы данных и «уносит» их из компании, чтобы опубликовать на теневых форумах, либо просто продать конкурентам.
Руководитель направления по перспективным ИБ-решениям в компании «Сиссофт»
Необходимость контроля привилегированных пользователей для компаний очень актуальна. PAM-системы позволяют не только предотвращать атаки злоумышленников и контролировать действия привилегированных пользователей, они помогают автоматизировать процессы прозрачного и защищенного доступа к ИТ-инфраструктуре. PAM также могут навести порядок в общем пуле учетных записей, отделив привилегированных пользователей от обычных. А еще управлять доступами и ловить злоумышленников в режиме текущего времени, что крайне важно для расследования инцидентов.
Отдельно стоит отметить актуальность управления привилегированным доступом в компаниях, которые занимаются разработкой софта. Здесь проблема стоит еще острее, поскольку в российской и зарубежной практике бывали случаи, когда из компании уходит руководитель отдела, за ним уходит «костяк» разработчиков, а через месяц-два на рынке появляется точно такой же цифровой продукт. Учитывая несовершенство законодательства, лучше заранее «страховать» такие риски, чем годами доказывать в суде свою правоту и решать вопросы авторства исходного кода.
Что такое PAM-система
PAM (privileged access management) – это система контроля и организации доступа привилегированных пользователей к информационным системам компании. В зависимости от конкретного продукта, она может использоваться как для контроля внутренних сотрудников, так и внешних, например, аутсорс-разработчиков.
Старший менеджер дирекции решений по информационной безопасности компании MONT
PAM-система создана для минимизации рисков утечек и возможности расследовать инцидент, а также для укрепления безопасности для ИБ в целом. Она позволяет контролировать пароли, предотвращать массовые утечки персональных данных и документов внутреннего пользования (для руководителей, PR, маркетинга) и экономить на репутационных издержках. PAM становится непосредственно перед целевыми системами, своего рода proxy. После подключения к серверу РАМ весь остальной доступ к системе будет через него. РАМ сервер как бы прячет в себе все логины, пароли, привилегии, а еще все записывает.
От других систем контроля и ограничения доступа для сотрудников решение PAM отличается ориентированностью на конкретную группу сотрудников, которые имеют повышенные привилегии в рамках системы. С технической точки зрения серьезных отличий нет.
Для PAM характерна та же проблема, что и для других систем контроля – ее внедрение может быть неверно интерпретировано сотрудниками компании. Второй пласт проблем – это возможное снижение скорости работы контролируемых сотрудников из-за затрат времени на авторизацию и другие процессы.
В данном случае, подобные риски более чем оправданы, поскольку интеграция PAM позволяет сильно сократить потенциальные риски утечки данных и, в конечном итоге, организовать доступ к чувствительным данным и инфраструктуре, что повышает доверие к каждому привилегированному пользователю за счет существования инструментов их объективного контроля.
Руководитель дивизиона информационной безопасности TEGRUS
Часто при внедрении подобных систем контроля, особенно если они начинают применяться к собственным привилегированным пользователям, компании натыкаются на недовольство собственного персонала. Этот фактор нельзя упускать из виду. В этом случае необходимо давать сотрудникам пояснения, что эта система не только их контролирует, но еще и дает возможность получить объективные данные. В случае инцидента уже не получится возложить вину на человека, который был непричастен к его возникновению. Данные решения позволяют точно установить были ли им совершены действия, которые привели к неприятному событию, или проблема с этим не связана.
С точки зрения построения систем защиты информационных систем компании, PAM – это не инструмент первой очереди, и, в большей мере, интересен зрелым с точки зрения ИБ компаниям, у которых уже интегрированы системы защиты периметра и первичного контроля сотрудников внутри инфраструктуры.
Pam что это такое
PAM или Pluggable Authentication Modules (подключаемые модули аутентификации) — это модульный подход к системе аутентификации. Они позволяют сторонним службам предоставлять модуль аутентификации для обеспечения доступа к службе для систем с поддержкой PAM. Службы, использующие PAM для аутентификации, могут использовать их сразу же, без необходимости дополнительной пересборки.
- 1 Введение
- 1.1 Принципы работы PAM
- 1.2 Как работает PAM
- 2.1 Управляющие директивы
- 2.2 Управление файлами конфигурации PAM
Введение
На сервере Linux PAM (Pluggable Authentication Modules) могут использоваться для управления аутентификацией (как часть управления предоставления доступа). При использовании PAM сервисам нет необходимости поддерживать собственную систему аутентификации. Вместо этого они полагаются на модули PAM, доступные в системе. Любой сервис при необходимости может использовать собственную конфигурацию PAM, хотя в большинстве случаев аутентификация выполняется одинаково во множестве сервисов. Вызывая модули PAM, сервисы могут поддерживать двухфакторную аутентификацию «из коробки», сразу же использовать централизованные хранилища аутентификационных средств и многое другое.
PAM предоставляют гибкую модульную архитектуру для следующих сервисов:
- Управление аутентификацией — проверяет, существует ли пользователь под которым пытаются зайти.
- Управление учётными записями — проверяет, что пароль пользователя не истёк или имеет ли пользователь право обращаться к определённому сервису.
- Управление сеансами — выполняет определённые задачи во время входа или выхода пользователя из системы (аудит, монтирование файловых систем и так далее).
- Управление паролями — предлагает интерфейс для сброса пароля и тому подобное.
Заметка
PAM не предоставляет никаких сервисов для авторизации. Обычно авторизация выполняется внутри приложения. Некоторые приложения поддерживают авторизацию на основе принадлежности группе (члену группы разрешается авторизация). Распространённым подходом (но не для PAM) для этого является поддержка NSS (Name Service Switch). NSS по своей архитектуре очень похож на PAM. Фактически, на серверах Linux авторизация управляется с помощью библиотек NSS.Принципы работы PAM
При работе с PAM администраторы очень быстро поймут принципы, по которым функционирует PAM.
Во-первых, это «независимость от бэк-энда». Приложениям, поддерживающим PAM, нет необходимости учитывать низкоуровневую логику, чтобы работать с бэк-эндами, например, базами данных, службой LDAP, файлами паролей, веб-службами с поддержкой WS-Security или другими ещё неизобретёнными бэк-эндами. Используя PAM, приложения отделяют логику работы бэк-энда от своей. Всё, что им нужно сделать — это вызвать функцию PAM.
Другим принципом является «независимость от конфигурации». Администраторам не нужно знать, как настраивать десятки различных приложений, чтобы заставить их поддерживать аутентификацию через LDAP-сервер. Вместо этого им достаточно воспользоваться одной конфигурационной структурой, предоставляемой PAM.
Последним принципом, являющимся также частью названия PAM, является «подключаемая архитектура». Когда необходимо интегрировать новый бэк-энд, всё, что нужно сделать администратору — это установить библиотеку для этого бэк-энда (большинство модулей используют один файл настроек). Начиная с этого момента модуль становится доступен для использования приложениями. Администраторы могут настроить аутентификацию для использования этого бэк-энда и просто перезапустить приложение.
Как работает PAM
Приложения, для которых необходимо использование PAM, линкуются с библиотекой PAM (libpam) и могут вызывать нужные функции работы с указанными выше службами. Кроме этого, в приложении не нужно ничего реализовывать специфичного для работы с этими сервисами, так как эту задачу на себя берёт PAM. И когда пользователь захочет аутентифицироваться, скажем, в веб-приложении, то это приложение вызывает PAM (передавая ему идентификатор и, возможно, пароль или запрос) и проверяет возвращаемые данные, чтобы принять решение, аутентифицировался ли пользователь и имеет ли он доступ к приложению. Внутренней задачей PAM является определение, где необходимо аутентифицировать пользователя (например, в центральной базе данных или на LDAP-сервере).
Сильной стороной PAM является то, что любой желающий может создать модули PAM для интеграции с любым поддерживающим PAM сервисом или приложением. Если какая-нибудь компания выпускает новую сервис для аутентификации, всё, что нужно будет сделать, — это предоставить для взаимодействия с этим сервисом модуль PAM, после чего любое использующее PAM приложение сможет незамедлительно работать с этом сервисом: нет необходимости что-то пересобирать или улучшать.
Конфигурация
Другой важной особенностью PAM является то, что они поддерживают объединение в цепочки нескольких модулей. Вот конфигурационный файл PAM для некоего сервиса:
ФАЙЛ /etc/pam.d/someservice Пример конфигурационного файла PAM для сервиса с названием «someservice»
# Аутентификация auth required pam_env.so auth required pam_ldap.so # Управление учётными записями account required pam_ldap.so # Управление паролями password required pam_ldap.so # Управление сеансами session optional pam_loginuid.so session required pam_selinux.so close session required pam_env.so session required pam_log.so level=audit session required pam_selinux.so open multiple session optional pam_mail.so
Видно, что конфигурационный файл разделён на четыре области сервисов, которые поддерживают PAM: аутентификация, управление учётными записями, управление паролями и управление сеансами.
Каждый из этих разделов в файле вызывает один или несколько модулей PAM. Например, pam_env.so устанавливает переменные среды, которые могут быть использованы последующими модулями. Код, возвращаемый модулем PAM, вместе с управляющими директивами (в данном примере — required или optional) позволяет PAM решать, что делать дальше.
Управляющие директивы
PAM поддерживают следующие управляющие директивы:
Директива Описание required Указанный модуль PAM должен вернуть код успеха для того, чтобы весь сервис (например, аутентификация) была успешна. Если модуль PAM вернёт код неудачи, остальные модули будут всё равно вызваны (хотя уже точно известно, что сам сервис будет недоступен). requisite Указанный модуль PAM должен вернуть код успеха для того, чтобы весь сервис был доступен. В отличие от required, если модуль PAM вернёт код неудачи, директива сразу же завершится, и сам сервис будет недоступен. sufficient Если указанный модуль PAM вернёт код успеха, весь сервис будет разрешен. Оставшиеся модули PAM не будут проверяться. Однако, если модуль PAM вернёт код неудачи, оставшиеся модули пройдут проверку, а неудача данного модуля не будет приниматься во внимание. optional Код успеха или неудачи указанного модуля PAM будет иметь значение, если это единственный модуль в стеке. Цепочки модулей позволяют выполнить множественную аутентификацию, выполнить несколько задач в процессе создания сеанса и тому подобное.
Управление файлами конфигурации PAM
Так как конфигурационные файлы PAM управляют процессом аутентификации в приложении, очень важно правильно с ними взаимодействовать. Файлы обычно располагаются в каталоге /etc/pam.d/ .
В больших организациях или в требовательных к безопасности системах любая модификация конфигурационных файлов PAM должна подвергаться соответствующему аудиту.
Это же относится к тому месту, где располагаются модули PAM ( /lib/security или /lib64/security ).
PAM и Gentoo
Для приложений, поддерживающий PAM, принудительно включён USE-флаг pam . Хотя и возможно создать систему Gentoo без поддержки PAM ( USE=»-pam» ), но по умолчанию поддержка PAM включена.
When upgrading remote systems it is possible to leave the system inaccessible. To avoid this after an upgrade while being still logged in to the machine:
- check that logging is up and running
- check necessary configuration updates in /etc/ssh and /etc/pam.d
- check news items whether breaking changes were introduced, e.g. PAM related news Item
- check that changing passwords works flawlessly, e.g. passwd for root/ any user and cancel before actually changing the password
- restart SSH server in case it got updated
- check that a new login to the remote machine works
What could happen:
- without logging errors during the checks cannot be analyzed
- passwd errors out because of PAM module errors
- SSH prohobits login because of PAM misconfiguration/ module errors, e.g. plain connection closed
- password policies changed, e.g. prohibiting root without password
Example of how to parse system configuration
In this forum post in 2021 given by GDH-gentoo, the configuration of a system is tracked down step-by-step, in order to find which service creates the directory /run/user/ on a user login.
См. также
- PAM (Security Handbook)
- Статья Модуль pam_ssh_agent, описывающая установку и конфигурацию стороннего модуля PAM, который организовывает аутентификацию через инфраструктуру открытых ключей SSH
- Статья Google Authenticator, описывающая установку и использование приложения аутентификатора Google для аутентификации через PAM
Внешние ресурсы
- Working with PAM, раздел руководства разработчика Gentoo