Брандмауэры и специальное программное обеспечение 8 Часть 4 - страница 8

^ Изменение информации об устаревании пароля

Для изменения информации об устаревании пароля для одного или двух пользователей можно воспользоваться командой chage (change aging — изменить устаревание). Непривилегированные пользователи могут запускать chage только с параметрами -l и собственным именем пользователя, то есть запрашивать информацию об устаревании только собственного пароля. Для изменения информации об устаревании достаточно (и необходимо) указать имя пользователя, остальные параметры будут запрошены в диалоговом режиме. Вызов chage без параметров выдаст краткую справку об использовании.

В качестве примера рассмотрим листинг 1.5. Напомню, что значения даются в днях.

Листинг 1.5. Информация об устаревании пароля пользователя david

# chage -1 david

Minimum: 2

Maximum: 90

Warning: 7

Inactive: 14

Last Change: Aug 11, 1999

Password Expires: Nov 09, 1999

Password Inactive: Nov 23, 1999

Account Expires: Never

Из листинга 1.5 видно, что пользователь david сможет сменить пароль лишь по прошествии двух дней со дня его последней смены. Количество дней, по истечении которых пользователь будет вынужден сменить пароль, равно 90. Предупреждения о скором устаревании пароля он будет получать в течение последних семи дней из этих девяноста. Если пользователь не сменит свой пароль в 14-дневный период с момента, когда срок использования пароля истечет, учетная запись этого пользователя будет заблокирована, и он уже не сможет изменить пароль (равно как и войти в систему).

Рассмотрим ситуацию со временными сотрудниками, нанятыми лишь на летний период. Во-первых, датой устаревания паролей всех таких учетных записей следует сделать 1 сентября. Далее можно отключить возможность смены пароля, сделав минимально допустимое число дней до смены пароля большим, чем максимально допустимый возраст пароля. Поскольку менять пароль таким пользователям не придется, то можно отключить (установив в ноль) и вывод предупреждения. Как видите, манипулируя параметрами устаревания пароля, можно настраивать учетные записи под самые различные нужды.


^ ССЫЛКА

Более подробно об использовании механизма устаревания паролей будет рассказано в главе 2.

Программа COAS может использоваться с целью изменения параметров устаревания паролей для каждой из учетных записей по отдельности. При этом значения указываются в днях. Интерфейс программы очевиден.


ПРИМЕЧАНИЕ -

Для получения информации об устаревании пароля пользователя или форсирования этого процесса можно воспользоваться командой expiry.
^ Система безопасности РАМ
Один из недостатков файла теневых паролей заключается в том, что все приложения, так или иначе работающие с паролями, должны быть (заново) скомпилированы с поддержкой теневых паролей, иначе они будут неработоспособны. Однако компания Sun предложила решение этой проблемы, впервые появившееся в операционной системе Solaris 2.3, которое затем было адаптировано и для Linux. Система называется РАМ (Pluggable Authentication Modules) и состоит из модулей и библиотек. Приложению, компонованному с использованием этих библиотек, не нужно подстраиваться под систему авторизации, используемую в системе в данный момент, так как РАМ берет все эти вопросы на себя. Такой подход делает систему намного более гибкой.

Основная идея РАМ состоит в том, что всегда можно написать новый модуль безопасности, который бы обращался к файлу или устройству за информацией и возвращал результат выполнения процедуры авторизации: УСПЕХ (SUCCESS), НЕУДАЧА (FAILURE) или ИГНОРИРОВАТЬ (IGNORE). А РАМ, в свою очередь, возвратит УСПЕХ (SUCCESS) или НЕУДАЧА (FAILURE) вызвавшей ее службе. Таким образом, неважно, какие пароли, теневые или обычные, используются в вашей системе, коль скоро в ней есть РАМ: все поддерживающие РАМ программы будут прекрасно работать и с теми и другими. Более того, вы можете сравнительно легко добавлять и другие механизмы авторизации. Допустим, у вас есть устройство распознавания речи, способное сравнивать голоса с эталоном из файла. Тогда чтобы получить авторизацию на основе распознавания речи, достаточно написать модуль, который бы сравнивал голоса с помощью устройства и возвращал одно из трех значений: УСПЕХ (SUCCESS), ИГНОРИРОВАТЬ (IGNORE) или НЕУДАЧА (FAILURE) в зависимости от результата. Аналогично можно добавить авторизацию на основе сканирования сетчатки глаза, смарт-карты и т. д. Дело лишь в соответствующем модуле. Модули можно комбинировать. Например так, чтобы для успешной авторизации требовалось прохождение нескольких процедур авторизации или же чтобы было достаточно прохождения любой из них. Тем самым можно создавать достаточно сложные системы авторизации: пароль, дополняемый сканированием сетчатки глаза, или же смарт-карта и распознавание голоса и т. д.

Перейдем теперь к рассмотрению основных принципов работы РАМ. Взгляните на листинг 1.6. Это взятый из OpenLinux 2.3 файл конфигурации РАМ для службы (такова терминология РАМ) login. Кроме него в каталоге /etc/pam.d содержатся файлы конфигурации и для других служб, таких как su, passwd и т. п., в зависимости от того, какое программное обеспечение установлено в системе. Каждой службе с ограничением доступа (restricted service) соответствует свой файл конфигурации. Если такового нет, то данная служба с ограничением доступа попадает в категорию «other», с файлом конфигурации other.d. (Службой с ограничением доступа называется любая служба или программа, для использования которой требуется пройти авторизацию. Иными словами, если при нормальных условиях служба запрашивает у вас имя пользователя и пароль, она является службой с ограничением доступа.)

Листинг 1.6. Файл конфигурации службы login

auth required pam_securetty.so

auth required pam_pwdb.so

auth required pam_nologin.so

#auth required pam_dialup.so

auth optional pam_mail.so

account required pam_pwdb.so

session required pam_pwdb.so

session optional pam_lastlog.so

password required pam_pwdb.so

Как видно из листинга, файл конфигурации состоит из трех столбцов. На самом деле всего их четыре, но последний столбец является необязательным и в данном случае не используется. А вообще он предназначен для передачи в модуль дополнительных параметров, но об этом в следующем примере. Строки, начинающиеся с символа решетки (#), игнорируются. Стало быть, модуль pam_dialup (четвертая строка листинга 1.6.) будет пропущен. Смысл остальных строк файла будет легче понять, если изучить диаграмму на рис. 1.1. Обратите внимание, в файле есть строки с одинаковым третьим полем — pam_pwd.so, и первым — auth. Использование нескольких строк с одинаковым первым полем называется накоплением (stacking) модулей и позволяет получать многошаговую авторизацию (стек модулей), включающую несколько различных процедур авторизации.




3661101917064315.html
3661258899027165.html
3661360472462164.html
3661443542361538.html
3661495042235271.html