Технології захисту інформації - копия
.pdf
Програми |
|
Утиліти політик |
|
|
|
Бібліотеки GNU C
Простір користувача
Простір ядра |
|
Інтерфейс системних викликів |
Політика безпеки |
Ядро |
|
Модуль безпеки |
|
|
|
|
|
|
Апаратне забезпечення
Рис. 13.10. Структурна схема системи безпеки Linux
Як бачимо, система, завдяки модульній структурі, дозволяє змінювати модулі безпеки та утиліти політик безпеки, що притаманне усім версіям Linux. Вони зосереджені, більшою частиною, окремо від мікроядра, що позитивно впливає на безпеку системи в цілому, а також на можливість вдосконалення цієї системи без втручання в роботу ядра.
ОС SELinux є на сьогодні однією з найбільш захищених середовищ, але, безумовно, не єдиною.
Бібліотеки AppArmor. AppArmor є альтернативою SELinux,
причому в тут також використовується інфраструктура модуля LSM (LinuxSecurityModule). Причиною створення AppArmor стало те, що
SELinux виявився надто складним для пересічного користувача. AppArmor має повністю налаштовувані модулі безпеки та режим навчання, який допомагає налаштувати систему безпеки. Ще однією перевагою AppArmor є те, що вона не залежить від типу файлової системи, тоді як SELinux вимагає підтримки ФС додаткових атрибутів.
Solaris 10 (TrustedSolaris). ОС Solaris 10 забезпечує мандатне керування доступом, що значно покращує систему захисту. Суттєвою перевагою є те, що завдяки цьому керуванню обмежуються повноваження користувача root, наявність якого було завжди основним недо-
ліком Linux.
462
Основні принципи організації доступу в Linux
Розглянемо основні принципи організації доступу в Linux. Як відомо, основні версії Linux підтримують дискреційну модель доступу, яка реалізується файловою системою extX (X = 2, 3, 4). Основні параметри доступу Linux зводяться до наступного.
Кожен користувач має унікальний ідентифікатор користувача, UID, а група, до якої він належить – ідентифікатор групи, GID. Для автентифікації користувачів використовуються дві утиліти: getty, яка приймає login користувача, і утиліта login, яка приймає пароль і виконує автентифікацію. Паролі в Linux також зберігаються у вигляді геш-образів. У перших версіях гешування виконувалося алгоритмом DES, зараз – MD5. Облікові записи зберігаються в папці /etc/passwd/.
Структура записів бази даних така:
Ім’я користувача: геш_пароля:sid:gid:дод._інф.:home_dir:shell
Приклади:
ivanov:1QRxtta36BD:340:120:Іванов І.І.:/home/Ivanov:/bin/bash root::1iDYwrOmhmEBU: 0:0: root:: /root: /bin/bash
або:
ivanov:х:340:120:Іванов І.І.:/home/Ivanov:/bin/bash root:х: 0:0: root: /root: /bin/bash
Символи "х" на місці пароля означають, що у системі застосований більш сучасний метод зберігання паролів: вони зберігаються у файлі тіньових паролів (/etc/shadow).
Власником файла /etc/shadow є користувач root і тільки він має право читати інформацію з нього.
Формат записів у цьому файлі має такий вигляд: root:1iDYwrOmhmEBU:10792:0:: 7:7:: bin:*:10547:0::7:7::
daemon:*:10547:0::7:7::
adm:*:10547:0::7:7::
lp:*:10547:0::7:7::
sync:*:10547:0::7:7:: shutdown:U:10811:0:-1:7:7:-1:134531940
Призначення першого поля файла shadow таке ж, як і у першого поля файла passwd. Друге поле містить геш-образ пароля. Реалізація тіньових паролів дозволяє збільшити довжину паролів від 13 до 24
463
Кожен користувач має створену за замовчуванням групу, яка створюється при реєструванні користувача, так звану групу входу. Ім’я цієї групи співпадає з іменем користувача. Якщо користувач або адміністратор не вкаже інакше, система призначає цю групу групоювласником усіх його файлів. Це дозволяє автоматично обмежити доступ інших користувачів до його інформації, оскільки вони належать до інших груп користувачів.
Файли та права доступу. Linux, в принципі, підтримує багато файлових систем. Однак основними є ФС типу extX (ext 2, 3, 4). Дві останні – журнальні ФС, які дозволяють відновлювати втрачену інформацію, до певної межі, звісно.
Востанніх версіях Linux використовується ext 4. Особливості цих ФС полягають в тому, що файли, каталоги та пристрої вважаються файлами. Кожному пристрою відповідає свій файл. Файли та пристрої для використання треба задіяти операцією монтування. Точка монтування визначається при поданні команди. Вона може бути довільною, а керує цим ядро системи. Коли користувач хоче отримати доступ до пристрою, ядро визначає, чи має він відповідні права. При цьому виконується аналіз ідентифікатора користувача, ідентифікатори усіх груп, до яких він належить. На основі цього аналізу і виноситься рішення про надання доступу.
Linux підтримує багато різних типів файлів.
Лівий стовпчик вказує на тип файла: d – directory (каталог); с – символьний пристрій (аналог СОМ-порта в Windows); b – блоковий пристрій (жорсткий диск 0 – перший жорсткий диск системи); s – сокет;
р– іменований канал; l – символьне посилання; "–" – простий файл користувача.
Наступні літери (до числа) – дозволи для цього файла. Число – кількість жорстких посилань на файл.
Наступні два стовпчика – ім’я власника файла та назва його групи. Далі – розмір файла; дата та час його створення.
Востанньому стовпчику – повна назва файла.
Якщо подати команду ls – i, то отримаємо щось таке:
20512 -rwxr-xr-x |
3 root |
root |
49280 Jul 27 |
19:37 gunzip |
20512 -rwxr-xr-x |
3 root |
root |
49280 Jul 27 |
19:37 gzip |
20512 -rwxr-xr-x |
3 root |
root |
49280 Jul 27 19:37 zcat |
|
|
|
|
465 |
|
