Често задавани въпроси по 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) и няколко свързани с политиката утилити (policycoreutils).
    В допълнение към ядро с поддръжка на 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. АНБ и 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. Ще бъде ли оценяван Linux с повишена сигурност от CCEVS?
    Сам по себе си 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 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. Какъв тип поддръжка е достъпен?
    Ние възнамеряваме да решаваме въпросите чрез пощенския списък selinux@tycho.nsa.gov, но не можем да отговорим на всички въпроси, свързани с конкретния сайт.
  5. Кой помогна? Какво направиха?
    Прототипът на Linux с подобрена сигурност е разработен от NSA в сътрудничество с изследователските си партньори от NAI Labs, Secure Computing Corporation (SCC) и MITER Corporation. След първоначалното публично издание последва много друга документация. Вижте списъка с участници.
  6. Как мога да науча повече?
    Препоръчваме ви да посетите нашите уеб страници, да прочетете документацията и предишните изследователски работи, както и да се присъедините към нашия пощенски списък на selinux@vger.kernel.org

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

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

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