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



Pdf просмотр
страница4/42
Дата15.02.2017
Размер6.16 Mb.
Просмотров1423
Скачиваний0
ТипАнализ
1   2   3   4   5   6   7   8   9   ...   42
Листинг 1.4. Сокращенный файл /etc/login.defs
# Максимальное количество дней, в течение которого разрешается использовать пароль:
# (-1 - смена пароля не обязательна)
PASS_MAX_DAYS -1
Минимальное количество дней между сменами пароля:
PASS_MIN_DAYS О
# За какое количество дней до даты смены пароля должно выдаваться предупреждение:
PASS_WARN_AGE 7
# Какое количество дней должно пройти после истечения допустимого срока
# использования пароля, прежде чем учетная запись будет блокирована:
PASS_INACTIVE -1
# Форсировать истечение срока использования пароля в заданный день:
# (дата идентифицируется количеством дней после 70/1/1, -1 = не форсировать)
PASS_EXPIRE -1
###
# Значения полей создаваемой учетной записи для программы useradd
# группа по умолчанию:
GROUP 100
# домашний каталог пользователя: %s = имя пользователя)
НОMЕ /home/%s
# командная оболочка по умолчанию:
SHELL /bin/bash
# каталог, в котором расположен скелет домашнего каталога:
SKEL /etc/skel
# минимальное и максимальное значения для автоматического выбора gid в groupadd
GID_MIN 100
GID_MAX 60000
Содержимое этого файла задает значения по умолчанию для полей файлов passwd и shadow. Если не переопределить их из командной строки, будут использованы именно они. Как отправная точка, эти значения вполне подойдут, однако для реализации устаревания паролей некоторые из них нужно будет изменить. Значение, равное -1, означает отсутствие ограничений. Не бойтесь подстраивать первоначальные значения под собственные нужды. Но какие значения следует использовать? Это постепенно станет ясно из этой и следующей глав.
В программе COAS дистрибутива Caldera используется графический интерфейс пользователя (для консоли текстовый, но все равно основанный на кнопках и системах меню). Для администрирования учетных записей и групп выберите System Administration (администрирование системы) > Account
Administration (администрирование учетных записей) и далее используйте ниспадающие меню.
Изменение информации об устаревании пароля
Для изменения информации об устаревании пароля для одного или двух пользователей можно воспользоваться командой 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) модулей и позволяет получать многошаговую авторизацию (стек модулей), включающую несколько различных процедур авторизации.


Типы модулей РАМ
Первый столбец является столбцом типа. Тип определяется одной из четырех символьных меток: auth, account, session и password. Заметьте, что содержимое всех столбцов рассматривается без учета регистра.
- Тип auth (authentication — аутентификация) используется для выяснения, является ли пользователь тем, за кого он себя выдает. Как правило, это достигается сравнением введенного и хранимого паролей, но возможны и другие варианты. Например, при помощи смарт-карты или каким-либо иным способом, для которого имеется соответствующий модуль.
- Тип account (учетная запись) проверяет дозволено ли использовать службу данному пользователю, на каких условиях, не устарел ли пароль и т. д.
- Тип password (пароль) используется для обновления маркеров авторизации. Например, если согласно полю устаревания пароля из файла /etc/shadow необходима принудительная смена пароля, модуль passwd запустит chauthok (изменение маркера авторизации) и, если смена пароля пройдет успешно, вернет значение УСПЕХ (SUCCESS).

- Тип session (сеанс) выполняет определенные действия при входе пользователя в систему и при выходе пользователя из системы. Таковыми могут быть, например, монтирование и демонтирование каталогов, подготовка пользовательского окружения и т. д.
Управляющие флаги
Второй столбец является полем управляющего флага, определяющим, что делать после возврата из модуля, то есть реакцию РАМ на значения УСПЕХ (SUCCESS), ИГНОРИРОВАТЬ (IGNORE) и НЕУДАЧА
(FAILURE). Разрешенные значения: requisite, required, sufficient и optional. От значения в этом поле зависит, будут ли обработаны остальные строки файла. Например, если модуль, помеченный как sufficient
(достаточный), вернет значение УСПЕХ (SUCCESS), то работа РАМ на нем успешно закончится и пользователь будет допущен в систему. Аналогичным образом возврат НЕУДАЧА (FAILURE) модулем, помеченным как requisite (обязательный), означает прекращение авторизации и возврат значения
НЕУДАЧА (FAILURE). И в том и в другом случае остальные строки обрабатываться не будут.
- Флаг requisite (обязательный) задает наиболее жесткое поведение. Обработка любой строки с флагом requisite, модуль которой вернул значение НЕУДАЧА (FAILURE), будет прекращена и вызвавшей ее службе будет возвращен статус НЕУДАЧА (FAILURE). Никакие другие строки рассматриваться не будут. Вообще говоря, этот флаг используется достаточно редко. Дело в том, что если помеченный им модуль выполняется самым первым, то следующие за ним модули могут и не выполниться, в том числе и отвечающие за протоколирование, поэтому вместо него обычно применяется флаг required (необходимый).
- Флаг required (необходимый) не прерывает выполнение модулей. Каков бы ни был результат выполнения помеченного им модуля: УСПЕХ (SUCCESS), ИГНОРИРОВАТЬ (IGNORE) или НЕУДАЧА
(FAILURE), РАМ всегда переходит к обработке следующего модуля. Это наиболее часто используемый флаг, так как результат выполнения модуля не возвращается до тех пор, пока не отработают все остальные модули, а значит, модули, отвечающие за протоколирование, обязательно выполнятся. Более подробно об этом рассказывается чуть далее.
- Флаг sufficient (достаточный) приводит к немедленному завершению обработки строки и возврату значения УСПЕХ (SUCCESS) при условии, что помеченный им модуль вернул значение УСПЕХ
(SUCCESS) и ранее не встречалось модуля с флагом required, вернувшего статус НЕУДАЧА (FAILURE).
Если такой модуль встречался, то флаг sufficient игнорируется. Если помеченный этим флагом модуль возвратил значение ИГНОРИРОВАТЬ (IGNORE) или НЕУДАЧА (FAILURE), то флаг sufficient рассматривается аналогично флагу optional (см. следующий параграф).
- Результат выполнения модуля с флагом optional (необязательный) принимается во внимание лишь тогда, когда он является единственным модулем в стеке, вернувшим значение УСПЕХ (SUCCESS). В противном случае результат его выполнения игнорируется. Таким образом, неуспешное выполнение помеченного им модуля не влечет за собой неуспех всего процесса авторизации.
Чтобы пользователь смог получить доступ к системе, модули, помеченные флагами requisite и required, не должны возвращать значения НЕУДАЧА (FAILURE). Помните, что результат выполнения модуля с флагом optional принимается в рассмотрение, лишь если он является единственным модулем в стеке, вернувшим УСПЕХ (SUCCESS).
Модули РАМ
Третий столбец содержит полное имя файла модуля, связанного с данной строкой. В принципе, модули могут располагаться где угодно, однако если они размещены в предопределенном каталоге для модулей, то можно указывать одно лишь имя, в противном случае нужен еще и путь. В OpenLinux предопределенным каталогом является /lib/security.
Четвертый столбец предназначен для передачи в модуль дополнительных параметров. Не у всех модулей есть параметры, а если есть, то они могут и не использоваться. Передача параметра модулю позволяет изменить его поведение тем или иным образом.
Листинг 1.7 содержит список модулей РАМ, входящих в состав OpenLinux.
Листинг 1.7. Список модулей РАМ, входящих в состав OpenLinux pam_access.so pam_cracklib.so pam_deny.so pam_dialup.so
pam_env.so pam_ftp.so pam_group.so pam_lastlog.so pam_limits.so pam_listfile.so pam_mail.so pam_nologin.so pam_permit.so pam_pwdb.so pam_radius.so pam_rhosts_auth.so pam_rootok.so pam_securetty.so pam_shells.so pam_stress.so pam_tally.so pam_time.so pam_unix_acct.so pam_unix_auth.so pam_unix_passwd.so pam_unix_session.so pam_warn.so pam_wheel.so
Сначала я коротко расскажу вам о некоторых наиболее общеупотребительных модулях, а затем на примерах их использования мы рассмотрим накопление модулей (module stacking).
О модулях подробнее
Модуль pam_access.so используется для предоставления/запрещения доступа на основании файла
/etc/security/access.conf. Строки этого файла имеют следующий формат: права: пользователи: откуда
Где:
- права — либо + (разрешить), либо - (запретить)
- пользователи — ALL, имя пользователя или пользователь@узел, где узел соответствует имени локальной машины, иначе запись игнорируется.
- откуда — одно или несколько имен файлов терминалов (без префикса /dev/), имена узлов, доменные имена (начинающиеся с точки), IP адреса (заканчивающиеся точкой, например, 192.168.0. соответствует всей сети 192.168.0.Х), ALL или LOCAL.
Типовой файл конфигурации для этого модуля в OpenLinux по умолчанию отсутствует, однако приведенного выше (или же документации по нему) должно хватить для самостоятельного его написания.
Параметров у этого модуля нет.
Модуль pam_cracklib.so проверяет пароли по словарю. Он предназначен для проверки нового пароля и позволяет предотвратить использование в системе легко взламываемых паролей, каковыми считаются общеупотребительные слова, пароли,
содержащие повторяющиеся символы, и слишком короткие пароли.
Есть необязательные параметры: debug, type= и retry=. Параметр debug включает занесение отладочной информации в файл журнала. Параметр type, за которым следует строка, меняет в выводимом по умолчанию приглашении New Unix password: слово Unix на указанную строку. Параметр retry задает число попыток, предоставляемых пользователю для ввода пароля, по исчерпании которых возвращается ошибка
(по умолчанию дается одна попытка).
Теперь посмотрим на листинг 1.8. В нем показано содержимое файла /etc/ pam.d/other. В этом файле содержится конфигурация, используемая механизмом РАМ в отношении служб, не имеющих своих собственных конфигурационных файлов в каталоге /etc/pam.d. Иными словами, этот файл применяется в отношении всех служб, неизвестных системе РАМ. Как видите, в нем представлены все четыре типа авторизации, auth, account, password и session, каждая из которых вызывает помеченный флагом required модуль pam_deny.so. Таким образом, выполнение неизвестной службы запрещается. Поэтому если вы не
хотите, чтобы кто-либо использовал какую-либо службу, например FTP, достаточно переименовать файл
/etc/pam.d/ftp в /etc/pam.d/ftp.orig или присвоить ему другое имя.
Листинг 1.8. Файл /etc/pam.d/other auth required pam_deny.so auth required pam_warn.so account required pam_deny.so password required pam_deny.so password required pam_warn.so session required pam_deny.so
Модуль pam_dialup.so проверяет, нужно ли указывать пароль для доступа к удаленному терминалу или терминалам, для чего используется файл /etc/security/ ttys.dialup. Заметьте, что модуль применим не только к ttyS, а вообще к любому tty-терминалу. Когда пароль нужен, он сверяется с прописанным в файле
/etc/ security/passwd.dialup. Изменения файла passwd.dialup осуществляются программой dpasswd (не следует пытаться изменять его вручную).
Модуль pam_group.so занимается проверками в соответствии с содержимым файла
/etc/security/group.conf. В этом файле указываются группы, членом которых может стать указанный в файле пользователь при выполнении определенных условий. Набор условий указывается в этом файле напротив имени пользователя, этот набор определяет службу, терминал и время. Если пользователь работает с указанной службой с указанного терминала в указанное время, он может стать членом указанных групп.
Это могут быть дополнительные группы, членом которых в момент входа в систему пользователь не является. Для OpenLinux в каталоге /etc/security/ содержится типовой файл group.conf, содержащий инструкции по его использованию. Параметров у этого модуля нет.
Модуль pam_lastlog.so заносит в файл lastlog сведения о том, когда и откуда пользователь вошел в систему. Обычно этот модуль помечается типом session и флагом optional.
Модуль pam_limits.so позволяет накладывать различные ограничения на пользователей, вошедших в систему. Эти ограничения не распространяются на пользователя root (или любого другого пользователя с нулевым идентификатором). Для желающих использовать этот модуль в OpenLinux имеется типовой файл
/etc/security/limits.conf. Ограничения устанавливаются на уровне входа в систему и не являются глобальными или постоянными, действуя только в пределах одного входа. Модуль pam_lastfile.so принимает некоторую запись (item), сравнивает ее со списком в файле и на основании результатов сравнения возвращает УСПЕХ (SUCCESS) или НЕУДАЧА (FAILURE). Параметры этого модуля следующие:
- item=[терминал пользователь | удаленный_узел | удаленный_пользователь | группа| оболочка]
- sense=[allow|deny] (статус для возврата; когда запись найдена в списке, в противном случае возвращается статус, противоположный указанному)
filе=/полный/путь/и/имя_файла - onerr=[succeed|fail] (какой статус возвращать в случае возникновения ошибки)
- арр1у=[пользователь|@группа] (задает пользователя или группу, в отношении которой применяются ограничения. Имеет смысл только для записей вида item=[терминал | удаленный_узел | оболочка], для записей вида item=[пользователь | удаленный_пользователь | группа] игнорируется)
Модуль pam_nologin.so используется при авторизации типа auth с флагом required. Этот модуль проверяет, существует ли файл /etc/nologin, и если нет, то возвращает значение УСПЕХ (SUCCESS), иначе содержимое файла показывается пользователю и возвращается значение НЕУДАЧА (FAILURE). Этот модуль обычно используется в тех случаях, когда система еще не до конца введена в строй или временно закрыта для обслуживания, но не отсоединена от сети.
Модуль pam_permit.so является дополнительным к модулю pam_deny.so. Он всегда возвращает значение УСПЕХ (SUCCESS). Любые переданные параметры модулем игнорируются.
Модуль pam_pwdb.so предоставляет интерфейс к файлам passwd и shadow. Возможны следующие параметры:
- debug — запись отладочной информации в файл журнала;
- audit — дополнительная отладочная информация для тех, кому недостаточно обычной отладочной информации;
- use_first_pass — никогда не запрашивать пароль у пользователя, а брать его у предыдущих модулей стека;
- try_first_pass — попробовать получить пароль у предыдущих модулей, в случае неудачи запросить у пользователя;
- use_authtok — возвратить значение НЕУДАЧА (FAILURE) в случае, если pam_authtok не был
установлен, не запрашивать пароль у пользователя, а брать его у предыдущих модулей стека (только для стека модулей типа password);
- not_set_pass — не устанавливать пароль из этого модуля в качестве пароля для последующих модулей;
- shadow — поддерживать систему теневых паролей;
- unix — помещать пароли в файл /etc/passwd;
- md5 — при следующей смене паролей использовать пароли md5;
- bigcrypt — при следующей смене паролей использовать пароли DEC C2;
- nodelay — отключить односекундную задержку при неудачной авторизации.
На момент написания этих строк OpenLinux не поддерживает md5 или bygcrypt пароли, поэтому связанные с ними параметры использовать не следует. Кроме того, если в вашей системе вместо обычных используются теневые пароли, то не следует также использовать и параметр u nix.
Модуль pam_rhosts_auth.so разрешает/запрещает использование файлов .rhosts или hosts.equiv. Кроме того, он также разрешает/запрещает использование «опасных» записей в этих файлах. Параметры этого модуля следующие:
- no_hosts_equiv
— игнорировать файл /etc/hosts.equiv;
- no_rhosts
— игнорировать файл /etc/rhosts или
/.rhosts;
- debug
— протоколировать отладочную информацию;
- nowarn
— не выводить предупреждения;
- suppress
— не выводить никаких сообщений;
- promiscuous — разрешить использование подстановочного символа «+» в любом поле (очень плохая идея).
Модуль pam_rootok.so возвращает значение УСПЕХ (SUCCESS) для любого пользователя с нулевым идентификатором. Будучи помечен флагом sufficient, данный модуль позволяет получать доступ к службе без указания пароля. Будьте с ним осторожны. Если вставить его вызов с флагом sufficient в строку типа auth для службы login, то тогда суперпользователь сможет входить в систему без указания пароля, что, скорей всего, не входит в ваши планы. Параметр у модуля всего один: debug.
Модуль pam_securetty.so можно использовать только в отношении суперпользователей. Этот модуль работает с файлом /etc/securetty, позволяя суперпользователю входить в систему только через перечисленные в этом файле терминалы. Если требуется разрешить вход суперпользователя в систему посредством telnet (псевдотерминал ttyp), то следует либо добавить в этот файл строки для ttyp0-255, либо закомментировать вызов pam_securetty.so в файле для службы login. Помните, однако, что отключать этот модуль не рекомендуется.
Модуль pam_shells.so возвращает значение УСПЕХ (SUCCESS), если оболочка пользователя, указанная в файле /etc/passwd, присутствует в списке оболочек из файла /etc/shells. Если файл /etc/passwd не назначает пользователю никакой оболочки, то запускается /bin/sh. Если в файле /etc/passwd для пользователя указана оболочка, отсутствующая в списке /etc/shells, модуль возвращает значение
НЕУДАЧА (FAILURE). Правом на запись в файл /etc/shells должен обладать только суперпользователь.
Модуль pam_stress.so используется для управления паролями. У него достаточно много параметров, в том числе и неизменный debug, но в общем случае из всех параметров интерес представляют только два:
- rootok — разрешить суперпользователю менять пароли пользователей без ввода старого пароля;
- expired — с этим параметром модуль выполняется, как если бы срок действия пароля пользователя уже истек.
Другие параметры модуля позволяют отключить любой из этих двух режимов, использовать пароль от другого модуля или передать пароль другому модулю и т. п. Здесь я не буду рассматривать все параметры модуля, поэтому если у вас возникнет потребность в использовании специальных возможностей этого модуля, прочтите их описание в документации модуля.
В OpenLinux модуль pam_tally.so в файлах из /etc/pam.d по умолчанию не используется, но рассказать о нем все-таки имеет смысл. Этот модуль производит подсчет попыток прохождения авторизации. При успешном прохождении авторизации счетчик числа попыток можно обнулять. Если количество неудачных попыток подключения превысило некоторое пороговое значение, доступ можно запретить. По умолчанию сведения о попытках помещаются в файл /var/log/ faillog (правом записи в этот файл должны обладать только ответственные лица). Глобальные параметры таковы:
- onerr=[succeed|fail] — что делать, если возникла ошибка, например не удалось открыть файл;
- filе=/полный/путь/и/имя_файла — если отсутствует, то используется файл по умолчанию.
Следующий параметр имеет смысл только для типа auth:
- no_magic_root — включает подсчет числа попыток для суперпользователя (по умолчанию не
ведется). Полезно, если разрешен вход суперпользователя в систему через telnet. Следующие параметры имеют смысл только для типа account:
- deny=n — отказать в доступе после п попыток. При использовании этого параметра поведение модуля reset/no_reset (см. далее) по умолчанию изменяется с no_reset на reset. Это происходит для всех пользователей, за исключением пользователя root (UID 0), если только не используется параметр no_magic_root;
- no_magic_root — не игнорировать параметр deny для попыток доступа, осуществляемых пользователем root. При использовании совместно с параметром deny= (см. ранее) для пользователя root по умолчанию устанавливается поведение reset, как и для всех остальных пользователей;
- even_deny_root_account — разрешает блокировку учетной записи суперпользователя при наличии параметра no_magic_root. При этом выдается предупреждение. Если параметр no_magic_root не используется, то независимо от числа неудачных попыток учетная запись суперпользователя, в отличие от записей обычных пользователей, никогда не будет заблокирована;
- reset — обнулять счетчик числа попыток при успешном входе;
- no_reset — не обнулять счетчик числа попыток при успешном входе; используется по умолчанию, если только не указан параметр deny=.
Модуль pam_time.so позволяет ограничить доступ к службе в зависимости от времени. Все инструкции по его настройке можно найти в файле /etc/security/ time.conf. Параметров у него нет: все задается в файле конфигурации.
Модуль pam_unix занимается вопросами обычной авторизации Unix (обычно вместо этого модуля используется pam_pwdb.so). Физически данный модуль состоит из четырех модулей, каждый из которых соответствует одному из типов РАМ: pam_unix_auth.so, pam_unix_session.so, pam_unix_acct.so и pam_unix_passwd.so. Модули для типов account и auth параметров не имеют. У модуля для типа passwd параметр всего один: strict=false. При его наличии модуль не проверяет пароли на стойкость к взлому, позволяя использовать произвольные, в том числе и небезопасные (легко угадываемые или подбираемые) пароли. Модуль для типа session понимает два параметра: debug и trace. Отладочная информация параметра debug помещается в файл журнала отладочной информации, как указано в syslog.conf, а информация параметра trace из-за ее чувствительности — в журнал authpriv.
Модуль pam_warn.so заносит сообщение о своем вызове в syslog. Параметров не имеет.
Модуль pam_wheel.so разрешает становиться суперпользователем только членам группы wheel.
Группа wheel — это специальная системная группа, члены которой имеют большие привилегии, чем обычные пользователи, но меньшие, чем суперпользователь. Ее наличие позволяет уменьшить число пользователей системы с привилегиями суперпользователя, сделав их членами группы wheel и тем самым повысив безопасность системы. Если суперпользователь может входить в систему только при помощи терминала, то данный модуль можно использовать для того, чтобы сделать недоступной для пользователей работу через telnet с привилегиями суперпользователя, отказав им в доступе, если они не принадлежат к группе wheel. Данный модуль весьма гибок и может использоваться для целей, отличных от заявленных выше. Модуль использует следующие параметры:
- debug — протоколирование отладочной информации;
- use_uid — определение принадлежности на основании текущего идентификатора пользователя, а не того, что был назначен ему при входе в систему;
- trust — в случае принадлежности пользователя к группе wheel возвращать значение УСПЕХ
(SUCCESS), а не ИГНОРИРОВАТЬ (IGNORE);
- group=xxx — использовать для авторизации GID ххх, а не GID группы wheel;
- deny — меняет смысл процедуры на противоположный (возврат НЕУСПЕШНО). В комбинации с group= позволяет отказывать в доступе членам данной группы.
ПРИМЕЧАНИЕ -
Как вы, наверное, уже успели заметить, каталог /etc/security имеет непосредственное отношение к каталогу
/etc/pam.d, поскольку содержит файлы конфигурации различных модулей РАМ, вызываемых в файлах из /etc/pam.d.


Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9   ...   42


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал