Odziedziczyliśmy kilka używanych serwerów od innego zespołu. Niektóre z nich mają włączony SELinux, niektóre nie. Z powodu SELinuksa mamy problem z konfiguracją ssh bez hasła, naszego serwera WWW itp. Znaleźliśmy obejście tej strony stosu wymiany , która ma działać:
restorecon -R -v ~/.ssh
Ponieważ jednak nie potrzebujemy uruchamiania SELinuksa do tego, co robimy, może być łatwiej go wyłączyć, niż dla nas, aby pamiętać, że każdy powinien uruchamiać powyższe polecenie cmd na dowolnym katalogu, który potrzebuje uprawnień.
Czy możemy wyłączyć SELinux bez żadnych konsekwencji w przyszłości, czy lepiej po prostu ponownie zilustrować serwer? Należy zwrócić uwagę na jedną rzecz; nasza grupa IT jest bardzo zajęta, więc ponowne obrazowanie serwera nie znajduje się wysoko na liście, chyba że jest to absolutnie konieczne (potrzeba bardzo dobrego uzasadnienia biznesowego) ... lub ktoś przekupi swojego szefa butelką szkockiej lub whisky.
AKTUALIZACJA: Dziękujemy za sugestie i porady dla wszystkich. Wszystkie te serwery będą używane jako wewnętrzne serwery programistyczne. Nie będzie żadnego zewnętrznego dostępu do tych maszyn, więc bezpieczeństwo nie jest dla nas najważniejsze. Nasze obecne serwery, których używamy wszystkie (zgodnie z moją najlepszą wiedzą) nie mają włączonego SELinux. Niektóre z tych, które właśnie nabył mój menedżer, to te, które chcemy wyłączyć, więc wszystko w naszym klastrze jest jednolite.
Odpowiedzi:
SELinux jest funkcją bezpieczeństwa systemu operacyjnego. Został zaprojektowany w celu ochrony niektórych części serwera przed innymi częściami.
Na przykład, jeśli korzystasz z serwera WWW i masz „podatny” kod, który pozwala osobie atakującej na uruchomienie dowolnych poleceń, SELinux może to złagodzić, uniemożliwiając Twojemu serwerowi dostęp do plików, których nie może zobaczyć.
Teraz już można wyłączyć SELinux i nie powinno nic złamać. Serwer będzie działał normalnie.
Ale wyłączysz jedną z funkcji bezpieczeństwa.
źródło
Istnieją różne widoki SELinuksa. W wielu przypadkach niektóre aplikacje nie działają dobrze z SELinux, więc ta decyzja jest dyskusyjna (Oracle jest jednym z przykładów).
Ogólnie rzecz biorąc, SELinux jest mechanizmem chroniącym przed kolejną przeszkodą na drodze złego faceta, który chce obalić twój system.
W moich poprzednich rolach jako administrator systemów w dużych firmach ... ogólnie wyłączyłem SELinux. Nie miałem czasu wyśledzić wszystkich błędów SELinuksa na wszystkich systemach używanych przez użytkowników, programistów i menedżerów.
Przed wyłączeniem rzeczy możesz zacząć od ponownego oznakowania plików w systemie z powrotem do tego, czym powinny być. Najłatwiejszą metodą, jaką znalazłem, jest wprowadzenie polecenia:
LUB
Następnie uruchom ponownie i poczekaj, ponieważ system zajmie tyle samo czasu, aby zweryfikować i zresetować błędne etykiety SELinux w systemie. Po tym możesz być w porządku, ponieważ naprawia i koryguje niezgodne etykiety SELinux, które mogły zostać zmodyfikowane przed próbą administrowania serwerem.
Jednak jeśli nie, system nie ucierpi na tym, że NIE będzie miał SELinux w trybie wymuszania. To tylko dodatkowa warstwa ochrony.
źródło
/sbin/fixfiles onboot
pracował dla mnie w CentOS, a nie ztouch /.autorelabel
. Uruchomieniesealert -a /var/log/audit/audit.log
pokazuje teraz 0 alertów. @mdpc Jaka jest różnica między tymi dwoma poleceniami?Mówiąc najprościej, wyłączenie mechanizmów obowiązkowej kontroli dostępu (MAC), takich jak SELinux, nie jest dobrym pomysłem i może postawić cię w niekorzystnej sytuacji pod względem bezpieczeństwa, jeśli złoczyńca skutecznie obejdzie kontrolę dostępu opartą na nazwie, wdrożoną przez Discretionary Access Control (DAC).
Gdyby to ja zrobiłbym coś takiego
dla większej pewności co do etykiety typu przypisanej rekurencyjnie od
~/.ssh
źródło
Ogólnie rzecz biorąc, nie powinieneś wyłączać SELinux. Istnieją narzędzia, które mogą pomóc Ci zrozumieć, co poszło nie tak. Moim ulubionym jest przykładowe użycie Sealert:
OFC zawsze możesz ustawić SELinux w trybie zezwalającym na debugowanie, ale utrzymywanie wyłączonego lub zezwalającego SELinuksa jest uznawane przez Red Hat za poważną lukę w zabezpieczeniach.
źródło