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

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

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

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

Преглед

Преглед

  1. Какво е Linux с подобрена сигурност?
    Linux с подобрена сигурност (SELinux — Security-enhanced Linux) е референтна реализация на архитектурата за сигурност Flask за гъвкав принудителен контрол на достъпа. Тя е създадена, за да демонстрира полезността на гъвкавите механизми за управление на принудителен достъп и как подобни механизми могат да бъдат интегрирани в операционната система. Архитектурата Flask впоследствие е интегрирана в Linux и пренесена на няколко други системи, включително операционната система Solaris, операционната система FreeBSD и ядрото Darwin, генерирайки широк спектър от свързани с това разработки. Архитектурата Flask предоставя обща поддръжка за прилагането на много видове принудителни политики за контрол на достъп, включително базирани на концепции за Type Enforcement, Контрол на достъпа на базата на роли и Многостепенна сигурност.
  2. Какви преимущества предоставя Linux с подобрена сигурност, които стандартният Linux не може?
    Ядрото на Linux с подобрена сигурност задава политики за принудителен контрол на достъпа, които ограничават потребителските програми и системни сървъри до минимален набор от права, необходими им за извършване на работата си. При това ограничение способността на тези потребителски програми и системни демони да причиняват вреда в случай на компрометиране (например, поради преливане на буфера или неправилна конфигурация) се намалява или изключва. Този механизъм на ограничение работи независимо от традиционните механизми за контрол на достъпа в Linux. Той не разглежда суперпотребителя
    Защитата на немодифицираната система 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. Защо извършихте тази работа?
    Национална изследователска лаборатория по осигуряване на информационната сигурност Агенцията за национална сигурност отговаря за изследванията и напредналото развитие на технологии, необходими, за да може АНБ да предоставя решения, продукти и услуги за осигуряване на информационната сигурност на информационни инфраструктури, критични за интересите на националната сигурност на САЩ.
    Създаването на жизнеспособна безопасна операционна система остава изключително важна изследователска задача. Нашата цел е да разработим ефективна архитектура, която предоставя необходимата подкрепа за сигурността, изпълняваща програми в голяма степен прозрачно за потребителя и привлекателна за доставчиците. Считаме, че важна стъпка към постигането на тази цел е демонстрацията на това как механизмите за управление на принудителен достъп могат успешно да бъдат интегрирани в основната операционна система.
  11. Как това е свързано с предишните изследвания на ОС на АНБ?
    Изследователи от Националната лаборатория за осигуряване на достоверност на информацията на АНБ в сътрудничество с Secure Computing Corporation (SCC) разработиха мощна и гъвкава архитектура за принудителен контрол на достъпа, основана на Type Enforcement, механизъм, разработен за първи път за системата LOCK. АНБ и SCC разработиха два прототипа на архитектура на базата на Mach: DTMach и DTOS (http://www.cs.utah.edu/flux/dtos/). АНБ и SCC след това работиха с изследователска група Flux от Университета на Юта, за да пренесат архитектурата в изследователската операционна система Fluke. По време на този трансфер архитектурата беше доразвита, за да осигури по-добра подкрепа за динамични политики за сигурност. Тази подобрена архитектура бе наречена Flask (http://www.cs.utah.edu/flux/flask/). Сега АНБ е интегрирало архитектурата 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.
  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. Планира ли АНБ да я използва в страната?
    По разбираеми причини АНБ не коментира оперативното използване.
  22. Променя ли Заявление за гаранции от 26 юли 2002 г. на Secure Computing Corporation позицията на АНБ относно това, че SELinux е предоставен под GNU Общ лиценз?
    Позицията на АНБ не се е променила. АНБ все още счита, че разпоредбите и условията на Стандартния обществен лиценз на 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. Какъв тип поддръжка е наличен?
    Ние сме готови да разглеждаме въпроси чрез списъка за разпространение selinux@tycho.nsa.gov, но няма да можем да отговорим на всички въпроси, свързани с конкретен сайт.
  5. Кой помогна? Какво направиха?
    Прототип на Linux с подобрена сигурност беше разработен от НСА в сътрудничество с изследователски партньори от NAI Labs, Secure Computing Corporation (SCC) и MITER Corporation. След първоначалното публично пускане последваха много други материали. Вижте списъка на участниците.
  6. Как мога да науча повече?
    Препоръчваме ви да посетите нашите уебстраници, да прочетете документацията и предишните изследователски работи, а също така да участвате в нашия списък за разпространение selinux@vger.kernel.org

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

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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster