Администрирование доступа в ОС GNU/Linux
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Дисциплина:
«Операционные системы»
Преподаватель:
Алексеев Кирилл Анатольевич
учебный год 2020/2021
online.mirea.ru
Тема 1
Безопасность ОС
Занятие 1.4
лекция
Администрирование доступа в ОС GNU/Linux
online.mirea.ru
Администрирование доступа в ОС GNU/Linux
Учебные вопросы:
1) Парольная защита в ОС GNU/Linux.
2) Современная организация управления доступом в ОС
GNU/Linux.
3) Команды su и sudo.
4)потоками
Литература
Основная:
1) Назаров С. В., Гудыно Л. П., Кириченко А. А. Операционные системы. Практикум.
2) Олифер В.Г., Олифер Н.А. Сетевые операционные системы.
3) Таненбаум Э. Современные операционные системы.
Дополнительная:
1) Староверова Н. А. Операционные системы.
2) Стащук П. В. Краткое введение в операционные системы.
online.mirea.ru
1. Парольная защита в ОС GNU/Linux.
Наипростейшая реализация парольной защиты в ОС GNU/Linux
заключается в поддержке главного реестра пар (регистрационное
имя, пароль). Введенное регистрационное имя ищется в реестре,
и введенный пароль сравнивается с хранящимся паролем. Если
они совпадают, вход в систему разрешается, если нет, он
отклоняется.
online.mirea.ru
Способы отображения информации при
прохождении пользователем процедур
идентификации и аутентификации:
1. Отображение вводимого пароля на экране:
а) каждый набранный
специальным символом;
символ
отображается
одинаковым
б) при вводе пароль не отображается.
online.mirea.ru
Способы отображения информации при
прохождении пользователем процедур
идентификации и аутентификации:
2. Вывод сообщений
аутентификации
а)
об
ошибках
б)
процедур
идентификации
или
в)
а) успешный вход в систему;
б) система отказывает во входе, как только видит неверное регистрационное имя. Это
считается ошибкой, поскольку позволяет взломщику продолжать подбор
регистрационного имени до тех пор, пока не будет найдено подходящее имя;
в) у взломщика всегда запрашивают пароль, и его не оповещают о том, является ли
введенное им регистрационное имя подходящим. Он узнает только о том, что
испробованная им комбинация регистрационного имени и пароля является
неподходящей.
online.mirea.ru
Способы хранения парольной информации
1.
2.
В открытом виде. Пароли хранятся такими какие они есть в файле
паролей, базе данных или реестре.
В закрытом виде. Сами пароли не хранятся. Хранится парольная
информация, полученная на основе пароля с использованием
криптографического алгоритма.
online.mirea.ru
Характерные особенности парольной защиты в ОС
GNU/Linux
• Современные версии программы passwd, не позволяют установить легко
угадываемый пароль.
• С каждым паролем связывается случайное n-разрядное число, называемое
солью (salt). Случайное число изменяется с каждым изменением пароля.
• Пароль вместе с солью «шифруется» за счет использования его в качестве
ключа для зашифровки фиксированного блока данных.
• Получившийся зашифрованный результат сохраняется в файле паролей.
• Для дополнительной защиты в некоторых современных версиях UNIX
зашифрованные пароли хранятся, как правило, в отдельном «теневом»
файле, который, в отличие от файла паролей, может быть прочитан только
root-пользователем.
online.mirea.ru
Хранение пароля в ОС GNU/Linux
Имя
Исходный
пользов пароль
ателя
Случайная соль
Получение парольной
информации
user1
4238Password
7362
Encrypt(4238Password, 7362)
user2
128434
9413
Encrypt(128434, 9413)
user3
Dsgkh8%
6549
Encrypt(Dsgkh8%, 6549)
Запись Encrypt(4238Password, 7362) означает результат объединения пароля
4238Password, принадлежащего user1, со случайно назначенной ему солью 7362 и
пропуск их через функцию шифрования Encrypt. Результат шифрования хранится в
качестве в записи о пользователе user1 в файле /etc/shadow.
online.mirea.ru
Признаки алгоритмов шифрования паролей в
файлах /etc/passwd, /etc/shadow или
/etc/master.passwd
(записи в файлах /etc/passwd, /etc/shadow или /etc/master.passwd):
1) Без признаков – DES (практически давно не используется, неадекватно
слаб по современным меркам);
2) _ – Модификация имплементации алгоритма DES, сделанная BSDi;
3) $1$ – MD5 (наиболее популярный, но имеет математические уязвимости);
4) $2$, $2a$ – Blowfish (используется преимущественно в OpenBSD,
FreeBSD(?));
5) $5$ – SHA-256;
6) $6$ – SHA-512.
online.mirea.ru
2. Современная организация управления доступом в
ОС GNU/Linux
Недостатки модели управления доступом в ОС GNU/Linux
•
Суперпользователь представляет собой учетную запись, которая может являться
причиной потенциального отказа системы. Единственный способ разделить
специальные привилегии суперпользователя состоит в написании setuid-программ.
•
Модель безопасности не является достаточно прочной для использования в сети.
•
Во многих средах с высокими требованиями к защите системы действуют
соглашения, которые не могут быть реализованы с использованием традиционных
UNIX-систем безопасности.
•
Поскольку многие правила, связанные с управлением доступа, встроены в код
отдельных команд и демонов, невозможно переопределить поведение системы, не
модифицируя исходный код и не перекомпилируя программы.
•
Для отслеживания действий пользователей предусмотрена минимальная
поддержка. Есть возможность легко узнать, к каким группам принадлежит тот или
иной пользователь, но определение, какие действия разрешены пользователю
членством в этих группах, не является тривиальным.
online.mirea.ru
Подключаемые модули аутентификации
Pluggable
Authentication
Modules
(PAM,
подключаемые
модули
аутентификации) – это набор разделяемых библиотек, которые позволяют
интегрировать различные низкоуровневые методы аутентификации в виде
единого высокоуровневого API. Это позволяет предоставить единые
механизмы для управления, встраивания прикладных программ в процесс
аутентификации. Является одной из частей стандартного механизма
обеспечения безопасности UNIX-систем.
Администраторы указывают те методы аутентификации, которые (с их точки
зрения) должна использовать система в соответствующих контекстах.
Программы, которые собираются аутентифицировать пользователя, просто
вызывают систему РАМ, а не реализуют собственные формы аутентификации.
Система РАМ, в свою очередь, вызывает специальную библиотеку
аутентификации, заданную системным администратором.
online.mirea.ru
Списки управления доступом
Списки ACL являются частью реализации файловой системы, поэтому их
поддержку в явном виде должна обеспечивать используемая вами файловая
система. Практически все файловые системы UNIX и Linux поддерживают ACLсписки в той или иной форме.
Поддержка ACL-списков в общем случае реализуется в двух формах: в виде
проекта стандарта POSIX, который (хоть и без формального подтверждения)
получил широкое признание, и системы, стандартизированной протоколом
NFSv4, который базируется на ACL-списках Microsoft Windows.
Каждому файлу или каталогу может соответствовать список ACL, в котором
перечислены правила установки прав доступа к данному файлу или каталогу.
Каждое правило в списке ACL называется записью управления доступом (access
control entry – АСЕ).
В общем, запись контроля доступа идентифицирует пользователя или группу, к
которой она применяется, и определяет набор привилегий, которыми
наделяются эти пользователи. Списки ACL не имеют фиксированной длины и
могут содержать определения прав множества пользователей или групп.
online.mirea.ru
Списки управления доступом
POSIX ACL
Списки ACL являются частью реализации файловой системы,
поэтому их поддержку в явном виде должна обеспечивать
используемая вами файловая система. Практически все файловые
системы UNIX и Linux поддерживают ACL-списки в той или иной
форме.
Поддержка ACL-списков в общем случае реализуется в двух
формах: в виде проекта стандарта POSIX, который (хоть и без
формального подтверждения) получил широкое признание, и
системы, стандартизированной протоколом NFSv4, который
базируется на ACL-списках Microsoft Windows.
online.mirea.ru
Списки управления доступом
POSIX ACL
Каждому файлу или каталогу может соответствовать список ACL, в котором
перечислены правила установки прав доступа к данному файлу или каталогу.
Каждое правило в списке ACL называется записью управления доступом (access
control entry – АСЕ).
В общем, запись контроля доступа идентифицирует пользователя или группу, к
которой она применяется, и определяет набор привилегий, которыми наделяются
эти пользователи. Списки ACL не имеют фиксированной длины и могут содержать
определения прав множества пользователей или групп.
Для обновления записей ACL используется команда setfacl. Для просмотра записей
ACL используется команда getfacl.
online.mirea.ru
Использование битов setuid, setgid и sticky-bit
Традиционная система управления доступом в UNIX дополнена системой смены
полномочий, которая реализуется ядром в сотрудничестве с файловой системой. Эта
система позволяет выполнять специально подготовленные файлы с использованием
привилегий более высокого уровня (обычно это привилегии суперпользователя).
Данный механизм разрешает разработчикам и администраторам создавать условия
для непривилегированных пользователей, при которых они могут выполнять
привилегированные операции.
Для этого используются два специальных бита, устанавливаемых в маске прав
доступа к файлу: “setuid” (Set User ID – бит смены идентификатора пользователя) и
“setgid” (Set Group ID – бит смены идентификатора группы). Если запускается
исполняемый файл, у которого установлен один из этих битов, то текущими
идентификаторами создаваемого процесса становятся идентификаторы владельца
файла, а не идентификаторы пользователя, запустившего программу. Смена
полномочий действительна только на время работы программы.
online.mirea.ru
Использование битов setuid, setgid и sticky-bit
--- - нет прав, совсем;
--x - разрешено только выполнение файла, как программы но не изменение и не чтение;
-w- - разрешена только запись и изменение файла;
-wx - разрешено изменение и выполнение, но в случае с каталогом, вы не можете посмотреть его
содержимое;
r-- - права только на чтение;
r-x - только чтение и выполнение, без права на запись;
rw- - права на чтение и запись, но без выполнения;
rwx - все права;
--s - установлен SUID или SGID бит, первый отображается в поле для владельца, второй для группы;
--t - установлен sticky-bit, а значит пользователи не могут удалить этот файл.
В нашем примере, файл test1 имеет типичные разрешения для программ, владелец может все,
группа только чтение и выполнение, а все остальные - только выполнение. Для test2 дополнительно
установлен флаг SUID и SGID. А для папки test3 установлен Sticky-bit. Файл test4 доступный
всем.
online.mirea.ru
Команды su и sudo
Команда su: замена идентификатора пользователя
Будучи вызванной без аргументов, она выдает приглашение на ввод пароля
суперпользователя,
а
затем
запускает
интерпретатор
команд
с
правами
пользователя root. Интерпретатор будет выполняться в привилегированном режиме,
пока не завершит работу (при нажатии комбинации клавиш или по команде
exit). Команда su не фиксирует действия, производимые в среде интерпретатора, но
добавляет запись в журнальный файл с указанием, кто и когда вошел в систему под
именем суперпользователя.
online.mirea.ru
Команды su и sudo
Команда sudo: ограниченный вариант команды su
Утилита sudo в качестве аргумента принимает командную строку, которая
подлежит выполнению от имени root-пользователя (или другого уполномоченного
пользователя). Утилита обращается к файлу /etc/sudoers, где содержится список
пользователей, имеющих разрешение на ее выполнение, и перечень команд,
которые они могут вводить на конкретном компьютере. Если запрашиваемая
команда разрешена, утилита sudo приглашает пользователя ввести его собственный
пароль и выполняет команду от имени суперпользователя. Далее утилита sudo
позволяет, не вводя пароль, выполнять другие команды, но только до тех пор, пока
не наступит пятиминутный период бездействия (его продолжительность можно
менять). Такая мера служит защитой от тех привилегированных пользователей,
которые оставляют свои терминалы без присмотра.
online.mirea.ru
Команда sudo: ограниченный вариант команды su
Сценарий использования команды
sudo
Файл /etc/sudoers
online.mirea.ru
Команда sudo: ограниченный вариант команды su
Преимущества команды sudo:
• Благодаря регистрации команд значительно повышается степень
административного контроля над системой.
• Операторы могут выполнять специальные задачи, не имея
неограниченных привилегий.
• Настоящий пароль суперпользователя могут знать всего один-два
человека.
• Вызывать утилиту sudo быстрее, чем выполнять команду su или входить в
систему под именем root.
• Пользователя можно лишить привилегий, не меняя пароль
суперпользователя.
• Ведется список всех пользователей с правами пользователя root.
• Меньше вероятность того, что интерпретатор команд, запущенный
суперпользователем, будет оставлен без присмотра.
• Управлять доступом ко всей сети можно с помощью одного файла.
online.mirea.ru