W związku z tym pytaniem na StackOverflow i zupełnie innym tłumie, jaki tu mamy, zastanawiam się: jakie są powody, aby wyłączyć SELinux (zakładając, że większość ludzi nadal to robi)? Czy chcesz, aby było włączone? Jakie anomalie wystąpiły po pozostawieniu SELinux włączonego? Oprócz Oracle, którzy inni dostawcy mają problemy z obsługą systemów z włączonym SELinux?
Dodatkowe pytanie: Czy komuś udało się uruchomić Oracle na RHEL5 z SELinuksem w trybie wymuszonym? To znaczy, ścisłe byłyby niesamowite, ale nie sądzę, że jest to jeszcze możliwe, więc najpierw bądźmy ukierunkowani ;-)
Zazwyczaj lepiej jest uruchomić SELinux w Permissive niż całkowicie go wyłączyć. Następnie możesz po chwili sprawdzić (via
audit2why
), aby sprawdzić, jakie rodzaje naruszeń zostałyby odrzucone podczas regularnego użytkowania, i stworzyć niestandardowe zasady,audit2allow
jeśli te „naruszenia” są fałszywie pozytywne dla twojej konfiguracji.Zauważyłem, że zachowanie SELinuksa w systemach nie pochodzących z Fedory jest znacznie bardziej dotkliwe niż to, co dostajesz z typowym systemem Fedora / RHEL domyślnie.
Jeśli jeszcze go nie widziałeś, możesz znaleźć edukacyjny Podręcznik użytkownika Fedory SELinux .
źródło
Powody dla:
Powody przeciwko:
To powiedziawszy, jeśli rozważasz SELinux, polecam książkę SELinux przez przykład .
Pracowałem dla firmy , która włączyła SELinux w trybie wymuszania na każdym systemie. Kluczem było dla nas zrozumienie i wykorzystanie programu audit2allow, którego można użyć do tworzenia nowych reguł kontekstowych.
Najpierw wygenerowalibyśmy szablon za pomocą audit2allow, a następnie użyliśmy skryptu, aby go zbudować, w następujący sposób:
Skrypt setup_semodule:
To buduje moduł z szablonu (plik .te), generuje pakiet, a następnie ładuje moduł.
Użyliśmy Puppet do naszego systemu zarządzania konfiguracją i napisaliśmy konfigurację dla Puppet do zarządzania tym wszystkim.
Moduł kukiełkowy SELinux:
źródło
Powodem wyłączenia jest to, że debugowanie może być uciążliwe.
Jednak teraz go nie wyłączamy. Prawie zawsze działamy. Czasami wyłączam to, aby szybko sprawdzić, czy SElinux jest problemem, czy nie.
O wiele łatwiej jest teraz debugować, zwłaszcza jeśli zapoznasz się z audit2allow. Tak naprawdę nie musisz tego rozumieć za pomocą audit2allow, ale czasami może się okazać, że otworzysz się bardziej niż myślisz z audit2allow. Powiedziawszy, że niektóre SELinux jest lepsze niż żadne.
W żadnym wypadku nie jestem ekspertem od SELinux i używam go od kilku lat. Wciąż nie rozumiem podstaw, ale wiem wystarczająco dużo, aby uruchomić aplikacje, w tym te zawarte w dystrybucji i losowe rzeczy skompilowane z sieci.
Główną rzeczą, jaką miałem do wykorzystania są
ls -lZ
(pokaż kontekst SELinux),audit2allow
,chcon
,semodule
,getenforce
,setenforce
i wartości logiczne. Dzięki tym narzędziom udało mi się pobrać każdą aplikację, której potrzebowałem do działania w SELinux.Uważam, że jednym z dużych problemów z debugowaniem problemów z SELinux jest po prostu zapamiętanie, aby sprawdzić problemy z SELinux, gdy mam inne mądre niewytłumaczalne problemy. Zwykle zajmuje mi trochę rozumu, żeby przejść „h! Sprawdź SELinux !!”.
Według strony man bind SELinux jest znacznie bezpieczniejszy niż uruchamianie binda w więzieniu chroot. Wiele innych osób, które mają znacznie więcej wskazówek, niż ja polecam, więc teraz prowadzę to na ślepo. Podejrzewam, że mimo sporadycznych problemów prawdopodobnie warto to zrobić.
źródło
Wyłączyłem SELinux dla AppArmor , uważam, że jest o wiele bardziej przyjazny i łatwy w utrzymaniu niż SELinux.
źródło
Nie ma powodu, aby go wyłączać, gdy można go uruchomić w trybie zezwolenia. Nie będzie zakłócać działania uruchomionej aplikacji i nadal zapewni przydatne rejestrowanie bezpieczeństwa. Jedyny wyjątek dotyczy kontekstów użytkownika: jeśli zmieniasz się między różnymi użytkownikami mieszkającymi w innej instancji Linuksa działającej w chroot, możesz mieć problemy.
źródło
SE Linux nie jest tak beznadziejnie nieprzyjazny jak kiedyś, przynajmniej nie ma go w obsługiwanych komercyjnie dystrybucjach takich jak RHEL5. W przeważającej części możesz to pozostawić włączone i wszystko będzie w porządku z RedHatem. Cokolwiek innego może być zmienne. Problem polega na tym, że profesjonalne usługi serwisowe mające na celu umożliwienie aplikacjom pracy z obsługą SE Linux są dobrym źródłem przychodów dla firm takich jak RedHat i Oracle, więc nie mają motywacji, aby wszystko działało dobrze.
źródło