В.П. Мельников и др. - Информационная безопасность и защита информации (1022816), страница 59
Текст из файла (страница 59)
При этом для удобства пользователя возможно задание интервала между началом требования смены пароля и окончанием срока его действия. 3. Автоматическое блокирование пользователя на входе в систему по старости пароля, по числу неуспешных попыток входа. 4. Задание числа и номеров терминалов для входа в систему для каждого пользователя. 5. Проверка системой паролей пользователей при вводе на их семантические и контекстуальные особенности (вхождение идентификатора, имени пользователя, повторяемость символов и т.д.). 259 6. Хранение зашифрованных паролей не в /е~с/развед, как в старых версиях, а в закрытом от доступа отдельном файле.
7. Получение статистической информации по времени работы пользователя в системе, его блокировке, номеру терминала и т.д. 8. При установке класса защиты С2 (см. далее) невозможность администратором регистрации пользователя без пароля (8ией). Помимо этого существует возможность блокирования по числу неуспешных попыток входа не только пользователя, но и терминала. При этом можно задать интервал времени, который должен пройти между попытками регистрации. Также предусмотрено ведение записей об успешных и неуспешных попытках входа в систему.
Хорошо себя зарекомендовало использование командного интерпретатора гз)з (геворг)егер). Во-первых, пользователь не может никуда перейти из своего домашнего справочника. Во-вторых, он может использовать только команды из тех справочников, которые определены в переменной окружения РАТН. При этом изменить значение переменной окружения РАТН пользователь не может.
В-третьих, пользователь не может задавать полные имена программных файлов и перенаправлять потоки ввода-вывода. Практически можно создать изолированную среду пользователя путем введения в его стартовый командный файл (.ргой!е) определенной команды (системы, приложения), которая будет вызываться через команду ехес. В этой ситуации при добавлении в стартовый командный файл команд стар и ехй пользователь сможет работать только с заданной ему командой (программой). Очевидно, что успешно реализовать парольную защиту можно только с соблюдением организационных мер. При этом реальной угрозой преодоления парольной зашиты ОС является оставление без присмотра терминала, на котором пользователь уже прошел процедуры ИА (зарегистрировался).
В этом случае необходимо использовать команды блокирования терминала (1осй, х!оск). Существуют средства автоматического блокирования терминала по истечении определенного периода времени. Такие средства встроены в некоторые командные интерпретаторы или графические оболочки. Однако использование этих средств необходимо соотносить с угрозой внедрения программы, имитирующей блокирование экрана и считывающей пароль пользователя. В системе обязательно должен быть определен список терминалов, с которых не могут входить администраторы.
Парольная защита также применяется для того, чтобы обезопасить удаленный вход пользователей по каналам связи„подключаемых к последовательным портам. В этом случае возможна установка отдельного пароля на каждое используемое для удаленного входа устройство (специальный файл). При вводе неправильного пароля с удаленной системы работа с системой становится невозможной.
260 На сегодняшний день во всех коммерческих версиях образцы для аутентификации не хранятся в файле /его/развед. Наибольшее внимание в вопросах зашиты ОС должно быть уделено защите файловой системы. Под заи1итой фацловой системы понимают реализацию СБ для субъектов — процессов и объектов— файлов. Файловая система в Ь(пах имеет древовидную структуру. Блок прямого доступа подразделяется на несколько областей: 1) начальный загрузчик; 2) суперблок; 3) область индексных дескрипторов; 4) область файлов; 5) облазь, не используемая для файловой системы (например, область для выгрузки процессов).
Суперблок состоит из следующих полей: ° размер файловой системы; ° число свободных блоков в файловой системе; ° заголовок списка свободных блоков, имеющихся в файловой системе; ° номер следующего элемента в списке свободных блоков; ° размер области индексов; ° число свободных индексов в файловой системе; ° список свободных индексов в файловой системе; ~ следующий свободный индекс в списке свободных индексов; ° заблокированные поля для списка свободных блоков и свободных индексов; ° флаг, показывающий, что в суперблок были внесены изменения.
При монтировании файловой системы суперблок записывается в оперативную память и переписывается обратно при размонтировании. Для того чтобы обеспечивалась согласованность с данными, хранящимися в файловой системе, ядро периодически (через 30 с) переписывает суперблок на диск (системный вызов зупс, запускаемый из процесса црдате). Каждый файл в системе имеет уникальный индекс.
Индекс— это управляющий блок. В литературе он также называется индексным дескриптором, )-поде, или 1-узлом. Индекс содержит информацию, необходимую любому процессу для того, чтобы обратиться к файлу, например права собственности на файл, права доступа к файлу, размер файла и расположение данных файла в файловой системе.
Процессы обращаются к файлам, используя четко определенный набор системных вызовов и идентифицируя файл строкой символов, выступающих в качестве составного имени файла. Каждое составное имя однозначно определяет файл, благодаря чему ядро системы преобразует это имя в индекс файла. 261 Индексы сушествуюг на диске в статической форме, и ядро считывает их в память прежде, чем начинает с ними работать. Индексы включают в себя следующие поля. 1. Идентификатор владельца файла и идентификатор группы. 2. Тип файла.
Файл может быть файлом обычного типа, каталогом, специальным файлом (соответствующими устройствам ввода-вывода символами или блоками, а также абстрактным файлом канала, организующим обслуживание запросов в порядке поступления: «первым пришел — первым вышел»). 3. Права доступа к файлу. Права доступа к файлу разделены между индивидуальным владельцем, группой пользователей, в которую входит владелец файла, и всеми остальными. Суперпользователь (пользователь с именем гоог) имеет право доступа ко всем файлам в системе.
Каждому классу пользователей выделены определенные права на чтение, запись и выполнение файла, которые устанавливаются индивидуально. Поскольку каталоги как файлы не могуг быть исполнены, разрешение на исполнение в данном случае интерпретируется как право производить поиск в каталоге по имени файла, а право записи — как право создавать и уничтожать в нем файлы. 4. Временные сведения, характеризующие работу с файлом: время внесения последних изменений в файл, время последнего обращения к файлу, время внесения последних изменений в индекс. 5.
Число указателей на индекс, означающее число имен файлов, ссылающихся на данный файл. 6. Таблица адресов дисковых блоков, в которых располагается информация файла. Хотя пользователи трактуют информацию в файле как логический поток байтов, ядро располагает зти данные в несмежных дисковых блоках. 7. Размер файла в байтах. Обратим внимание на то, что в индексе отсутствует составное имя файла, необходимое для осуществления доступа к файлу. Содержимое файла меняется только тогда, когда в файл производится запись.
Содержимое индекса меняется как при изменении содержимого файла, так и при изменении владельца файла, прав доступа и т.д. Изменение содержимого файла автоматически вызывает коррекцию индекса, однако коррекция индекса еще не означает изменения содержимого файла.
При открытии файла индекс копируется в память и записывается обратно на диск, когда последний процесс, использующий этот файл, закроет его. Копия индекса в памяти„кроме полей дискового индекса, включает в себя следующие поля. 1. Состояние индекса в памяти, отражающее: ° заблокирован ли индекс; ° ждет ли снятия блокировки с индекса какой-либо процесс; 262 ° отличается ли представление индекса в памяти от своей дисковой копии в результате изменения содержимого индекса; ° отличается ли представление индекса в памяти от своей дисковой копии в результате изменения содержимого файла; ° находится ли указатель файла в начале.
2. Логический номер устройства файловой системы, содержащей файл. 3. Номер индекса. Так как индексы на диске хранятся в линейном массиве, ядро идентифицирует номер дискового индекса по его местоположению в массиве. В дисковом индексе это поле не нужно. 4. Указатели на другие индексы в памяти. 5. Счетчик ссылок, означающий число активных экземпляров файла (таких, которые открыты). Многие поля в копии индекса, с которой ядро работает в памяти, аналогичны полям в заголовке буфера, и управление индексами похоже на управление буферами.
Индекс также блокируется, в результате чего другим процессам запрещается работать с ним. Эти процессы устанавливают в индексе специальный флаг, информирующий о том, что выполнение обратившихся к индексу процессов следует возобновить, как только блокировка будет снята. Установкой других флагов ядро отмечав~ расхождение между дисковым индексом и его копией в памяти. Когда ядру нужно будет записать изменения в файл или индекс, ядро перепишет копию индекса из памяти на диск только после проверки этих флагов. Каталоги (справочники) являются файлами, из которых строится иерархическая структура файловой системы.