Dlaczego potrzebujemy SELinux?

14

Nie miałem pojęcia, gdzie został użyty SELinux i co oszczędza atakującemu. Przejrzałem stronę SELinux i przeczytałem podstawowe, ale wciąż nie otrzymuję wskazówek na temat SELinuksa. W przypadku systemu Linux, który zapewnia powłokę SSH, interfejs Apache, aplikację internetową opartą na rolach, MySQL DB, memcached, prawie wszystkie systemy są chronione hasłem, to dlaczego potrzebujemy SELinux?

Krish
źródło

Odpowiedzi:

14

Możesz zobaczyć SELinuksa jako zaporę wywołania systemowego : Polityka dla każdej aplikacji określa, co jest rozsądne dla aplikacji: Serwer nazw może nasłuchiwać na porcie 53, pracować z niektórymi plikami stref w określonym katalogu, wysyłać syslog, .. ., ale nie ma sensu próbować na przykład pracy z plikami w katalogu / home. Egzekwowanie takiej polityki przez SELinux oznacza, że ​​słabsze miejsce w serwerze nazw będzie rozprzestrzeniać się na inne części systemu.

Uważam, że SELinux zapewnia prawdziwą wartość bezpieczeństwa. Ale choć z biegiem lat stało się łatwiejsze do pracy, jest - niestety - nadal dość złożonym systemem. Dobrą rzeczą jest to, że możesz łatwo wyłączyć go dla niektórych usług, bez konieczności wyłączania go dla całego systemu. Zbyt wielu (młodszych?) Sysadminów włącza SELinuksa, gdy tylko napotkają najmniejszy problem z jedną usługą - zamiast selektywnie wyłączać ją dla usługi powodującej problemy.

Troels Arvin
źródło
Ciekawe: jak łatwo wyłączyć niektóre usługi?
Belmin Fernandez,
man -k selinuxjest dobrym miejscem do rozpoczęcia. Zazwyczaj istnieją seboole * _disable_trans, które można ustawić tak, aby wyłączały SELinux na poszczególnych usługach.
jgoldschrafe
2
@jgoldschrafe I tak to jest „łatwe”.
Jürgen A. Erhard
1
„nie ma sensu próbować pracy z plikami w / home” - i nie możesz ograniczyć dostępu serwera DNS do tych plików z uprawnieniami?
symcbean
8

Nie wszystkie problemy bezpieczeństwa można przewidzieć z góry. Jeśli atakującemu uda się wykorzystać lukę w np. Zewnętrznym module httpd, wówczas będzie on miał dostęp do tych samych plików, które uruchamia użytkownik httpd. SELinux dodatkowo ogranicza to, ograniczając je do akcji i kontekstów plików, do których ma dostęp ich domena SELinux.

Ignacio Vazquez-Abrams
źródło
2

Myślę, że termin Obowiązkowa kontrola dostępu całkiem ładnie to podsumowuje. SELinux zapewnia bezpieczniejszy system poprzez bezpieczniejsze jądro, w dużej mierze dzięki implementacji MAC.

użytkownik32302
źródło
2

SELinux wykonuje dobrą robotę, ujawniając złożoność całego systemu Linux.
Ciekawym aspektem bezpieczeństwa jest pytanie „co on robi?”
Cóż, jeśli działa, być może nigdy się nie dowiesz. Jeśli korzystasz z serwera WWW, który po prostu nie działa, możesz nie wiedzieć, że kilka exploitów zostało nawet wypróbowanych przeciwko Twojemu systemowi.
Jeśli chodzi o prywatne firmy, nie wiem. Jeśli potrzebują integralności, którą SELinux zapewnia tabeli, to powinni.
Jeśli chodzi o rząd, istnieją źródła publiczne (lista projektów rządowych i tym podobne), które wydają się wskazywać na to, że MAC jest używany i jest całkiem możliwy. Systemy rządowe, w zależności od wdrożenia i posiadanych informacji, muszą spełniać określone kryteria przed użyciem.
W końcu bezpieczeństwo to tak naprawdę zarządzanie ryzykiem i wybór odpowiedniego poziomu wysiłku.
Również bezpieczeństwo to ciągły wysiłek, a nie coś, co tylko włączasz.

Ansari
źródło