Często zadawane pytania dotyczące SELinux (FAQ)

Cześć wszystkim! Szczególnie dla studentów kursów „Bezpieczeństwo Linuksa” przygotowaliśmy tłumaczenie oficjalnego FAQ projektu SELinux. Wydaje nam się, że to tłumaczenie może być przydatne nie tylko dla studentów, dlatego dzielimy się nim z Wami.

Często zadawane pytania dotyczące SELinux (FAQ)

Staraliśmy się odpowiedzieć na niektóre z najczęściej zadawanych pytań dotyczących projektu SELinux. Pytania są obecnie podzielone na dwie główne kategorie. Wszystkie pytania i odpowiedzi są podane na stronie FAQ.

Przegląd

Przegląd

  1. Co to jest system Linux o ulepszonych zabezpieczeniach?
    Linux z ulepszonymi zabezpieczeniami (SELinux) to referencyjna implementacja architektury bezpieczeństwa Flask dla elastycznej, wymuszonej kontroli dostępu. Został stworzony, aby zademonstrować przydatność elastycznych mechanizmów egzekwowania oraz sposobu dodania takich mechanizmów do systemu operacyjnego. Architektura Flask została następnie zintegrowana z Linuksem i przeniesiona do kilku innych systemów, w tym systemu operacyjnego Solaris, systemu operacyjnego FreeBSD i jądra Darwin, co dało początek szerokiemu zakresowi powiązanych prac. Architektura Flask zapewnia ogólne wsparcie dla egzekwowania wielu typów zasad egzekwowania kontroli dostępu, w tym opartych na koncepcjach egzekwowania typów, kontroli dostępu opartej na rolach i wielopoziomowych zabezpieczeń.
  2. Co zapewnia wzmocniony system Linux, czego standardowy Linux nie może?
    Ulepszone zabezpieczenia jądra Linuksa wymuszają zasady kontroli dostępu, które ograniczają programy użytkowników i serwery systemowe do minimalnego zestawu uprawnień, których potrzebują do wykonywania swojej pracy. Dzięki temu ograniczeniu zdolność tych programów użytkownika i demonów systemowych do wyrządzania szkód w przypadku naruszenia bezpieczeństwa (na przykład z powodu przepełnienia bufora lub błędnej konfiguracji) jest zmniejszona lub wyeliminowana. Ten mechanizm ograniczeń działa niezależnie od tradycyjnych mechanizmów kontroli dostępu w Linuksie. Nie ma koncepcji superużytkownika „root” i nie podziela dobrze znanych wad tradycyjnych mechanizmów bezpieczeństwa Linuksa (np. zależności od plików binarnych setuid/setgid).
    Bezpieczeństwo niezmodyfikowanego systemu Linux zależy od poprawności jądra, wszystkich uprzywilejowanych aplikacji i każdej z ich konfiguracji. Problem w którymkolwiek z tych obszarów może zagrozić całemu systemowi. Natomiast bezpieczeństwo zmodyfikowanego systemu opartego na wzmocnionym jądrze Linuksa zależy przede wszystkim od poprawności jądra i konfiguracji jego polityki bezpieczeństwa. Chociaż problemy z poprawnością aplikacji lub konfiguracją mogą pozwolić na ograniczone naruszenie poszczególnych programów użytkownika i demonów systemowych, nie stanowią one zagrożenia bezpieczeństwa dla innych programów użytkownika i demonów systemowych ani dla bezpieczeństwa systemu jako całości.
  3. Do czego ona jest dobra?
    Nowe, ulepszone funkcje bezpieczeństwa systemu Linux zostały zaprojektowane w celu zapewnienia segregacji informacji w oparciu o wymagania dotyczące poufności i integralności. Mają one na celu uniemożliwienie procesom odczytywania danych i programów, manipulowania danymi i programami, omijania mechanizmów bezpieczeństwa aplikacji, wykonywania niezaufanych programów lub ingerowania w inne procesy z naruszeniem polityki bezpieczeństwa systemu. Pomagają również ograniczyć potencjalne szkody, które mogą być spowodowane przez złośliwe oprogramowanie lub błędne programy. Powinny być również przydatne, aby zapewnić, że użytkownicy z różnymi uprawnieniami w zakresie bezpieczeństwa mogą korzystać z tego samego systemu w celu uzyskania dostępu do różnych rodzajów informacji o różnych wymaganiach dotyczących bezpieczeństwa bez narażania tych wymagań.
  4. Jak mogę otrzymać kopię?
    Wiele dystrybucji Linuksa zawiera już wbudowaną obsługę SELinux jako domyślną funkcję lub jako opcjonalny pakiet. Podstawowy kod strefy użytkownika SELinux jest dostępny pod adresem GitHub. Użytkownicy końcowi powinni zasadniczo korzystać z pakietów dostarczanych przez ich dystrybucję.
  5. Co zawiera twoje wydanie?
    Wersja SELinux wydana przez NSA zawiera podstawowy kod przestrzeni użytkownika SELinux. Obsługa SELinux jest już zawarta w głównym jądrze Linuksa 2.6, dostępnym na kernel.org. Podstawowy kod środowiska użytkownika SELinux składa się z biblioteki do binarnej manipulacji polityką (libsepol), kompilatora polityk (checkpolicy), biblioteki aplikacji bezpieczeństwa (libselinux), biblioteki narzędzi do zarządzania politykami (libsemanage) i kilku narzędzi związanych z politykami ( politykacoreutils).
    Oprócz jądra obsługującego SELinux i podstawowego kodu przestrzeni użytkownika, będziesz potrzebować polityki i niektórych załatanych pakietów przestrzeni użytkownika SELinux, aby używać SELinux. Polisę można uzyskać m.in Projekt polityki referencyjnej SELinux.
  6. Czy mogę zainstalować wzmocnionego Linuksa na istniejącym systemie Linux?
    Tak, możesz zainstalować tylko modyfikacje SELinux na istniejącym systemie Linux lub możesz zainstalować dystrybucję Linuksa, która już zawiera obsługę SELinux. SELinux składa się z jądra Linuksa z obsługą SELinux, podstawowego zestawu bibliotek i narzędzi, niektórych zmodyfikowanych pakietów użytkownika oraz konfiguracji zasad. Aby zainstalować go w istniejącym systemie Linux, który nie obsługuje SELinux, musisz być w stanie skompilować oprogramowanie, a także mieć inne wymagane pakiety systemowe. Jeśli twoja dystrybucja Linuksa zawiera już obsługę SELinux, nie musisz budować ani instalować wersji SELinux NSA.
  7. Jak kompatybilny jest Linux ze wzmocnionymi zabezpieczeniami z niezmodyfikowanym Linuksem?
    Linux z ulepszonymi zabezpieczeniami zapewnia kompatybilność binarną z istniejącymi aplikacjami Linux i istniejącymi modułami jądra Linux, ale niektóre moduły jądra mogą wymagać modyfikacji, aby poprawnie współdziałały z SELinux. Te dwie kategorie zgodności zostały szczegółowo omówione poniżej:

    • Kompatybilność aplikacji
      SELinux zapewnia kompatybilność binarną z istniejącymi aplikacjami. Rozszerzyliśmy struktury danych jądra o nowe atrybuty bezpieczeństwa i dodaliśmy nowe wywołania API dla aplikacji zabezpieczających. Nie zmieniliśmy jednak żadnych struktur danych widocznych dla aplikacji, ani interfejsu żadnych istniejących wywołań systemowych, więc istniejące aplikacje mogą nadal działać tak długo, jak pozwala na to polityka bezpieczeństwa.
    • Kompatybilność modułów jądra
      Początkowo SELinux zapewniał tylko wstępną kompatybilność z istniejącymi modułami jądra; konieczna była ponowna kompilacja takich modułów ze zmodyfikowanymi nagłówkami jądra, aby uwzględnić nowe pola bezpieczeństwa dodane do struktur danych jądra. Ponieważ LSM i SELinux są teraz zintegrowane z głównym nurtem jądra Linuksa 2.6, SELinux zapewnia teraz kompatybilność binarną z istniejącymi modułami jądra. Jednak niektóre moduły jądra mogą nie współpracować dobrze z SELinux bez modyfikacji. Na przykład, jeśli moduł jądra bezpośrednio przydziela i konfiguruje obiekt jądra bez użycia normalnych funkcji inicjalizacji, wówczas obiekt jądra może nie mieć odpowiednich informacji o bezpieczeństwie. Niektóre moduły jądra mogą również nie mieć odpowiednich kontroli bezpieczeństwa ich działania; wszelkie istniejące wywołania funkcji jądra lub funkcji uprawnień również spowodują sprawdzenie uprawnień SELinux, ale do wyegzekwowania zasad MAC mogą być wymagane bardziej szczegółowe lub dodatkowe kontrole.
      Linux o zwiększonych zabezpieczeniach nie powinien stwarzać problemów z interoperacyjnością ze zwykłymi systemami Linux, jeśli wszystkie niezbędne operacje są dozwolone przez konfigurację polityki bezpieczeństwa.
  8. Jaki jest cel przykładowej konfiguracji polityki bezpieczeństwa?
    Na wysokim poziomie celem jest zademonstrowanie elastyczności i bezpieczeństwa wymuszonych kontroli dostępu oraz zapewnienie prostego działającego systemu z minimalnymi zmianami aplikacji. Na niższym poziomie polityka ma zbiór celów opisanych w dokumentacji polityki. Cele te obejmują kontrolowanie dostępu do nieprzetworzonych danych, ochronę integralności jądra, oprogramowania systemowego, informacji o konfiguracji systemu i dzienników systemowych, ograniczanie potencjalnych szkód, które mogą być spowodowane wykorzystaniem luki w zabezpieczeniach procesu wymagającego uprawnień, ochronę uprzywilejowanych procesów przed wykonywaniem złośliwych kodu, chronić rolę administratora i domenę przed logowaniem bez uwierzytelnienia użytkownika, zapobiegać ingerencji zwykłych procesów użytkownika w procesy systemowe lub administracyjne oraz chronić użytkowników i administratorów przed wykorzystywaniem luk w ich przeglądarkach przez złośliwy kod mobilny.
  9. Dlaczego Linux został wybrany jako platforma bazowa?
    Linux został wybrany jako platforma do początkowej implementacji referencyjnej tej pracy ze względu na rosnący sukces i otwarte środowisko programistyczne. Linux zapewnia doskonałą okazję do zademonstrowania, że ​​ta funkcjonalność może odnieść sukces w systemie operacyjnym hosta, a jednocześnie przyczynić się do bezpieczeństwa powszechnie używanego systemu. Platforma Linux zapewnia również doskonałą okazję do uzyskania jak najszerszego wglądu w tę pracę i być może posłuży jako podstawa do dodatkowych badań nad bezpieczeństwem przez innych entuzjastów.
  10. Dlaczego wykonałeś tę pracę?
    Narodowe Laboratorium Badań nad Bezpieczeństwem Informacji Agencja Bezpieczeństwa Narodowego jest odpowiedzialna za badania i rozwój zaawansowanych technologii, aby umożliwić NSA dostarczanie rozwiązań, produktów i usług w zakresie bezpieczeństwa informacji dla infrastruktur informacyjnych o kluczowym znaczeniu dla interesów bezpieczeństwa narodowego USA.
    Stworzenie realnego, bezpiecznego systemu operacyjnego pozostaje głównym wyzwaniem badawczym. Naszym celem jest stworzenie wydajnej architektury, która zapewnia niezbędne wsparcie dla bezpieczeństwa, uruchamia programy w sposób w dużej mierze przejrzysty dla użytkownika i jest atrakcyjna dla dostawców. Uważamy, że ważnym krokiem w osiągnięciu tego celu jest pokazanie, w jaki sposób mechanizmy wymuszonej kontroli dostępu mogą zostać z powodzeniem zintegrowane z głównym systemem operacyjnym.
  11. Jak to się ma do poprzednich badań OS NSA?
    Naukowcy z National Assurance Research Laboratory NSA nawiązali współpracę z Secure Computing Corporation (SCC) w celu opracowania wydajnej i elastycznej architektury egzekwowania opartej na mechanizmie Type Enforcement, którego pionierem był system LOCK. NSA i SCC opracowały dwie prototypowe architektury oparte na Machu: DTMach i DTOS (http://www.cs.utah.edu/flux/dtos/). NSA i SCC współpracowały następnie z Flux Research Group z University of Utah, aby przenieść architekturę do systemu operacyjnego Fluke Research. Podczas tej migracji architektura została udoskonalona, ​​aby zapewnić lepszą obsługę dynamicznych polityk bezpieczeństwa. Ta ulepszona architektura została nazwana Flask (http://www.cs.utah.edu/flux/flask/). Teraz NSA zintegrowała architekturę Flask z systemem operacyjnym Linux, aby udostępnić tę technologię szerszej społeczności programistów i użytkowników.
  12. Czy Linux ze zwiększonymi zabezpieczeniami jest niezawodnym systemem operacyjnym?
    Wyrażenie „Zaufany system operacyjny” ogólnie odnosi się do systemu operacyjnego, który zapewnia wystarczającą obsługę warstwowych zabezpieczeń i sprawdzania poprawności, aby spełnić określony zestaw wymagań rządowych. Ulepszony system Linux zawiera przydatne informacje z tych systemów, ale skupia się na wymuszonej kontroli dostępu. Pierwotnym celem rozwoju Linuksa z ulepszonymi zabezpieczeniami było stworzenie użytecznej funkcjonalności, która zapewnia wymierne korzyści w zakresie bezpieczeństwa w szerokim zakresie rzeczywistych środowisk, aby zademonstrować tę technologię. SELinux sam w sobie nie jest zaufanym systemem operacyjnym, ale zapewnia krytyczną funkcję bezpieczeństwa — wymuszoną kontrolę dostępu — niezbędną dla zaufanego systemu operacyjnego. SELinux został zintegrowany z dystrybucjami Linuksa, które zostały ocenione zgodnie z profilem Labeled Security Protection Profile. Informacje o przetestowanych i przetestowanych produktach można znaleźć na stronie http://niap-ccevs.org/.
  13. Czy ona naprawdę jest chroniona?
    Koncepcja bezpiecznego systemu obejmuje wiele atrybutów (na przykład bezpieczeństwo fizyczne, bezpieczeństwo personelu itp.), a Linux z ulepszonymi zabezpieczeniami obejmuje tylko bardzo wąski zestaw tych atrybutów (to znaczy kontrole egzekwowania systemu operacyjnego). Innymi słowy, „bezpieczny system” oznacza wystarczająco bezpieczny, aby chronić niektóre informacje w świecie rzeczywistym przed prawdziwym przeciwnikiem, przed którym ostrzega się właściciela i/lub użytkownika informacji. Linux z ulepszonymi zabezpieczeniami ma na celu jedynie zaprezentowanie wymaganych kontroli w nowoczesnym systemie operacyjnym, takim jak Linux, więc jest mało prawdopodobne, aby sam pasował do jakiejkolwiek interesującej definicji bezpiecznego systemu. Wierzymy, że technologia zademonstrowana w udoskonalonym systemie Linux będzie przydatna dla osób budujących bezpieczne systemy.
  14. Co zrobiłeś, aby poprawić gwarancję?
    Celem tego projektu było dodanie wymuszonej kontroli dostępu przy minimalnych zmianach w Linuksie. Ten ostatni cel poważnie ogranicza to, co można zrobić, aby poprawić gwarancję, więc nie było żadnych prac nad poprawą gwarancji dla Linuksa. Z drugiej strony, ulepszenia opierają się na wcześniejszych pracach nad projektowaniem architektury bezpieczeństwa o wysokim poziomie bezpieczeństwa, a większość tych zasad projektowych została przeniesiona do systemu Linux z ulepszonymi zabezpieczeniami.
  15. Czy CCEVS oceni Linuksa ze zwiększonym bezpieczeństwem?
    Sam Linux z ulepszonymi zabezpieczeniami nie jest przeznaczony do rozwiązywania pełnego zestawu problemów związanych z bezpieczeństwem reprezentowanych przez profil bezpieczeństwa. Chociaż możliwa byłaby ocena tylko jego bieżącej funkcjonalności, uważamy, że taka ocena miałaby ograniczoną wartość. Jednak współpracowaliśmy z innymi osobami, aby uwzględnić tę technologię w dystrybucjach Linuksa, które zostały ocenione, oraz dystrybucjach, które są w fazie oceny. Informacje o przetestowanych i przetestowanych produktach można znaleźć na stronie http://niap-ccevs.org/.
  16. Czy próbowałeś naprawić jakieś luki w zabezpieczeniach?
    Nie, nie szukaliśmy ani nie znaleźliśmy żadnych luk w trakcie naszej pracy. Wnieśliśmy tylko tyle niezbędnego minimum, aby dodać nasze nowe narzędzia.
  17. Czy ten system jest zatwierdzony do użytku rządowego?
    Linux ze wzmocnionymi zabezpieczeniami nie ma specjalnego ani dodatkowego zatwierdzenia do użytku rządowego w porównaniu z jakąkolwiek inną wersją Linuksa.Linux ze wzmocnionymi zabezpieczeniami nie ma specjalnego ani dodatkowego zatwierdzenia do użytku rządowego w porównaniu z jakąkolwiek inną wersją Linuksa.
  18. Czym różni się to od innych inicjatyw?
    Linux z ulepszonymi zabezpieczeniami ma dobrze zdefiniowaną architekturę elastycznej wymuszonej kontroli dostępu, która została eksperymentalnie przetestowana z kilkoma prototypowymi systemami (DTMach, DTOS, Flask). Szczegółowe badania dotyczące zdolności architektury do obsługi szerokiego zakresu polityk bezpieczeństwa zostały przeprowadzone i są dostępne w http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    Architektura zapewnia precyzyjną kontrolę nad wieloma abstrakcjami jądra i usługami, które nie są kontrolowane przez inne systemy. Niektóre z wyróżniających cech systemu Linux z rozszerzonymi zabezpieczeniami to:

    • Czyste oddzielenie polityki od praw egzekucyjnych
    • Dobrze zdefiniowane interfejsy zasad
    • Niezależność od określonych polityk i języków polityki
    • Niezależność od określonych formatów i treści etykiet zabezpieczających
    • Oddzielne etykiety i elementy sterujące dla obiektów i usług jądra
    • Buforowanie decyzji o dostępie w celu zwiększenia wydajności
    • Wsparcie dla zmian zasad
    • Kontrola nad inicjalizacją i dziedziczeniem procesów oraz wykonywaniem programów
    • Zarządzanie systemami plików, katalogami, plikami i opisami otwartych plików
    • Zarządzanie gniazdami, komunikatami i interfejsami sieciowymi
    • Kontrola nad wykorzystaniem „Możliwości”
  19. Jakie są ograniczenia licencyjne dla tego systemu?
    Cały kod źródłowy znaleziony na stronie https://www.nsa.gov, jest rozpowszechniany na tych samych warunkach, co oryginalne kody źródłowe. Na przykład poprawki do jądra Linuksa i poprawki do wielu istniejących narzędzi dostępnych tutaj są wydawane zgodnie z warunkami Powszechna Licencja Publiczna GNU (GPL).
  20. Czy istnieją kontrole eksportu?
    Nie ma dodatkowych kontroli eksportu dla Linuksa z rozszerzonymi zabezpieczeniami w porównaniu z jakąkolwiek inną wersją Linuksa.
  21. Czy NSA planuje używać go w kraju?
    Z oczywistych względów NSA nie komentuje wykorzystania operacyjnego.
  22. Czy oświadczenie Secure Computing Corporation z 26 lipca 2002 r. zmienia stanowisko NSA, że SELinux został udostępniony na licencji GNU General Public License?
    Stanowisko NSA nie uległo zmianie. NSA nadal uważa, że ​​warunki Powszechnej Licencji Publicznej GNU regulują używanie, kopiowanie, dystrybucję i modyfikację SELinux. Cm. Komunikat prasowy NSA z 2 stycznia 2001 r.
  23. Czy NSA wspiera oprogramowanie open source?
    Inicjatywy NSA w zakresie bezpieczeństwa oprogramowania obejmują zarówno oprogramowanie własnościowe, jak i oprogramowanie typu open source, aw naszych działaniach badawczych z powodzeniem stosujemy modele zarówno własnościowe, jak i typu open source. Praca NSA nad poprawą bezpieczeństwa oprogramowania jest motywowana jednym prostym celem: jak najlepszym wykorzystaniem naszych zasobów, aby zapewnić klientom NSA najlepsze możliwe opcje bezpieczeństwa w ich najczęściej używanych produktach. Celem programu badawczego NSA jest rozwijanie postępów technologicznych, którymi można podzielić się ze społecznością programistów za pośrednictwem różnych mechanizmów transferu. NSA nie popiera ani nie promuje żadnego konkretnego oprogramowania ani modelu biznesowego. Zamiast tego NSA promuje bezpieczeństwo.
  24. Czy NSA obsługuje Linuksa?
    Jak wspomniano powyżej, NSA nie popiera ani nie promuje żadnego konkretnego oprogramowania ani platformy; NSA przyczynia się tylko do zwiększenia bezpieczeństwa. Architektura Flask zademonstrowana w referencyjnej implementacji SELinux została przeniesiona do kilku innych systemów operacyjnych, w tym Solaris, FreeBSD i Darwin, przeniesiona do hiperwizora Xen i zastosowana w aplikacjach takich jak X Window System, GConf, D-BUS i PostgreSQL . Koncepcje architektury Flask mają szerokie zastosowanie w szerokiej gamie systemów i środowisk.

Współpraca

  1. Jak planujemy wchodzić w interakcje ze społecznością Linuksa?
    Mamy zestaw stron internetowych w NSA.gov, który będzie naszym głównym sposobem publikowania informacji o Linuksie ze zwiększonym bezpieczeństwem. Jeśli jesteś zainteresowany Linuksem z ulepszonymi zabezpieczeniami, zachęcamy do dołączenia do listy mailingowej programistów, przejrzenia kodu źródłowego i podzielenia się swoją opinią (lub kodem). Aby dołączyć do listy mailingowej deweloperów, zobacz Strona listy mailingowej programistów SELinux.
  2. Kto może pomóc?
    SELinux jest teraz utrzymywany i ulepszany przez społeczność oprogramowania open source Linux.
  3. Czy NSA finansuje dalsze prace?
    NSA nie rozważa obecnie propozycji dalszych prac.
  4. Jaki rodzaj wsparcia jest dostępny?
    Zamierzamy rozwiązywać problemy za pośrednictwem listy mailingowej [email chroniony], ale nie będziemy w stanie odpowiedzieć na wszystkie pytania związane z konkretną witryną.
  5. Kto pomógł? Co oni zrobili?
    Prototyp Linuksa o ulepszonych zabezpieczeniach został opracowany przez NSA we współpracy z partnerami badawczymi z NAI Labs, Secure Computing Corporation (SCC) i MITER Corporation. Znacznie więcej materiału pojawiło się po pierwszym publicznym wydaniu. Zobacz listę uczestników.
  6. Jak mogę dowiedzieć się więcej?
    Zachęcamy do odwiedzania naszych stron internetowych, czytania dokumentacji i artykułów z poprzednich badań oraz do zapisania się na naszą listę mailingową. [email chroniony]

Czy uważasz, że tłumaczenie jest przydatne? Napisz komentarze!

Źródło: www.habr.com

Dodaj komentarz