Часті питання з SELinux (FAQ)

Всім привіт! Спеціально для студентів курсу «Безпека Linux» ми підготували переклад офіційного FAQ проекту SELinux. Нам здається, що цей переклад може бути корисним не лише студентам, тому ділимося з вами.

Часті питання з SELinux (FAQ)

Ми спробували відповісти на деякі питання, що найбільш часто ставляться про проект SELinux. Наразі питання поділені на дві основні категорії. Всі питання та відповіді наведено на сторінці FAQ.

Огляд

Огляд

  1. Що таке Linux із покращеною безпекою?
    Linux з покращеною безпекою (SELinux - Security-enhanced Linux) є еталонною реалізацією архітектури безпеки Flask для гнучкого примусового контролю доступу. Він був створений для демонстрації корисності гнучких механізмів керування примусовим доступом та того, як такі механізми можуть бути додані до операційної системи. Архітектура Flask згодом була інтегрована в Linux і портована на кілька інших систем, включаючи операційну систему Solaris, операційну систему FreeBSD та ядро ​​Darwin, породжуючи широкий спектр пов'язаної з цим роботи. Архітектура Flask забезпечує загальну підтримку для застосування багатьох видів примусових політик контролю доступу, у тому числі заснованих на концепціях Type Enforcement, Role-based Access Control та Multi-level Security.
  2. Що дає Linux з покращеною безпекою, чого не може дати стандартний Linux?
    Ядро Linux з покращеною безпекою встановлює політики примусового контролю доступу, які обмежують програми та системні сервери мінімальним набором привілеїв, які їм потрібні для виконання своєї роботи. При такому обмеженні здатність цих програм і системних демонів завдавати шкоди у разі компрометації (наприклад, через переповнення буфера або неправильної конфігурації) зменшується або виключається. Цей механізм обмеження працює незалежно від традиційних механізмів контролю доступу Linux. Він не має поняття суперкористувача root і не розділяє загальновідомі недоліки традиційних механізмів захисту Linux (наприклад, залежність від двійкових файлів setuid/setgid).
    Захищеність немодифікованої системи Linux залежить від коректності ядра, всіх привілейованих додатків та кожної конфігурації. Проблема в будь-якій із цих областей може призвести до компрометації всієї системи. Навпаки, захищеність модифікованої системи, заснованої на ядрі Linux з покращеною безпекою, залежить, перш за все, від правильності ядра та конфігурації його безпекової політики. Хоча проблеми з правильністю або конфігурацією додатків можуть дозволити обмежену компрометацію окремих програм користувача та системних демонів, вони не становлять загрози безпеці для інших програм користувача і системних демонів або безпеки системи в цілому.
  3. Навіщо вона годиться?
    Нові функції Linux з покращеною безпекою призначені для забезпечення поділу інформації на основі вимог конфіденційності та цілісності. Вони призначені для запобігання процесам читання даних та програм, підробки даних та програм, обходу механізмів безпеки додатків, виконання ненадійних програм або втручання в інші процеси в порушення політики безпеки системи. Вони також допомагають обмежити потенційні збитки, які можуть бути завдані шкідливими або некоректними програмами. Також вони мають бути корисними для забезпечення можливості використання однієї системи користувачами з різними дозволами безпеки для доступу до різних видів інформації з різними вимогами безпеки без шкоди для цих вимог.
  4. Як мені отримати копію?
    Багато дистрибутивів Linux включають підтримку SELinux, вже вбудовану як стандартну функцію або як додатковий пакет. Основний код користувача SELinux доступний на GitHub. Кінцеві користувачі зазвичай повинні використовувати пакети, що їх надають дистрибутивом.
  5. Що входить до вашого релізу?
    Реліз NSA SELinux включає основний код користувача SELinux. Підтримка SELinux вже включена до основного ядра Linux 2.6, доступного на kernel.org. Основний код юзерленду SELinux складається з бібліотеки для маніпулювання двійковою політикою (libsepol), компілятора політики (checkpolicy), бібліотеки для програм, що забезпечують безпеку (libselinux), бібліотеки для інструментів управління політикою (libsemanage) та кількох пов'язаних з політиками утиліт (policycoreutil).
    На додаток до ядра з підтримкою SELinux та основного юзерленд-коду вам знадобиться політика та деякі виправлені під SELinux пакети юзерспейсу для використання SELinux. Політику можна отримати з SELinux reference policy project.
  6. Чи можу я встановити Linux із посиленим захистом на існуючу систему Linux?
    Так, ви можете встановити тільки модифікації SELinux на існуючу систему Linux або ви можете встановити дистрибутив Linux, який вже включає підтримку SELinux. SELinux складається з ядра Linux з підтримкою SELinux, основного набору бібліотек і утиліт, деяких модифікованих пакетів користувача і конфігурації політики. Щоб встановити його в існуючу систему Linux, в якій немає підтримки SELinux, ви повинні мати можливість скомпілювати програмне забезпечення, а також мати інші необхідні системні пакети. Якщо ваш Linux-дистрибутив вже включає підтримку SELinux, вам не потрібно збирати або встановлювати реліз NSA SELinux.
  7. Наскільки сумісний Linux з покращеною безпекою з немодифікованим Linux?
    Linux з покращеною безпекою забезпечує двійкову сумісність з існуючими програмами Linux та з існуючими модулями ядра Linux, але деякі модулі ядра можуть вимагати модифікації для правильної взаємодії з SELinux. Ці дві категорії сумісності детально обговорюються нижче:

    • сумісність додатків
      SELinux забезпечує бінарну сумісність із існуючими програмами. Ми розширили структури даних ядра, включивши нові атрибути захисту, і додали нові виклики API для програм, що забезпечують безпеку. Однак ми не змінили жодних структур даних, видимих ​​для програм, і не змінили інтерфейс будь-яких існуючих системних викликів, тому існуючі програми можуть працювати без змін, якщо політика безпеки дозволяє їхню роботу.
    • Сумісність модулів ядра
      Спочатку SELinux надавав вихідну сумісність лише існуючих модулів ядра; необхідно було перекомпілювати такі модулі за зміненими заголовками ядра, щоб підхопити нові поля захисту, додані структури даних ядра. Оскільки LSM та SELinux тепер інтегровані в основне ядро ​​Linux 2.6, SELinux тепер забезпечує двійкову сумісність із існуючими модулями ядра. Однак деякі модулі ядра можуть погано взаємодіяти з SELinux без змін. Наприклад, якщо модуль ядра безпосередньо виділяє та встановлює об'єкт ядра без використання звичайних функцій ініціалізації, то об'єкт ядра може не мати належної інформації про безпеку. У деяких модулів ядра також може бути відсутній належний контроль безпеки їх операцій; будь-які існуючі звернення до функцій ядра або функцій дозволів також запускатимуть перевірки дозволів SELinux, але для забезпечення дотримання політик MAC можуть знадобитися більш детальні або додаткові елементи керування.
      Linux з покращеною безпекою не повинен створювати проблем взаємодії зі звичайними системами Linux, якщо всі необхідні операції дозволені конфігурацією політики безпеки.
  8. Які цілі прикладу зміни політики безпеки?
    На високому рівні мета полягає в тому, щоб продемонструвати гнучкість та захищеність примусових засобів керування доступом та надати просту працюючу систему з мінімальними змінами у додатках. На нижчому рівні політика має низку цілей, описаних у документації з політики. Ці цілі включають управління необробленим доступом до даних, захист цілісності ядра, системного програмного забезпечення, інформації про конфігурацію системи та системних логів, обмеження потенційної шкоди, яка може бути викликана використанням вразливості в процесі, що вимагає привілеїв, захисту привілейованих процесів від виконання шкідливого коду, захист ролі адміністратора та домену від входу без аутентифікації користувача, запобігання втручанню звичайних користувальницьких процесів у системні процеси або процеси адміністратора, а також захист користувачів та адміністраторів від використання вразливостей у їхньому браузері шкідливим мобільним кодом.
  9. Чому Linux був обраний базовою платформою?
    Linux був обраний як платформа для початкової еталонної реалізації цієї роботи через його зростаючий успіх і відкрите середовище розробки. Linux надає чудову можливість продемонструвати, що ця функціональність може бути успішною в головній операційній системі і, водночас, сприяти захищеності системи, що широко використовується. Платформа Linux також надає чудову можливість для цієї роботи отримати максимально широкий огляд і, можливо, стане основою для додаткових досліджень безпеки іншими ентузіастами.
  10. Чому ви зробили цю роботу?
    Національна дослідницька лабораторія із забезпечення інформаційної безпеки Агентства національної безпеки відповідає за дослідження та передові розробки технологій, необхідних для того, щоб АНБ могло надавати рішення, продукти та послуги для забезпечення інформаційної безпеки для інформаційних інфраструктур, критично важливих для інтересів національної безпеки США.
    Створення життєздатної безпечної операційної системи залишається найважливішим дослідницьким завданням. Нашою метою є створення ефективної архітектури, що забезпечує необхідну підтримку захищеності, що виконує програми значно прозоро для користувача і привабливою для постачальників. Ми вважаємо, що важливим кроком досягнення цієї мети є демонстрація того, як механізми управління примусовим доступом можуть бути успішно інтегровані в основну операційну систему.
  11. Як це пов'язано із попередніми дослідженнями ОЗ АНБ?
    Дослідники з Національної дослідницької лабораторії із забезпечення достовірності інформації АНБ спільно з Secure Computing Corporation (SCC) розробили потужну та гнучку архітектуру примусового контролю доступу на основі Type Enforcement, механізму, вперше розробленого для системи LOCK. NSA та SCC розробили два прототипи архітектури на основі Mach: DTMach та DTOS (http://www.cs.utah.edu/flux/dtos/). NSA та SCC потім працювали з дослідницькою групою Flux з Університету Юти, щоб перенести архітектуру в дослідницьку операційну систему Fluke. Під час цього перенесення архітектура була доопрацьована, щоб забезпечити найкращу підтримку динамічних безпекових політик. Ця покращена архітектура була названа Flask (http://www.cs.utah.edu/flux/flask/). Тепер NSA інтегрувало архітектуру Flask в операційну систему Linux, щоб передати цю технологію ширшій спільноті розробників та користувачів.
  12. Чи є Linux з покращеною безпекою надійною операційною системою?
    Фраза «Довірена операційна система», як правило, стосується операційної системи, яка забезпечує достатню підтримку багаторівневого захисту та підтвердження коректності, щоб відповідати певному набору державних вимог. Linux з покращеною безпекою включає корисні ідеї з цих систем, але фокусується на примусовому контролі доступу. Початкове завдання розробки Linux з покращеною безпекою полягала у створенні корисної функціональності, що забезпечує відчутні переваги захисту у широкому спектрі реальних середовищ для демонстрації цієї технології. SELinux сам по собі не є довіреною операційною системою, але надає критично важливу функцію захисту – примусовий контроль доступу – необхідний для довіреної операційної системи. SELinux був інтегрований у дистрибутиви Linux, які були оцінені відповідно до Labeled Security Protection Profile. Інформацію про перевірені та перевірені продукти можна знайти за адресою http://niap-ccevs.org/.
  13. Вона справді захищена?
    Поняття захищеної системи включає безліч атрибутів (наприклад, фізична безпека, безпека персоналу і т. д.), і Linux з підвищеною безпекою звертається тільки до дуже вузького набору цих атрибутів (тобто до елементів управління примусовим доступом в операційній системі). Іншими словами, «захищена система» означає достатньо захищену, щоб захистити деяку інформацію в реальному світі від реального супротивника, від якого застерігається власник та/або користувач інформації. Linux з покращеною безпекою призначений тільки для демонстрації обов'язкових елементів керування в сучасній операційній системі, такій як Linux, і тому сам по собі навряд чи відповідатиме будь-якому цікавому визначенню захищеної системи. Ми віримо, що технологія, продемонстрована в Linux з покращеною безпекою, буде корисною людям, які створюють захищені системи.
  14. Що ви зробили для підвищення гарантії?
    Метою цього проекту було додати елементи керування примусовим доступом, внісши мінімальні зміни до Linux. Ця остання мета обмежує те, що можна зробити для підвищення гарантування, тому не було роботи, спрямованої на підвищення гарантування Linux. З іншого боку, удосконалення засновані на попередній роботі з розробки архітектури безпеки з високим ступенем надійності, і більшість цих принципів проектування перенесено до Linux із покращеною безпекою.
  15. Чи оцінюватиме CCEVS Linux з підвищеною безпекою?
    Сам по собі Linux з підвищеною безпекою не призначений для вирішення повного набору проблем безпеки, які представлені профілем захисту. Хоча можна було б оцінити тільки його поточну функціональність, ми вважаємо, що така оцінка матиме обмежену цінність. Тим не менш, ми працювали з іншими, щоб включити цю технологію до дистрибутивів Linux, які були оцінені, і дистрибутиви, які знаходяться в оцінці. Інформацію про перевірені та перевірені продукти можна знайти за адресою http://niap-ccevs.org/.
  16. Ви намагалися виправити будь-які вразливості?
    Ні, ми не шукали і не знаходили жодних уразливостей у ході нашої роботи. Ми тільки внесли достатній мінімум, щоб додати нові механізми.
  17. Цю систему схвалено для урядового використання?
    Здоров'я, розширений Linux не має спеціального або додаткового застосування для громадськості, використовуючи будь-яку іншу версію Linux.Linux з покращеною безпекою не має спеціального або додаткового дозволу для урядового використання над будь-якою іншою версією Linux.
  18. Чим це відрізняється від інших ініціатив?
    Linux з покращеною безпекою має чітко визначену архітектуру для гнучкого примусового контролю доступу, експериментально перевірену за допомогою кількох прототипних систем (DTMach, DTOS, Flask). Детальні дослідження були виконані для здатності архітектури підтримувати широкий спектр політик безпеки та доступні в http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    Архітектура забезпечує детальне управління багатьма абстракціями ядра та службами, які контролюються іншими системами. Деякі з відмінностей системи Linux з розширеною безпекою:

    • Чисте відділення політики від прав застосування
    • Чітко визначені інтерфейси
    • Незалежність від конкретних політик та мов політик
    • Незалежність від конкретних форматів та вмісту міток безпеки
    • Окремі мітки та елементи керування для об'єктів та сервісів ядра
    • Кешування рішень про доступ до ефективності
    • Підтримка змін політики
    • Контроль за ініціалізацією процесу та успадкуванням та виконанням програми
    • Керування файловими системами, каталогами, файлами та описами відкритих файлів
    • Управління сокетами, повідомленнями та мережевими інтерфейсами
    • Контроль за використанням «Можливостей»
  19. Які ліцензійні обмеження на цю систему?
    Весь вихідний код знайдений на сайті https://www.nsa.gov, поширюється на тих же умовах, що й оригінальні вихідні коди. Наприклад, виправлення для ядра Linux та виправлення для багатьох існуючих утиліт, доступних тут, випускаються відповідно до умов GNU General Public License (GPL).
  20. Чи є експортний контроль?
    Для Linux з розширеною безпекою немає додаткових елементів керування експортом порівняно з будь-якою іншою версією Linux.
  21. Чи планує АНБ використовувати її у країні?
    Зі зрозумілих причин АНБ не коментує оперативне використання.
  22. Чи змінює Заява про гарантії від 26 липня 2002 року Secure Computing Corporation позицію АНБ про те, що SELinux було надано в рамках GNU General Public License?
    Позиція АНБ не змінилася. АНБ, як і раніше, вважає, що положення та умови Стандартної суспільної ліцензії GNU регулюють використання, копіювання, розповсюдження та модифікацію SELinux. Див. Прес-реліз АНБ від 2 січня 2001 р..
  23. Чи підтримує АНБ програмне забезпечення з відкритим кодом?
    Ініціативи АНБ щодо підвищення безпеки програмного забезпечення охоплюють як пропрієтарне, так і програмне забезпечення з відкритим вихідним кодом, і ми успішно використовували як пропрієтарні, так і відкриті моделі у нашій дослідній діяльності. Робота АНБ щодо підвищення безпеки програмного забезпечення мотивована одним простим міркуванням: максимально ефективно використовувати наші ресурси, щоб надати клієнтам АНБ найкращі можливі варіанти забезпечення безпеки в продуктах, що найбільш широко використовуються. Метою дослідницької програми АНБ є розробка технологічних досягнень, якими можна поділитися із спільнотою розробників програмного забезпечення за допомогою різних механізмів передачі. АНБ не підтримує і не просуває жодного конкретного програмного продукту або бізнес-моделі. Швидше за все, АНБ сприяє підвищенню безпеки.
  24. Чи підтримує АНБ Linux?
    Як зазначалося вище, АНБ не підтримує та не просуває будь-який конкретний програмний продукт чи платформу; АНБ лише сприяє підвищенню безпеки. Архітектура Flask, продемонстрована в еталонній реалізації SELinux, була перенесена на кілька інших операційних систем, включаючи Solaris, FreeBSD і Darwin, перенесена на гіпервізор Xen і застосовується до таких програм, як X Window System, GConf, D-BUS і PostgreSQL. Концепції архітектури Flask широко застосовуються до широкого кола систем та середовищ.

Співпраця

  1. Як ми плануємо взаємодіяти із спільнотою Linux?
    У нас є набір веб-сторінок на NSA.gov, які будуть служити нашим основним способом публікації інформації про Linux із покращеною безпекою. Якщо ви зацікавлені в Linux з покращеною безпекою, ми рекомендуємо вам приєднатися до списку розсилки розробників, переглянути вихідний код та надати свій відгук (або код). Щоб приєднатися до списку розсилки розробників, див. Сторінку списку розсилки розробників SELinux.
  2. Хто може допомогти?
    SELinux тепер підтримується та допрацьовується спільнотою розробників програмного забезпечення для Linux з відкритим вихідним кодом.
  3. Чи фінансує АНБ якусь подальшу роботу?
    Нині АНБ не розглядає пропозиції щодо подальшої роботи.
  4. Який тип підтримки доступний?
    Ми маємо намір вирішувати питання через список розсилки [захищено електронною поштою]Але ми не зможемо відповісти на всі питання, пов'язані з конкретним сайтом.
  5. Хто допоміг? Що вони зробили?
    Прототип Linux з покращеною безпекою був розроблений АНБ спільно з партнерами з досліджень з NAI Labs, Secure Computing Corporation (SCC) та MITER Corporation. Після початкового громадського релізу було багато інших матеріалів. Дивіться список учасників.
  6. Як я можу дізнатися більше?
    Ми рекомендуємо вам відвідати наші веб-сторінки, прочитати документацію та минулі дослідницькі роботи, а також взяти участь у нашому списку розсилки [захищено електронною поштою]

Чи вважаєте переклад корисним? Пишіть коментарі!

Джерело: habr.com

Додати коментар або відгук