
- •Основные концепции unix. Архитектура unix. Классификация операционных систем.
- •Файловая система unix. Стандарт на файловую систему. Монтирование файловых систем. Файловая система unix
- •Монтирование файловых систем
- •Стандарт на файловую систему
- •Контекст процесса. Планирование процессов. Межпроцессное взаимодействие.
- •Планирование процессов
- •Межпроцессное взаимодействие
- •Терминал и командная строка. Формат командной строки.
- •Формат командной строки
- •Исполнение команды. Способы Объединения команд.
- •Возможности командной оболочки. Программное окружение. Справочная подсистема. Страницы руководства.
- •Информационная безопастность. Концепция безопасности в unix.
- •Политика безопасности. Управление доступом.
- •Аутентификация и авторизация.
- •Правда доступа. Последовательность проверки. Подмена идентификатора субъекта.
- •Вход пользователя в систему. Суперпользователь. База данных пользователей. Ограничение сеанса пользователей
- •Введение в сети. Взаимодействие открытых систем.
- •Сетевой интерфейс unix. Сетевой адрес. Маршрутизация. Протокол icmp Сетевой интерфейс unix
- •Сетевые соединения. Служба доменных имен. Удаленный терминал.
- •Межсетевой экран iptables
- •Этапы загрузки системы. Процесс init
- •Уровни выполнения системы
Информационная безопастность. Концепция безопасности в unix.
Информационная безопасность – меры по защите информации от неавторизованного доступа, разрушения, модификации, раскрытия и задержек в доступе. Основой информационной безопасности любой организации является политика безопасности.
Политика безопасности. Политика безопасности – это набор законов, правил и норм поведения, определяющих, как организация обрабатывает, защищает и распространяет информацию. Это активный компонент защиты, который включает в себя анализ возможных угроз и выбор мер противойдействия. Важным элементом политики безопасности является управление доступом: ограничение или исключение несканкционированного доступа к информации и программным средствам. При этом используются два основных понятия: объект и субъект системы. Объектом системы мы будем называть любой её идентифицируемый ресурс (например, файл или устройство). Доступом к объекту системы – некоторую заданную в ней операцию над этим объектом (скажем, чтение или запись). Действительным субъектом системы назовем любую сущность, способную выполнять действия над объектами (имеющую к ним доступ). Действительному субъекту системы соответствует некоторая абстракция, на основании которой принимается решение о предоставлении доступа к объекту или об отказе в доступе. Такая абстракция называется номинальным субъектом.
Политика безопасности должна быть полной, непротиворечивой и рассматривать все возможности доступа субъектов системы к её объектам. Только соблюдение всех трех принципов гарантирует, что нарушить установленные правила (например, получить несанкционированный доступ к объекту) системными средствами невозможно. Если же предполагаемый злоумышленник воспользовался каким-нибудь внесистемным средством и смог получить статус номинального субъекта, к которому он не имеет отношения (например, подглядел чужой пароль и работает под чужим именем), никаких гарантий быть не может.
Концепция безопастности в UNIX
UNIX роль номинального субъекта безопасности играет пользователь. Каждому пользователю выдается (обычно – одно) входное имя (login). Каждому входному имени соответствует единственное число, идентификатор пользователя (User IDentifier, UID). Это число и есть ярлык субъекта, которым система пользуется для определения прав доступа.
Каждый пользователь входит в одну или более групп. Группа – это образование, которое имеет собственный идентификатор группы (Group IDentifier, GID), объединяет нескольких пользователей системы, а стало быть, соответствует понятию множественный субъект. Значит, GID – это ярлык множественного субъекта, каковых у действительного субъекта может быть более одного. Таким образом, одному UID соответствует список GID. Роль действительного (работающего с объектами) субъекта играет процесс. Каждый процесс снабжен единственным UID: это идентификатор запустившего процесс пользователя. Любой процесс, порожденный некоторым процессом, наследует его UID. Таким образом, все процессы, запускаемые по желанию пользователя, будут иметь его идентификатор. UID учитываются, например, когда один процесс посылает другому сигнал. В общем случае разрешается посылать сигналы «своим» процессам (тем, что имеют такой же UID).
Права доступа. Роль объекта в UNIX играют многие реальные объекты, в частности представленные в файловой системе: файлы, каталоги, устройства, каналы и т. п.. Каждый файл снабжён UID – идентификатором пользователя-владельца. Вдобавок у файла есть единственный GID, определяющий группу, которой он принадлежит.
На уровне файловой системы в UNIX определяется три вида доступа: чтение (read, r), запись (write, w) и использование (execution, x). Право на чтение из файла дает доступ к содержащейся в нем информации, а право записи – возможность ее изменять. При каждом файле имеется список того, что с ним может делать владелец (если совпадает UID процесса и файла), член группы владельцев (если совпадает GID) и кто угодно (если ничего не совпадает) (см. Рисунок 3.2, «Базовые права доступа в UNIX»). Такой список для каждого объекта системы занимает всего несколько байт.
Разделяемые каталоги. Права записи в директорию трактуются как возможность создания и удаления файлов, а также измеение атрибутов файлов (например, переименование). При этом субъекту не обязательно иметь права на запись в эти удаляемые файлы.Таким образом, из своего каталога пользователь может удалить любой файл. А если запись в каталог разрешена всем, то любой пользователь сможет удалить в нём любой файл. Для избежания этой проблемы был добавлен ещё один бит в права доступа каталога: бит навязчивости (sticky, t-бит). При его установке пользователь, имеющий доступ на запись в этот каталог, может изменять только собственные файлы.
В UNIX существует механизм, позволяющий пользователям запускать процессы от имени других пользователей. Это может быть полезным, если одному пользователю необходимо на время предоставлять права другого (например, суперпользователя). Для разрешение подмены идентификатора пользователя применяется бит подмены идентификатора пользователя (set user id, suid-бит, s). Этот бит применяется совместно с битом исполнения (x) для обычных файлов. При установке этого бита на исполняемый файл процесс запускается от имени владельца, а не от имени запускаеющего пользователя (см. Рисунок 3.4, «Подмена идентификатора пользователя»). Подмена идентификатора пользователя является потенциальной угрозой безопасности сиситемы и должена использоваться осторожно.