Пакеты и файлы
В данных статьях приводится описание приложения на языке C++, так как большинство масштабируемых приложений разрабатывается с применением именно этого языка и его отличия от языка C, хотя они и существуют, не являются значительными. Вы можете разрабатывать совместимые с системой Linux PAM модули, используя любой язык программирования в том случае, если он позволяет вам осуществлять вызовы необходимых функций языка C.
Для начала вам необходимо установить заголовочные файлы для разработки. В системе Debian это делается с помощью команды . Эта команда позволяет установить необходимые файлы исходного кода, разместив их в тех директориях, где компилятор g++ сможет их найти.
Вам будет необходимо включить заголовочный файл в в файл исходного кода вашего модуля при помощи директивы #include <security/pam_modules.h>.
При компиляции вам будет необходимо осуществить связывание модуля с файлами библиотеки . В моем файле для этого используется строка: .
В случае статического связывания модуля необходимо использовать объявление четырех типов модулей с помощью директивы #define перед тем, как осуществить включение заголовочного файла security/pam_modules.h с помощью директивы #include.
#define PAM_SM_ACCOUNT #define PAM_SM_AUTH #define PAM_SM_PASSWORD #define PAM_SM_SESSION
Модуль 2. Ретроспектива механизмов аутентификации и авторизации в UNIX
Использование протокола NIS для аутентификации и авторизации пользователей в UNIX сети
- В систему server добавляем пользователей user1 с uid=10001 gid=10001 и user2 с uid=10002 gid=10002
- Заполняем поля GECOS
- В систему server добавляем группу group1 и включаем в нее user1 и user2
- Для FreeBSD русифицируем пользователей user1 и user2
-
Управление учетными записями в Linux, Управление учетными записями в FreeBSD
- Настройка системы server как сервер NIS ()
- Настройка систем gate и client1 как клиенты NIS ()
Использование протокола NFS для поддержки перемещаемых профилей пользователей
- Экспорт домашних каталогов по NFS с системы server ()
- Для linux на gate и client1
- Монтирование домашних каталогов по NFS на client1 и gate ()
Решение задачи SSO с помощью протоколов RSH и RLOGIN
Демонстрирует преподаватель, в Ubuntu 12.04 не работает файл .rhosts если он располагается на NFS разделе
Использование RSH как решение SSO c client1 на gate (Сервисы TELNET RSH)
Chroot
Описание: операция, ограничивающая доступ процесса к файловой системе, изменяя её корень в контексте процесса.
Механизм работы: запускает программу (по умолчанию /bin/sh) с контекстом, в котором переопределён корневой каталог файловой системы. Теперь все обращения вызванной программы не могут выйти за пределы корневого каталога (т. е. программа работает в весьма условной «песочнице»). Обойти данный механизм не составляет труда, особенно из под рута, так что это средство не рекомендуется для обеспечения безопасности. Настоящую песочницу сможет обеспечить только виртуализация.
Пример использования: создаётся специальный каталог, в него копируется необходимое для работы окружение (также можно использовать команду mount —bind). Далее делается chroot на этот каталог, и запущенная программа работает только с предварительно подготовленным окружением. Для упрощения можно использовать различные jail-инструменты, доступные в дистрибутивах.
Why OpUtils IP Address Tools for IP Management?
IP Address Management tool helps you manage your IP efficiently by proving advanced IP scanning, IP Address tracking, and keeping in check of all your IP Addresses. IP management software allows you to define a hierarchy to add all your subnets based on their usage/location and then scan them to get the current status of each of the IP Addresses. Thus, IP Address Software helps you have a complete overview of all the IP Addresses in your network. The IP management tool main features include
- — to check whether the IP pertains to a computer object
- — to exercise more control by creating users with Administrator or Technician Roles
- — to create a hierarchical representation of their network
- — to track and audit the changes made using IP Address Manager.
- — to scan the subnets to get the details of the IP Addresses
- — to discover and add subnets for monitoring and managing
- — to provide the IP Availability Report of the network
- — to support Microsoft DHCP Servers
- — to scan manually or can be scheduled to run at specified intervals
- — to use the global search option to get the details of an IP Address
- — to notify the administrators about the change in state of an IP Address by email
- — for getting the current availability, DNS name, etc., of any IP Address.
An IP Address solution gives control over different aspects of your network’s IP Address Management, monitoring and troubleshooting. Thereby, using an IP Address Tracker helps you to keep in track, the IP Allocation, reservation, and more.
Модуль 4. Аутентификация с использованием протокола Kerberos
Подготовка сети к использованию протокола Kerberos
-
Финальная настройка DNS сервера
- Синхронизируем время в системах client1, gate и server (Сервис NTP)
- Адрес системы client1 оставляем в /etc/hosts систем gate и server
Использование протокола GSSAPI для сервиса http proxy
- Настройка desktop на client1 (Локализация окружения, Инсталяция системы в конфигурации Desktop, Работа с Internet сервисами, Локализация X сервера)
- на client1
- Установка, настройка и запуск пакета SQUID на gate
- для squid на gate
- для squid на gate
Использование протокола GSSAPI для сервиса imap
демонстрирует преподаватель
- на системе gate
- Установка UA mail на системе gate
- imap сервера dovecot на gate
- на сервере dovecot на gate
- на сервере dovecot на gate
4.1. Файлы политик PAM
4.1.1. Файл
/etc/pam.conf
Традиционно файлом политик PAM является /etc/pam.conf. Он
содержит все политики PAM для вашей системы. Каждая строка файла описывает один шаг в
цепочке, как показано ниже:
login auth required pam_nologin.so no_warn
Поля следуют в таком порядке: имя службы, имя подсистемы, управляющий флаг, имя модуля
и параметры модуля. Любые дополнительные поля интерпретируются как дополнительные
параметры модуля.
Для каждой пары сервис/подсистема составляется отдельная цепочка, и тогда получается,
что, хотя порядок следования строк для одной и той же услуги и подсистемы является
значимым, порядок перечисления отдельных сервисов не значим. В примерах из оригинальной
работы по PAM строки конфигурации сгруппированы по подсистемам, в поставляемом с Solaris файле pam.conf именно
так и сделано, но в стандартном конфигурационном файле из поставки FreeBSD строки
настроек сгруппированы по сервисам. Подходит любой из этих способов; они имеют один и тот
же смысл.
Стеки модулей
Описание стеков модулей PAM осуществляется в файлах настроек. Возможность формирование стеков модулей обуславливает значительную гибкость системы PAM — в ней не используются модули, выполняющие все возможные задачи; напротив, каждый модуль разрабатывается с учетом выполнения отдельной задачи. Система PAM следует традициям UNIX-систем в процессе осуществления аутентификации: используются небольшие программы, каждая из которых выполняет отдельное действие и выполняет его хорошо.
Разрабатывайте ваш модуль с целью выполнения единственного действия, независимо от того, является ли это действие таким сложным, как аутентификация с помощью Kerberos, или таким простым, как проигрывание звука при входе в систему. Если системному администратору понадобится выполнить описанную задачу в момент запуска или завершения работы приложения, он сможет добавить ваш модуль в стек PAM-модулей для приложения.
Под стеком понимается список модулей заданного типа для заданного приложения в последовательности, заданной в файле настроек.
В случае успешного выполнения стека приложение получает ответ со статусом и обычно переходит в выполнению следующей задачи. В случае неудачного выполнения стека, приложение получает ответ с одним из статусов ошибок и отвечает на него. Успех выполнения стека модулей зависит от флагов управления, заданных системным администратором в отношении каждого из модулей стека. Наиболее простые флаги управления описаны ниже:
- required
- Исполнение функций модуля должно успешно завершиться. В случае неудачи функции других модулей стека также будут исполнены, но в качестве результата исполнения стека будет возвращен статус неудачи.
- requisite
- Исполнение функций модуля должно завершиться успешно. В случае неудачи функции других модулей стека не исполняются. Статус неудачного исполнения возвращается немедленно. В качестве статуса исполнения стека возвращается статус ошибки первого модуля.
- sufficient
- В случае успешного исполнения функций модуля возвращается статус успешного исполнения стека. Функции последующих модулей не исполняются. Статус успешного исполнения стека возвращается немедленно. Неудача не препятствует успешному исполнению стека.
- optional
- Не оказывает влияния на статус исполнения стека до тех пор, пока не будут успешно или неудачно исполнены функции модуля, не использующего данный флаг управления.
Для более полного представления о стеках модулей PAM в Linux с точки зрения системного администратора следует обратиться к руководству системного администратора.
Общие положения
Для работы pam_mount необходимо подключить его, определив в /etc/pam.d/auth*.
Все инструкции, в которых указывается «что» и «для какого пользователя» хранятся в виде обычного xml-файла в /etc/security/pam_mount.conf.xml. Настройки хранящиеся в этом файле едины для всех пользователей, если нужно определить индивидуальные настройки для конкрентного пользователя, то они задаются в домашнем каталоге пользователя в файле .pam_mount.conf.xml (он обязатьно должен быть скрытым).
*/etc/pam.d/auth - в разных системах файл описывающий подключение pam-модулей обслуживающих авторизацию пользователя называются по разному: /etc/pam.d/auth - Debian /etc/pam.d/login - Ubuntu /etc/pam.d/system-auth - Mandriva, ALT Linux.
Краткий обзор PAM
Как работают подключаемые модули?
Многие популярные приложения, с которыми вы ежедневно сталкиваетесь в среде Linux, на самом деле используют PAM.
Приложение должно быть написано с поддержкой библиотеки PAM. Чтобы получить список приложений системы, которые поддерживают PAM, введите:
Чтобы узнать, поддерживает ли PAM какое-либо конкретное приложение, введите:
Если команда не вернула ничего, то такое приложение не поддерживает PAM.
Как устроена библиотека PAM?
В Linux PAM делит модули на различные категории в зависимости от того, в какой части процесса они участвуют:
- Модули аутентификации (Authentication): модули аутентификации проверяют валидность учетных данных пользователя.
- Модули аккаунтов (Account) : эти модули решают, имеет ли учетная запись, которая пытается войти в систему, доступ к запрашиваемым ресурсам.
- Модули сеансов (Session): эти модули устанавливают окружение для работы пользователя, который проходит аутентификацию. Файлы сессий позволяют определить команды, которые нужно запустить для подготовки среды.
- Модули паролей (Password): такие модули отвечают за обновление учётных данных. Если сервис должен обновить пароль, этот модуль свяжется с ним и внесёт соответствующие изменения в данные.
Модули первых двух категорий используются каждый раз, когда программа успешно аутентифицируется с помощью PAM. Модули сеансов запускаются только после первых двух категорий. Модули паролей доступны по запросу.
Конфигурационные файлы PAM хранятся в каталоге /etc/pam.d:
Этот каталог содержит конфигурационные файлы для каждого приложения, которое использует аутентификацию PAM. Если приложение вызывает PAM, но у него нет конфигурационного файла, PAM использует конфигурационный файл other.
Модули, на которые ссылаются конфигурационные файлы, можно просмотреть с помощью этой команды:
Просмотрите содержимое этого каталога, чтобы ознакомиться с доступными модулями. В мануале можно найти информацию почти о каждом модуле.
Как происходит аутентификация PAM?
Когда приложение запрашивает аутентификацию, PAM считывает соответствующий конфигурационный файл.
Конфигурационные файлы содержат списки модулей PAM и методы их обработки. Модули вызываются по очереди. Каждый вызов модуля генерирует успешный результат или отказ.
Исходя из этих значений, конфигурационный файл возвращает либо сообщение об успешной аутентификации (authentication okay), либо сообщение об ошибке (authentication failure).
Файлы читаются сверху вниз.
Политика PAM
Каждая строка в файле конфигурации использует следующий синтаксис (поля разделены пробелами).
Файлы в каталоге /etc/pam.d исключают поле service, вместо него они используют название приложения. Если каталога pam.d не существует, используется файл /etc/pam.conf.
Type задаёт вид сервиса. Здесь нужно указать категорию (authentication, account, password, session).
Control указывает свойство модуля (действие, которое нужно выполнить после вызова модуля). Вот список доступных свойств:
- required: такие модули должны вернуть положительный ответ. Если результат вызова модуля возвращает отрицательный ответ, это приведет к ошибке аутентификации. Запрос будет сброшен, но остальные модули будут вызваны.
- requisite: Аналог required, который, однако, сразу же приводит к сбою аутентификации и игнорирует остальные модули.
- sufficient: если перед таким модулем ни один из модулей required или sufficient не вернул отрицательного результата, то модуль вернёт положительный ответ. Оставшиеся модули будут проигнорированы.
- optional: если в стеке нет модулей required и ни один из модулей sufficient не вернул положительного результата, то хотя бы один из модулей optional должен вернуть положительный ответ.
- include: позволяет добавлять строки из других сценариев конфигурации; часто используется для ссылки на файлы common-.
Module-path – это путь к вызываемому модулю.
Module-arguments – опциональные параметры модуля. Иногда они необходимы, чтобы определить действия модуля в случае положительного ответа.
Файлы могут ссылаться на другие файлы, которые нужно проверить. Для этого существует такой синтаксис:
Эта команда перечитывает целый конфигурационный файл.
Примечание: Не путайте эту команду со свойством модуля include.
Что такое Winbind
Как упоминалось в статьях Изучаем Linux, 302 (смешанные среды): роли Samba и
Изучаем Linux, 302 (смешанные среды): управление доменом, в сетевом окружении Windows часто присутствует контроллер домена – компьютер, выполняющий аутентификацию всех компьютеров Windows в сети. Такая конфигурация существенно облегчает работу в сети, содержащей большое количество пользователей и компьютеров, поскольку в этом случае нет необходимости дублировать (и поддерживать в актуальном состоянии) информацию об учетных записях на разных компьютерах. Вместо этого вся информация об учетных записях Windows хранится на одном компьютере, позволяя администраторам централизованно управлять учетными данными, а пользователям – единожды менять свои пароли и использовать их на любых рабочих станциях домена.
С помощью различных опций сервер Samba можно настроить таким образом, чтобы он являлся рядовым сервером домена. Типичный набор глобальных опций для присоединения к домену может выглядеть следующим образом:
security = Domain password server = CONTROL domain logons = No encrypt passwords = Yes
Если контроллер домена поддерживает функциональность служб Microsoft Active Directory Domain Services, то вместо опции можно использовать опцию . Кроме того, сервер Samba необходимо присоединить к домену с помощью команды , где – учетная запись администратора домена. За более подробным описанием процесса настройки сервера Samba в качестве члена домена обратитесь к статье Изучаем Linux, 302 (смешанные среды): роли Samba.
Все это хорошо подходит для сервера Samba, но, конечно, это не единственный сервер, который можно запустить на компьютере Linux. Другие серверы, а также локальные службы входа, теоретически могут получать преимущества от использования контроллера домена. Например, если некоторые компьютеры в сети являются рабочими станциями Linux, или если вы запускаете сервер электронной почты, работающий по протоколу Post Office Protocol (POP), на компьютере Linux, то для аутентификации удобнее использовать контроллер домена. Здесь в дело вступает Winbind, позволяющий пользователям и компьютерам Linux использовать учетные записи домена Windows для выполнения задач аутентификации, отличных от задач Samba.
Однако прежде, чем приступать к настройке Winbind, следует знать о его ограничениях. Поскольку аутентификация в доменах Microsoft ориентирована прежде всего на Windows, то она не выполняет некоторых функций, необходимых для работы с учетными записями Linux, например, не присваивает значения идентификаторам пользователей и групп (UID и GID) UNIX. Вместо этого в доменах Windows используются идентификаторы безопасности, которые нельзя напрямую сопоставить идентификаторам пользователей и групп Linux. Аналогично, контроллеры домена не хранят информацию о домашних директориях UNIX/Linux. Таким образом, Winbind должен генерировать часть этой информации локально. Этот способ подходит для многих ситуаций, однако, он означает, что на двух компьютерах Linux, использующих Winbind, для одного и того же пользователя могут быть запросто созданы различные идентификаторы UID и GID. Если данные компьютеры совместно работают с файлами, расположенными в сетевой файловой системе NFS, которая предполагает использование одинаковых UID и GID на всех серверах, то это может привести к негативным последствиям. В таких ситуациях лучше будет настроить в сетевом окружении сервер LDAP и использовать его в качестве хранилища как учетных записей Linux, так и доменных учетных записей Windows.
Winbind использует несколько различных компонентов:
- Опции файла smb.conf, относящиеся к Winbind.
- Опции конфигурации подсистемы подключаемых модулей аутентификации PAM, которая является стандартной частью современных дистрибутивов Linux.
- Опции конфигурации подсистемы Net Service Switch (NSS), которая является стандартной частью современных дистрибутивов Linux.
- Серверная программа .
Таким образом, для настройки Winbind необходимо внести изменения в каждую из вышеперечисленных конфигураций. Для использования Winbind не обязательно запускать демоны Samba и , однако, возможно, потребуется инсталлировать Samba, чтобы получить все необходимые вспомогательные файлы. Может потребоваться инсталлировать отдельный пакет Winbind, который обычно называется или . Также может потребоваться установить пакет . Убедитесь, что после инсталляции всех необходимых пакетов в вашей системе присутствуют файлы /lib/security/pam_winbind.so и /lib/libnss_winbind.so.2.
Примеры настроек
В каталоге /etc/pam.d можно ознакомиться с примерами настроек.
Откройте файл, описывающий требования аутентификации планировщика atd.
Первая строка вызывает модуль pam_env, который используется для установки переменных среды, хранящихся в /etc/security/pamenv.conf по умолчанию. Свойство required значит, что в случае отрицательного ответа возникнет ошибка аутентификации, но такого произойти не должно.
Следующие строки читают файлы common-auth, common-account и common-session-noninteractive.
Последняя строка вызывает модуль pam_limits, который проверяет файл /etc/security/limits.conf или каталог /etc/security/limits.d/. Этот модуль позволяет устанавливать ограничения на количество пользователей, которые могут одновременно использовать сервис.
Файл common-auth
Примечание: Закомментированные строки опущены ради удобства.
Обратите внимание на первую строку. Она вызывает модуль pam_unix, который выполняет стандартную аутентификацию unix с помощью файла etc/nsswitch.conf
как правило, он просто проверяет файлы /etc/passwd и /etc/shadow.
Аргумент nullok_secure разрешает доступ аккаунтам без паролей, если учётные данные можно проверить в файле /etc/securetty. Свойство – самая сложная часть этой строки. Как видите, PAM предоставляет возможности тонкой настройки свойств. В данном случае, если модуль вернёт положительный ответ, то одна следующая строка будет пропущена.
Свойство второй строки – requisite. Это значит, что в случае отрицательного ответа возникнет ошибка авторизации, а все оставшиеся модули будут проигнорированы. Строка вызывает модуль pam_deny, который блокирует все модули PAM.
Третья строка имеет свойство required и вызывает модуль pam_permit, который всегда возвращает положительный ответ.
Четвёртая строка опциональна, она вызывает модуль pam_ecryptfs с опцией unwrap, которая может развернуть ключевую фразу с помощью прилагаемого пароля, что в дальнейшем будет использоваться для монтирования частного каталога. Это работает только в контексте данной конфигурации, поэтому эта строка опциональна.
Файл common-account
Рассмотрим ещё один файл конфигурации atd.
Примечание: Закомментированные строки опущены для удобства.
Как видите, этот файл очень похож на common-auth. Первая строка проверяет аккаунт при помощи модуля pam_unix.
Модули могут выполнять разные функции в зависимости от типа их вызова. Например, вызванный модулем аккаунтов pam_unix проверяет срок действия учётной записи и убеждается, что доступ для этой записи не был временно заблокирован.
В случае положительного ответа модуль pam_deny игнорируется, и учётная запись проходит аутентификацию. в противном случае возникнет ошибка и доступ будет заблокирован.
Файл common-session-noninteractive
Теперь откройте файл common-session-noninteractive.
Первые три строки могут показаться странными (первая и третья – всегда положительный ответ, вторая будет пропущена).
Многие настройки PAM генерируются автоматически и нуждаются в корректировке. По сути, они просто предоставляют базу для разработки пользовательских настроек аутентификации.
Четвёртая строка опциональна, она вызывает модуль pam_umask. Пятая строка также вызывает pam_unix. В модулях сценариев unix выполняет аутентификацию с помощью утилит системы.
Файл конфигурации PAM
Важно! Только на ваш страх и риск. Ошибки могут привести к самому страшному — сбою в вашей системе
Конфигурационный файл , как я писал выше содержит важные параметры системы аутентификации, в том числе описание модулей для работы с паролем:
- pam_cracklib — Это простой модуль проверки стойкости пароля для РАМ. В дополнение к проверке обычных паролей, он поддерживает парольные фразы и может генерировать случайные пароли.
- pam_passwdqc — Этот модуль предоставляет функциональные возможности для изменение пароля, то есть содержит «пароль» функцию.
- pam_chauthtok() — сервисная функция которая запрашивает у пользователя новый пароль, и убеждается, что он соответствует определенным минимальным стандартам. Если пароль является неудовлетворительным, сервисная функция возвращает PAM_AUTHTOK_ERR.
1.) phpIPAM version 1.3.2 and higher
If you are using phpIPAM version 1.3.2 or higher please use below snippet to configure your nginx server. We assume phpipam will be on separate subfolder on webserver, e.g. http://hostname/phpipam/, if not adjust settings accordingly.
server { # root directory root /var/www/; # phpipam location /phpipam/ { try_files $uri $uri/ /phpipam/index.php; index index.php; } # phpipam - api location /phpipam/api/ { try_files $uri $uri/ /phpipam/api/index.php; } # php-fpm location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm.socket; fastcgi_index index.php; try_files $uri $uri/ index.php = 404; include fastcgi_params; } }
Аргументы PAM.
PAM использует аргументы для передачи информации подключаемому модулю
во время аутентификации. Аргументы позволяют в различных
конфигурационных файлах PAM использовать модули по-разному.
Например, модуль pam_userdb.so использует информацию хранящуюся в
файле Berkeley DB для аутентификации пользователя. Этому модулю нужно
передать аргумент, определяющий имя используемого файла, который
у каждого сервиса свой.
Таким образом, строка pam_userdb.so будет выглядеть следующим
образом:
auth required /lib/security/pam_userdb.so db=path/to/file |
Неправильные аргументы будут проигнорированы и модуль не
вернет никакого результата. Когда встречается неверный аргумент,
ошибка обычно фиксируется в /var/log/mesages.
Автоматическое монтирование ресурсов при входе пользователя с помощью pam_mount
Для автоматического монтирования разделяемых файловых ресурсов при входе пользователя используется pam модуль pam_mount, предоставляемый пакетом libpam-mount, который может быть установлен следующим образом:
apt-get install libpam-mount
Настройка pam модуля осуществляется с помощью конфигурационного файла /etc/security/pam_mount.conf.xml.
Использование pam модуля указывается в соответствующих pam сценариях (common-auth, common-session) в каталоге /etc/pam.d.
Описание возможностей pam модуля pam_mount и формат его конфигурационного файла приведены в руководстве для pam_mount и pam_mount.conf.
/etc/security/pam_mount.conf.xml
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd"> <pam_mount> <logout wait="500000" hup="1" term="1" kill="1" /> <mkmountpoint enable="1" remove="true" /> <cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS)</cifsmount> <volume fstype="cifs" server="fileserver1.org.net" path="homes" mountpoint="/%(USER)" options="user=%(USER),rw,setuids,perm,soft,iocharset=utf-8" /> </pam_mount>
2. Менеджер адресов Blue Cat
Наша вторая запись — от BlueCat, одного из лидеров отрасли в этой области. Их управление адресами лучше всего подходит для крупных корпораций с командой сетевого управления. Система IPAM на самом деле является полной системой DDI, которая включает в себя DHCP и DNS. Он также может взаимодействовать с DHCP и DNS-серверами от Microsoft.BlueCat AddressManager представляет собой систему двойного стека, что означает, что она может работать одновременно с IPv4 и IPv6. Это действительно отличный инструмент для использования при переходе от одного к другому. С точки зрения безопасности, в системе есть рабочие процессы и схемы одобрения, а также учетные записи пользователей с иерархическими правами.
AppArmor
Описание: система упреждающей защиты, основанная на политиках безопасности (профилях).
Механизм работы: для проверки прав доступа используется LSM-модуль ядра, который при запуске приложения проверяет наличие его профиля (/etc/apparmor.d), и если профиль существует, то ограничивает выполнение системных вызовов в соответствии с профилем. При ошибке доступа соответствующая запись добавляется в /var/log/audit/audit.log. Пользователь может получить нотификацию об этом через утилиту apparmor-notify.
Пример использования: с помощью команды aa-genprof можно создать профиль интересующего приложения, отработав в нем все необходимые use-case-ы. Далее полученный файл профиля можно модифицировать интересующим вас образом, сохранить в /etc/apparmor.d и активировать через aa-enforce.
Простые пароли пользователей в CentOS
Нужно сконфигурировать PAM (Pluggable Authentication Modules) для того, чтобы изменить системные политики проверки сложности пароля и смены паролей для всех пользователей системы. PAM — это такая модель, которая делает гибкой систему аутентификации в операционной системе, она делает независимой операционную систему и методы аутентификации. PAM модуль является частью всех дистрибутивов linux и конфигурация должна работать с любым дистрибутивом.
Необходимо отредактировать файл (с правами суперпользователя) и изменить следующие две строки:
# nano /etc/pam.d/system-auth password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
Должно получиться вот так (# — закомментировано):
#password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass #use_authtok
Теперь все получится. Всегда используйте простые пароли и будет счастье хакерам!
Смена пароля для пользователя username. Введите новый пароль UNIX Повторите ввод нового пароля UNIX passwd: все токены проверки подлинности успешно обновлены.