Часта задаюць пытанні па 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) і некалькіх злучаных з палітыкамі ўтыліт (policycore).
    У дадатак да ядра з падтрымкай 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

Дадаць каментар