Czy SELinux sprawia, że ​​Redhat jest bezpieczniejszy?

10

Czy SELinux sprawia, że ​​Redhat jest bezpieczniejszy?

Nie pamiętam ile razy wyłączyłem SELinux, ponieważ ciągle frustrowało to moją zdolność do uruchamiania rzeczy. Wiele razy nie było żadnego oczywistego powodu, dla którego coś nie działało i musiałem Google, aby dowiedzieć się, dlaczego.

Biorąc pod uwagę, że większość zwykłych użytkowników wyłączy lub osłabi bezpieczeństwo, gdy wydaje się, że przeszkadza, z wyłączeniem poważnych, przedsiębiorczych użytkowników Redhat, czy SELinux jest naprawdę przydatny?

PS. Czy jest jakieś narzędzie, które pomaga Ci rejestrować, śledzić i zarządzać problemami SELinux we wszystkich aplikacjach?

vfclists
źródło

Odpowiedzi:

9

Tak, Selinux zwiększa bezpieczeństwo systemu. Musisz jednak zrozumieć jego pojęcia i mieć przynajmniej podstawową wiedzę na temat selinux i narzędzi do audytu.

Selinux loguje się do /var/log/audit/audit.log (ale upewnij się, że auditd działa), i istnieje wiele narzędzi do rozwiązywania problemów selinux. Prawdopodobnie najprostszym sposobem jest użycie audit2allow

RVS
źródło
17

Tak, SELinux sprawia, że ​​Red Hat (i każda inna dystrybucja Linuksa, która z niego korzysta) jest bezpieczniejsza, zakładając, że jest w użyciu.

SELinux implementuje obowiązkową kontrolę dostępu . Normalne uprawnienia Unix, listy ACL itp. Wprowadzają uznaniową kontrolę dostępu . Obie się uzupełniają.

Aby działać, SELinux wymaga polityki określającej, jakie akcje w systemie mogą być dozwolone. Chociaż możliwe jest utworzenie całej polityki systemowej od zera, większość dystrybucji Linuksa dostarcza politykę opartą na tak zwanej polityce referencyjnej . Oznacza to, między innymi, że konfiguracja SELinuksa dla różnych dystrybucji będzie bardzo podobna. (Większość dystrybucji Linuksa udostępnia politykę referencyjną SELinux w swoich repozytoriach pakietów, choć może nie być domyślnie instalowana).

SELinux działa poprzez ograniczenie użytkowników i procesów do wykonywania tylko działań dozwolonych im w polityce. Domyślnie zasadą jest odmowa, więc jeśli zasada wyraźnie nie zezwala na działanie, to tak się nie dzieje. Właśnie dlatego tak często napotykasz problemy z SELinuksem, który nie pozwala na coś, co próbujesz zrobić.

Z drugiej strony zapobiega to wymykaniu się exploitów, nawet exploitów 0-dniowych. Na przykład, jeśli twój serwer WWW (Apache) zostanie wykorzystany, szkody są ograniczone tylko do tych rzeczy, do których Apache może uzyskać dostęp. Na przykład nie byłby w stanie odczytać twojego /etc/shadowpliku, nawet przy użyciu exploita zdalnego roota. Podczas gdy uprawnienia Unix (DAC) pozwalają rootowi na odczytanie pliku, SELinux (MAC) nie pozwala, aby zagrożony proces przekroczył granice.

Duża gotowość polega na tym, że do usługi musi być załadowany moduł polityki SELinux. Jeśli zainstalujesz na swoim urządzeniu usługę, która nie zawiera modułu zasad SELinuksa, będzie działać bez ograniczeń i będzie mógł robić, co tylko zechce. SELinux nie będzie miał do niego zastosowania.

Kolejną rzeczą, o której powinieneś wiedzieć, jest booleany . Te przestrajalne parametry są dostarczane przez polityki SELinuksa w celu dostosowania ich do konkretnych instalacji oraz zezwalania lub odmowy dostępu w zależności od potrzeb konfiguracji lokalnej. Na przykład możesz przyznać Apache dostęp do udziałów Samby, umożliwić Sambie udostępnianie domowych katalogów użytkowników i wiele innych potencjalnie użytecznych rzeczy, które są niezbędne w niektórych konfiguracjach, ale nie w innych.

Najlepszym przewodnikiem po SELinux, który widziałem obecnie, jest Podręcznik użytkownika Red Hat z ulepszonym bezpieczeństwem w Linuksie . Pomoże Ci szybko rozpocząć pracę, a także uzupełni tło o tym, co się dzieje. Zawiera także obszerny przewodnik rozwiązywania problemów, który pomaga uruchomić proces w SELinux.

To jest użyteczne?

SELinux chroni przed procesami (i użytkownikami, jeśli ograniczyłeś użytkowników) wykonującymi nieoczekiwane rzeczy. Poważnie ogranicza szkody, które może wyrządzić zdalny exploit. Jeśli nigdy nie spotkałeś się z odległym kompromisem, masz (1) szczęście i (2) prawdopodobnie nowy. Jeśli nie pracował zdalnego kompromis, na pewno nie chcesz, aby nigdy się nie powtórzy.

Nie jest to tak przydatne w warunkach domowych , chyba że w domu korzystasz z usług internetowych (a niektórzy to robią). W takim przypadku obowiązują wszystkie powyższe informacje.

SELinux może być ostatnią rzeczą, która stoi pomiędzy twoimi danymi a atakującym z exploitem 0-day, który naprawdę tego chce. Jeśli możesz go użyć, dlaczego nie miałbyś tego zrobić?

Michael Hampton
źródło
3

Myślę, że SELinux po prostu rozszerza tradycyjny system uprawnień, wprowadzając rozszerzone ustawienia uprawnień. Czy to sprawia, że ​​twój system jest bardziej bezpieczny? Myślę, że to zależy od tego, jak używasz SELinux w swoich aplikacjach. Nie jestem też dobry w SELinux, ale jego konfiguracja wymaga więcej wiedzy na temat ograniczeń, jakie może ci zapewnić. Ale wprowadza również wiele problemów, które należy ręcznie zbadać, aby rozwiązać

Troydm
źródło
1
SELinux robi znacznie więcej niż tylko rozszerzanie tradycyjnych uprawnień POSIX. SELinux może na przykład ograniczyć dostęp do niektórych portów sieciowych.
wzzrd
3

Istnieje pakiet, który pomaga użytkownikom znaleźć problemy spowodowane przez SELinux o nazwie setroubleshoot. Zainstaluj, ustaw, aby działał na starcie. Kiedy pojawi się odmowa SELinuksa, zostanie to odnotowane w /var/log/messages. Jeśli zalogujesz się również do GUI, otrzymasz powiadomienie.

Kevin M.
źródło