|
Защита входа в систему, специальные системные пользовательские бюджеты, получение информации о статусе пользователя, управление паролями, стандартные группы пользователей, интерпретатор команд с ограниченными возможностями, средства блокирования пользовательских бюджетов, средства регистрации неудачных попыток входа в систему, парольная защита соединений по коммутируемым линиям, блокирование удаленного входа в систему по коммутируемым линиям, мониторинг использования полномочий суперпользователя, ограничение числа устройств, используемых для регистрации в системе суперпользователя, системной консолью
Стандартные группы пользователей
По умолчанию, в ОС Solaris 7 имеются следующие группы пользователей:
|
root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,tty,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
nobody::60001:
noaccess::60002:
nogroup::65534:
|
Интерпретатор команд с ограниченными возможностями
Для ограничения, в целях безопасности, возможностей, которыми располагают пользователи системы, таких как смена каталога или выполнение определенных системных команд, может использоваться специальная версия командного интерпретатора с ограниченными возможностями. Ограниченный командный интерпретатор (rsh) находится в каталоге /usr/lib. Он отличается от обычного командного интерпретатора следующими свойствами:
- пользователь ограничен только своим домашним каталогом (не может использовать команду cd для смены текущего каталога);
- пользователь может использовать только те команды, путь к которым содержиться в переменной окружения PATH, устанавливаемой системным администратором (пользователь сам не может изменять значение этой переменной);
- пользователь имеет доступ только к файлам, находящимся в домашнем каталоге пользователя и его подкаталогах (пользователь не может использовать для доступа к файлам их полные имена);
- пользователь не может перенаправлять стандартный вывод программ, используя команды > и >>.
Средства блокирования пользовательских бюджетов
Средства блокирования пользовательских бюджетов позволяют осуществлять как временное, так и постоянное блокирование. Блокирование осуществляется путем назначения пользователю пароля *LK*, содержащего недопустимые символы ‘*’. Это делает невозможеным регистрацию пользователя в системе.
Простейшим способом блокирования пользовательского бюджета является использование программы Admintool. Программа Admintool позволяет заблокировать пароль пользователя и установить дату истечения периода, в течении которого пользовательский бюджет будет оставаться заблокированным (Expiration Date).
Другими способами блокирования пользовательских бюджетов является использование механизма старения паролей, а также изменение пользовательского пароля таким образом, чтобы он содержал недопустимые символы ‘*’.
Временное блокирование доступа пользователей
Администратор системы может временно заблокировать пользовательские пароли. Для этого необходимо выполнить следующие действия:
Создание файла /etc/nologin позволяет заблокировать пользовательские пароли и сообщить пользователям о том, что в течение определенного промежутка времени система будет недоступна из-за отключений или профилактических процедур. Если такой файл существует, то пользователю при входе в систему показывается его содержание, а дальнейшие действия блокируются. На вход в систему администратора наличие файла никакого воздействия не оказывает.
Средства регистрации неудачных попыток входа в систему
Администратор системы может обеспечить регистрацию неудачных попыток входа в систему. Для этого необходимо создать файл /var/adm/loginlog с правами на чтение и запись только для администратора системы. После его создания туда будут заносится все неудачные попытки входа в систему, если пользователь потерпел неудачу более пяти раз.
Одной неудачной попытке входа соответствует одна запись в файле loginlog. В каждой записи указывается: имя пользователя, идентификатор устройства, с которого производился ввод, дата и время неудачной попытки. Если какой-либо пользователь пытался войти в систему менее пяти раз, то его действия не регистрируются.
Файл loginlog растет достаточно быстро. Поэтому его необходимо периодически проверять и стирать ненужные записи. Большое количество неудачных попыток входа в систему может свидетельствовать об осуществлении попыток НСД.
Примерное содержание файла loginlog:
# more /var/adm/loginlog pmorph:/dev/pts/4:Mon Jun 8 11:08:27 1998 pmorph:/dev/pts/4:Mon Jun 8 11:08:49 1998 pmorph:/dev/pts/4:Mon Jun 8 11:09:03 1998 pmorph:/dev/pts/4:Mon Jun 8 11:09:22 1998 pmorph:/dev/pts/4:Mon Jun 8 11:09:36 1998
Парольная защита соединений по коммутируемым линиям
Безопасность системы может быть повышена за счет установки дополнительной парольной защиты для тех пользователей, которые осуществляют удаленный вход в систему по коммутируемым каналам связи. Такой пароль является дополнительным. Он необходим только для получения доступа к последовательному порту. Создавать или изменять пароль данного типа может только администратор системы. Рекомендуется менять этот пароль по меньшей мере раз в месяц. Наилучший результат дает использование пароля для тех коммутируемых линий, через которые осуществляется обращение к системам, выполняющим функции шлюза.
Для задания паролей используются два файла: /etc/dialups и /etc/d_passwd. В первом из них находится список портов, для которых требуются пароли, а во втором - список пользовательских командных интерпретаторов, для которых необходим зашифрованный пароль, использующийся в качестве пароля соединений по коммурируемым линиям.
В качестве примера списка терминальных устройств можно привести:
/dev/term/a /dev/term/d
Файл d_passwd содержит два поля. В первом поле указывается имя регистрационного командного интерпретатора shell, для которого требуется пароль, а во втором - зашифрованный пароль.
/usr/lib/uucp/uucico:encrypted_password: /usr/bin/csh:encrypted_password: /usr/bin/ksh:encrypted_password: /usr/bin/sh:encrypted_password:
Когда пользователь производит попытку удаленного входа в систему через один из портов, указанных в списке /etc/dialups, то программа login находит в файле /etc/passwd запись, соответствующую данному пользователю и сопоставляет регистрационный командный интерпретатор пользователя, с тем, который указан в файле /etc/d_passwd. По результатам сравнения определяется, будет ли у пользователя запрашиваться дополнительный пароль на вход по коммутируемой линии. На рис 2 приведена последовательность действий системы при обработке запроса пользователя на вход в систему.
Большинство пользователей после входа в систему используют командные интерпретаторы shell. Поэтому все командные интерпретаторы должны быть описаны в файле /etc/d_passwd. Обычно это uucico, sh, ksh, csh и т. п.. Если кто-либо использует другие программы, то их тоже необходимо внести в файл d_passwd. Если программа login (указанная в файле /etc/passwd) не описана в файле /etc/d_passwd или поле login shell в файле etc/passwd пусто, то используется парольная запись из /usr/bin/sh

Рисунок 4 Последовательность обработки запроса пользователя на вход в систему по коммутируемой линии
|
В целом, при аутентификации пользователей, осуществляющих удаленный вход в систему по коммутируемым линиям, используются следующие правила:
-
Если login shell пользователя из файла /etc/passwd совпадает с записью в файле /etc/d_passwd, то пользователь должен указать пароль для входа в систему по коммутируемой линии.
-
Если login shell пользователя из файла /etc/passwd не обнаружен в файле /etc/d_passwd, то пользователь должен ввести текущий пароль. Текущим паролем считается тот, который указан для записи /usr/bin/sh.
-
Если поле login shell в файле /etc/passwd пусто, то пользователь должен указать текущий пароль.
-
Возможны случаи, когда в файле /etc/d_passwd нет записей, относящихся к /usr/bin/sh. Тогда тем пользователям, чьи поля login shell в файле /etc/passwd пусты, или если среди записей в файле /etc/d_passwd нет таких, которые бы совпадали с указанными для данных пользователей, не придется вводить пароль для входа в систему по коммутируемой линии.
-
Вход в систему по коммутируемой линии блокируется, если файл /etc/d_passwd содерджит только одну запись: /usr/bin/sh:*:
Блокирование удаленного входа в систему по коммутируемым линиям
До тех пор, пока файл /etc/d_passwd содержит единственную запись /usr/bin/sh:*, вход пользователей в систему по коммутируемым линиям будет заблокирован.
Мониторинг использования полномочий суперпользователя
В конфигурации системы, устанавливаемой по умолчанию, запрещено использование бюджета суперпользователя для удаленной регистрации в системе. Для того, чтобы воспользоваться привилениями суперпользователя при удаленной регистрации, пользователь должен войти в систему, используя свой личный бюджет, а затем получить права суперпользователя при помощи команды su. Это позволяет отслеживать факты использования бюджета суперпользователя.
Регистрация событий, связанных с использованием команды su
Для регистрации событий, связанных с использованием команды su, используется системный файл журнала /var/adm/sulog, при этом в файле /etc/default/su должен быть установлен следующий параметр:
SULOG=/var/adm/sulog
В журнале sulog регистрируется дата и время использования команды su, результат использования команды, номер терминала, имя пользователя, использующего команду su и имя пользователя, чьи полномочия необходимо персонифицировать.
# more /var/adm/sulog
SU 12/20 16:26 + pts/0 nathan-root
SU 12/21 10:59 + pts/0 nathan-root
SU 01/12 11:11 + pts/0 root-joebob
SU 01/12 14:56 + pts/0 pmorph-root
SU 01/12 14:57 + pts/0 pmorph-root
Вывод на системную консоль сообщений о попытках регистрации в системе в качестве суперпользователя
Для активизации этой функции безопасности в файле /etc/default/su должен быть установлен следующий параметр:
CONSOLE=/dev/console
Ограничение числа устройств, используемых для регистрации в системе суперпользователя, системной консолью
В качестве дополнительной меры защиты бюджета суперпользователя может использоваться возможность ограничения входа в систему в качестве суперпользователя с определенных устройств. Для активизации этого средства защиты используется файл /etc/default/login. Если список устройств входа для суперпользователя ограничивается системной консолью, то он сможет войти в систему только с консоли. Для выполнения функций системного администрирования, требующих полномочий суперпользователя, из удаленной системы, необходимо сначала войти в систему, используя бюджет обычного пользователя, а затем для получения полномочий суперпользователя использовать команду su.
Для активизации этой функции безопасности в файле /etc/default/login должен быть установлен следующий параметр:
CONSOLE=/dev/console
|