Исследование уровня безопасности операционной системы Linux
Категория реферата: Рефераты по информатике, программированию
Теги реферата: налоги и налогообложение, первый реферат
Добавил(а) на сайт: Budzinskij.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
ОС Linux является полноценной многопользовательской системой с простой
и распределенной архитектурой. Архитектура ОС Linux приведена на рисунке
2.1.
Рис. 2.1. Структура операционной системы Linux
Linux является многопользовательской системой, и тот факт, что в систему могут иметь одновременный доступ огромное число людей, как доверенных, так и нет, представляется более чем очевидным.
Зачем же необходимо обезопасить систему от локальных пользователей?
Для ответа на этот вопрос сначала рассмотрим, что представляется возможным пользователю, который имеет доступ в систему.
- После входа в систему пользователю выделяется определенная часть машинных ресурсов (дискового пространства, оперативной памяти, процессорного времени и так далее). Хорошо, если ОС изначально настроена на правильное разделение ресурсов. А если нет? Достаточно одному пользователю запустить пару-тройку «тяжелых» программ, как время ожидания для других программ даже на мощной машине может выйти за грань допустимого.
- Существуют программы, которые должен запускать только суперпользователь (пользователь root). Обычно с помощью этих программ осуществляется настройка системных параметров операционной системы, неправильная конфигурация которых может отрицательно отразиться на ее работоспособности. Случайный запуск такой программы обычным пользователем может привести к фатальным последствиям для всей системы в целом.
- «Гуляя» по дереву каталогов на жестком диске, пользователь может попасть в ту часть, в которой ему быть не положено (например, в каталог, где хранятся файлы других пользователей). Личные файлы каждого пользователя должны быть доступны ему и только ему, если, конечно, он сам не решит иначе.
Перечисленные примеры – это лишь малая часть. Иногда, даже сам этого не осознавая, неопытный пользователь может представлять потенциальную угрозу, если ему предоставить неограниченные права. К тому же сама порядочность пользователя – это роскошь, которую в современном мире может себе позволить не каждый.
Теперь рассмотрим, какие же средства предоставляет система Linux для обеспечения локальной безопасности.
2.1. Пользователи и пароли
Пользователь – это человек, пользующийся ресурсами и возможностями, которые ему предоставляет тот или иной сервис. Пользователь не обязан знать все аспекты функционирования этих сервисов, все, что ему необходимо знать – это как пользоваться ими.
В Linux каждый пользователь имеет свой уникальный числовой
идентификатор, по которому он идентифицируется в системе. Этому
идентификатору для более удобной работы соответствует имя пользователя.
Например, для привилегированного пользователя root зарезервирован нулевой
идентификатор.
Все имена пользователей Linux и соответствующие им идентификаторы хранятся в специальном файле passwd. Этот файл располагается в каталоге etc, который, в свою очередь, находится в корневом каталоге системы /. Файл имеет обычную текстовую форму.
Пример файла пользовательских имен passwd. root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
Каждая запись в этом файле разделена двоеточиями на 7 частей:
1. Имя пользователя. Это поле содержит имя пользователя. Для операционной системы не важно, какое имя имеет пользователь, система ориентируется на идентификатор, а имя играет, пожалуй, только информационное значение для человека, работающего в системе.
2. Поле пароля. Это поле в ранних версиях Linux содержало зашифрованный пароль, а теперь, когда была введена технология теневых паролей, в этом поле просто ставится x. Практического применения это поле не имеет.
3. Идентификатор пользователя (UID). В системе Linux каждый пользователь имеет уникальный идентификационный номер, который однозначно определяет его в системе. Этот номер используется в различных целях, например, при установке прав доступа на файлы. Права доступа будут рассмотрены в следующем разделе.
4. Идентификатор группы, к которой принадлежит этот пользователь (GID).
Концепция групп будет рассмотрена в следующих разделах.
5. Поле комментария. В этом поле может храниться любая дополнительная информация о пользователе, например, его полное имя.
6. Полный путь к домашнему каталогу пользователя. В ОС Linux для
каждого пользователя создается его домашний каталог, в котором он может
хранить свои документы. Обычно эти каталоги располагаются в директории
/home корневого каталога и по умолчанию имеют имена владельцев.
7. Путь к командной оболочке. Последнее поле содержит полный путь к
рабочей оболочке пользователя (по умолчанию такой оболочкой является bash).
Эта оболочка запускается, когда пользователь проходит процедуру
аутентификации. В целях безопасности для системных пользователей в этом
поле очень часто ставится /sbin/nologin. В приведенном примере пользователь
bin имеет как раз такое значение в поле командного интерпретатора. Сама по
себе программа nologin не является оболочкой, единственное ее назначение –
не допустить вход в систему. Поэтому при попытке входа под именем
пользователя, у которого в качестве рабочей оболочки установлена
/sbin/nologin, ничего не происходит. Обычно такой подход используется при
создании пользователей, которые являются системными, то есть от имени
которых выполняются какие-то действия внутри системы. А поскольку таким
пользователям не нужна рабочая оболочка, хорошим решением, с точки зрения
безопасности, будет установка поля оболочки в /sbin/nologin. Еще одним
распространенным решением в таких ситуациях является установка этого поля в
значение /bin/false. Как известно, в Linux, да и в большинстве других
операционных систем, успешное завершение программы определяется типом
возвращаемого значения. Если возвращается нулевое значение, выполнение
программы прошло успешно, если ненулевое – в процессе выполнения программы
возникли ошибки. На основе возвращаемого значения система аутентификации
делает вывод о том, пройдена ли аутентификация успешно или она
«провалилась». false – программа, которая независимо от внешних факторов
всегда возвращает значение, отличное от нуля, что в данном случае означает
возникновение ошибок при запуске оболочки, и управление снова возвращается
системе аутентификации.
При входе в систему программа, предоставляющая доступ, производит
чтение информации о пользователях как раз из файла passwd. Право на запись
в этот файл имеет только привилегированный пользователь root, читать же его
могут все пользователи системы (права доступа описываются в разделе
«Особенности файловой системы Linux»).
Этот файл никогда не редактируется вручную, хотя, в принципе, это вполне допустимо. Обычно для редактирования файла пользователей используют специальные программы: useradd, usermod и userdel.
Рекомендуем скачать другие рефераты по теме: сочинение, реферат на тему информация.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата