Jak SELINUX zwiększa bezpieczeństwo Linuksa?
Podstawowy system zabezpieczeń plików w Linuksie opiera się o uznaniową kontrolę dostępu (DAC - Discretionary Access Control) z rozszerzeniem EDAC (suid, sgid oraz "sticky bit"). To rozwiązanie zostało "oddziedziczone" od systemu UNIX i jest powszechnie znane. Możliwe wprowadzenie list kontroli dostępu (ACL), co znacznie zwiększa możliwości konfiguracji dostępu do plików i obiektów. Mechanizm ACL wykorzystuje możliwość wprowadzania dodatkowych atrybutów w systemach plikowych. Z tej możlwiości korzysta także SELINUX wprowadzając swe etykiety jako dodatkowe atrybuty:
getfattr -d -m ".*" home/tomekb/file security.selinux="unconfined_u:object_r:user_home_t:s0" # etykieta SELinux filesystem.posix_acl_access=0sAgAAAAEABg… # etykieta dostępu ACL (skrócona) trusted.SGI_ACL_FILE=0sAAAABQAAAAH… # format zapisu atrybutu ACL w systemie plików user.comment="This is a comment" # atrybut wprowadzony przez użytkownika (setfattr)
SELINUX wykorzystuje nadane przez siebie etykiety zgodnie z wybraną polityką bezpieczeństwa. Domyślną polityką jest zazwyczaj polityka celowa. Bardziej złożone polityki Multilevel Security (MLS) i Multicategory Security (MCS) trzeba zainstalować dodatkowo.
UWAGI:
W swej podstawowej wersji polityka targeted jest zorientowana na zabezpieczenie serwisów systemowych, a nie programów użytkowych.
Zachowuje standardowe mechanizmy logowania się użytkowników - nadaje jednak odpowiednie etykiety (labels) np. plikom /usr/bin/passwd /etc/shadow itp.
Dodatkowe moduły związane z autoryzacją użytkowników (PAM) są w pełni akceptowane.
Kontrola dostępu do plików przez SELinux (MAC - Mandatory Access Control) jest realizowana jedynie w przypadku, gdy dostęp nie jest zabroniony przez DAC wraz z ACL.
SELinux nie jest bezpośrenio wykorzystywany do ochrony aplikacji użytkowników. Do tego celu można wykorzystać dodatkowy pakiet policycoreutils-sandbox ("piaskownica").
Dodaj komentarz