Идентификация и аутентификация
Рассмотрим стандартную процедуру идентификации и аутентификации пользователя в UNIX. Система ищет имя пользователя в файле /etc/passwd и, если пользователь идентифицируется (т.е. его имя найдено в этом файле), аутентификация заключается в сравнении образа аутентификации от введенного пароля с эталоном. При этом предусмотрены некоторые правила относительно характеристик пароля и возможности его изменения. Но, как показала практика, этих правил недостаточно для реализации надежной защиты.
Для усиления качественных и количественных характеристик процедур идентификации и аутентификации в современных версиях UNIX существуют следующие средства:
Задание администратором учета пользователей и терминалов определенных требований на пароли:
1) ограничения минимальной длины вводимого пользователем пароля;
2) наличия в пароле обязательного минимального количества букв нижнего регистра, букв верхнего регистра, цифр и специальных символов;
3) запрещения пользователю введения собственных паролей; разрешается вводить только пароли, созданные системой.
Задание администратором временных ограничений по частоте сменяемости и времени жизни паролей. При этом для удобства пользователя возможно задание интервала между началом требования смены пароля и окончанием срока его действия.
Автоматическое блокирование пользователя на входе в систему при вводе просроченного пароля, при превышении допустимого числа неуспешных попыток входа.
Задание количества и номеров терминалов для входа в систему для каждого пользователя.
Проверка системой паролей пользователей при вводе на их семантические и контекстуальные особенности (вхождение идентифи-катора, имени пользователя, повторяемость символов и т.д.).
Хранение зашифрованных паролей не в файле /etc/passwd, как в старых версиях, а в закрытом от доступа отдельном файле.
Получение статистической информации по времени работы пользователя в системе, его блокировке, номеру терминала и т. д.
Помимо этого существует возможность блокирования по числу неуспешных попыток входа не только пользователя, но и терминала. При этом можно задать интервал времени, который должен пройти между попытками регистрации. Также предусмотрено ведение записей об успешных и неуспешных попытках входа в систему.
Очевидно, что успешно реализовать парольную защиту можно только с соблюдением организационных мер. При этом реальной угрозой несанкционированного доступа к информации является оставление без присмотра терминала, на котором пользователь уже прошел процедуры идентификации и аутентификации (зарегистрировался). В этом случае необходимо использовать команды блокирования терминала (lock, xlock). Существуют средства автоматического блокирования терминала по истечении определенного периода времени. Такие средства встроены в некоторые командные интерпретаторы или графические оболочки. Однако использование этих средств необходимо соотносить с угрозой внедрения программы, имитирующей блокирование экрана и считывающей пароль пользователя. Попутно заметим, что в системе должен быть обязательно определен список терминалов, с которых не могут входить администраторы.
Парольная защита также применяется для того, чтобы обезопасить удаленный вход пользователей по каналам связи, подключаемым к последовательным портам. В этом случае возможна установка отдельного пароля на каждое используемое для удаленного входа устройство (специальный файл). При вводе неправильного пароля с удаленной системы работа с системой становится невозможной.
Защита файловой системы
Очевидно, что наибольшее внимание в вопросах защиты операционной системы должно быть уделено защите файловой системы. Традиционно в файловых системах ОС UNIX за доступ ко всем типам файлов (файлы, каталоги и специальные файлы) отвечают 9 бит.
Первая группа из 3 бит определяет права доступа к файлу для его владельца, вторая – для членов группы владельца, третья — для всех остальных пользователей.
Например, права доступа, заданные в виде «rwxr-xr—» к файлу означают, что владелец файла имеет полный доступ, члены группы имеют возможность чтения и выполнения, все остальные имеют возможность только читать данный файл. Для каталога установка бита выполнения «х» означает возможность поиска (извлечения) файлов из этого каталога.
Если случайно или умышленно не испортить права доступа ко всем файлам системы, установленные по умолчанию (обычно правильно) при инсталляции, то можно с большой степенью вероятности гарантировать безопасность работы системы.
Некоторые UNIX-системы (например, Solaris) предоставляют дополнительные возможности по управлению правами доступа к файлам путем использования списков управления доступом (Access Control List). Данный механизм позволяет для каждого пользователя или для отдельной группы установить индивидуальные права доступа к заданному файлу. При этом списки доступа сохраняются всеми системными средствами копирования и архивирования. Нельзя сказать, что введение этого механизма принципиально улучшает защиту файлов, но он вносит некоторую гибкость в процедуру формирования прав доступа к файлам.