SELinux Често задавани въпроси (FAQ)

Здравейте всички! Особено за курсисти „Сигурност на Linux“ подготвихме превод на официалните ЧЗВ на проекта SELinux. Струва ни се, че този превод може да бъде полезен не само за студенти, затова го споделяме с вас.

SELinux Често задавани въпроси (FAQ)

Опитахме се да отговорим на някои от най-често задаваните въпроси относно проекта SELinux. В момента въпросите са разделени в две основни категории. Дадени са всички въпроси и отговори на страницата с често задавани въпроси.

Преглед

Преглед

  1. Какво е Linux с подобрена сигурност?
    Linux с повишена сигурност (SELinux) е референтната реализация на архитектурата за сигурност на Flask за гъвкав, наложен контрол на достъпа. Създаден е, за да демонстрира полезността на гъвкавите механизми за прилагане и как такива механизми могат да бъдат добавени към операционна система. Архитектурата на Flask впоследствие беше интегрирана в Linux и пренесена в няколко други системи, включително операционната система Solaris, операционната система FreeBSD и ядрото Darwin, което доведе до широк спектър от свързана работа. Архитектурата на Flask осигурява обща поддръжка за налагане на много видове правила за прилагане на контрол на достъпа, включително тези, базирани на концепциите за прилагане на типа, базиран на роли контрол на достъпа и многостепенна сигурност.
  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) и няколко помощни програми, свързани с политики ( policycoreutils).
    В допълнение към активираното за SELinux ядро ​​и основния потребителски код ще ви трябва политика и някои SELinux пакети за потребителско пространство, за да използвате SELinux. Полицата може да бъде получена от Проект за референтна политика на SELinux.
  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. Защо свършихте тази работа?
    Национална лаборатория за изследване на информационната сигурност Агенцията за национална сигурност отговаря за изследванията и развитието на напредналите технологии, за да позволи на NSA да предоставя решения, продукти и услуги за информационна сигурност на информационни инфраструктури, които са критични за интересите на националната сигурност на САЩ.
    Създаването на жизнеспособна защитена операционна система остава основно предизвикателство за научни изследвания. Нашата цел е да създадем ефективна архитектура, която осигурява необходимата поддръжка за сигурност, изпълнява програми по до голяма степен прозрачен начин за потребителя и е привлекателна за доставчиците. Вярваме, че важна стъпка в постигането на тази цел е да демонстрираме как механизмите за принудителен контрол на достъпа могат да бъдат успешно интегрирани в основната операционна система.
  11. Как това е свързано с предишни изследвания на OS NSA?
    Изследователи от National Assurance Research Laboratory на NSA си партнират с Secure Computing Corporation (SCC), за да разработят мощна и гъвкава архитектура за прилагане, базирана на Type Enforcement, механизъм, въведен от системата LOCK. NSA и SCC разработиха две прототипни архитектури, базирани на Mach: DTMach и DTOS (http://www.cs.utah.edu/flux/dtos/). След това NSA и SCC работиха с Flux Research Group в Университета на Юта, за да пренесат архитектурата към операционната система Fluke Research. По време на тази миграция архитектурата беше усъвършенствана, за да осигури по-добра поддръжка за динамични политики за сигурност. Тази подобрена архитектура е наречена Flask (http://www.cs.utah.edu/flux/flask/). Сега NSA интегрира архитектурата на Flask в операционната система Linux, за да предостави технологията на по-широката общност на разработчиците и потребителите.
  12. Linux с повишена сигурност надеждна операционна система ли е?
    Фразата „Доверена операционна система“ обикновено се отнася до операционна система, която предоставя достатъчна поддръжка за многослойна сигурност и валидиране, за да отговори на конкретен набор от държавни изисквания. Linux с повишена сигурност включва полезни прозрения от тези системи, но се фокусира върху наложен контрол на достъпа. Първоначалната цел на разработването на Linux с повишена сигурност беше да се създаде полезна функционалност, която осигурява осезаеми ползи за сигурността в широк спектър от реални среди, за да се демонстрира тази технология. SELinux сам по себе си не е доверена операционна система, но предоставя критична функция за сигурност - принудителен контрол на достъпа - необходима за надеждна операционна система. SELinux е интегриран в дистрибуции на Linux, които са оценени според етикетирания профил за защита на сигурността. Информация за тествани и тествани продукти можете да намерите на 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 Общ публичен лиценз (GPL).
  20. Има ли контрол върху износа?
    Няма допълнителни експортни контроли за Linux с разширена сигурност в сравнение с която и да е друга версия на Linux.
  21. Планира ли NSA да го използва в страната?
    По очевидни причини NSA не коментира оперативната употреба.
  22. Декларацията за гаранции от 26 юли 2002 г. на Secure Computing Corporation променя ли позицията на NSA, че SELinux е предоставен под GNU General Public License?
    Позицията на НСА не се е променила. NSA все още вярва, че правилата и условията на GNU General Public License уреждат използването, копирането, разпространението и модифицирането на SELinux. См. Съобщение за пресата на NSA 2 януари 2001 г.
  23. NSA поддържа ли софтуер с отворен код?
    Инициативите за сигурност на софтуера на NSA обхващат както патентован софтуер, така и софтуер с отворен код и ние успешно използвахме както собственически модели, така и модели с отворен код в нашите изследователски дейности. Работата на NSA за подобряване на сигурността на софтуера е мотивирана от едно просто съображение: да се възползваме максимално от нашите ресурси, за да предоставим на клиентите на NSA възможно най-добрите опции за сигурност в техните най-широко използвани продукти. Целта на изследователската програма на NSA е да разработи технологичен напредък, който може да бъде споделен с общността за разработка на софтуер чрез различни механизми за трансфер. NSA не одобрява или популяризира конкретен софтуерен продукт или бизнес модел. По-скоро NSA насърчава сигурността.
  24. NSA поддържа ли Linux?
    Както беше отбелязано по-горе, NSA не одобрява или популяризира конкретен софтуерен продукт или платформа; NSA само допринася за повишаване на сигурността. Архитектурата на 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. NSA финансира ли някаква последваща работа?
    В момента NSA не разглежда предложения за по-нататъшна работа.
  4. Какъв тип поддръжка е наличен?
    Възнамеряваме да разрешаваме проблеми чрез пощенския списък [имейл защитен], но няма да можем да отговорим на всички въпроси, свързани с определен сайт.
  5. Кой помогна? Какво направиха?
    Прототипът на Linux с повишена сигурност е разработен от NSA с изследователски партньори от NAI Labs, Secure Computing Corporation (SCC) и MITER Corporation. Много повече материал последва след първоначалното публично пускане. Вижте списъка с участниците.
  6. Как мога да разбера повече?
    Насърчаваме ви да посетите нашите уеб страници, да прочетете документация и минали научни статии и да участвате в нашия пощенски списък. [имейл защитен]

Смятате ли превода за полезен? Пишете коментари!

Източник: www.habr.com

Добавяне на нов коментар