Jak wyłączyć SELinux w CentOS 7?

Przy stawianiu prostego odizolowanego środowiska testowego opartego o CentOS 7 czasem zachodzi potrzeba wyłączenia usług zabezpieczających. Ostatnio pisałem o tym jak wyłączyć firewall w CentOS 7, dziś pora na kolejny system zabezpieczeń – SELinux

Oczywiście firewall i SELinux należy wyłączać tylko wtedy kiedy wiadomo po co się to robi. Nie zalecam zatrzymywania tych usług w systemach produkcyjnych.

Aby sprawdzić czy SELinux bardziej przeszkadza niż pomaga w konkretnym środowisku warto sprawdzić czy w ogóle jest uruchomiony. Wydanie polecenia sestatus pozwoli to określić:

[[email protected] /]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

Jak widać SELinux jest włączony i działa. Kolejny krok to wydanie polecenia getenforce:

[[email protected] /]# getenforce
Enforcing

Mamy więc potwierdzenie, że zabezpieczenia działają. Jeśli chcemy wyłączyć SELinux tylko na chwilę wystarczy wydać polecenie setenforce 0, to polecenie przełączy SELinux w mniej restrykcyjny tryb – permissive.

[[email protected] /]# setenforce 0
[[email protected] /]# getenforce
Permissive
[[email protected] /]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

Jak widać zmienił się tylko tryb pracy usługi. Niestety całkowite jej wyłączenie może nastąpić po restarcie całego serwera. Jednak należy najpierw dokonać zmian w pliku /etc/selinux/config, gdzie należy zmienić linię:

SELINUX=enforcing

na:

SELINUX=disabled

I wykonać restart. Tak oto pozbywamy się kolejnego zabezpieczenia maszyny.

 

Piotr Berent

Piotr Berent od 2002 w pocie czoła pracujący w środowisku IT, obecnie freelancer - Inżynier Systemowy. Entuzjasta wirtualizacji, automatyzacji i rozwiązań opartych o narzędzia open-source.

Przeczytaj także...

5 komentarzy

  1. Dexter napisał(a):

    Ostatnio spędziłem z godzinę na rozkminieniu dlaczego samba w CentOS 6.6 nie pozwalała na zapis plików pomimo odpowiednich uprawnień folderów i konfiguracji zasobu. W końcu znalazłem gdzieś na necie że to jakieś ustawienie od SELinux blokuje domyślnie. W starszych Slackware i Debianach/Ubuntu się z tym nie spotkałem dotychczas i to była dla mnie nowość.

    Nie chcę być złośliwy, ale tak wszyscy zawsze zachwalali jaki to Linux bezpieczny, czyżby praca na uprawnieniach zwykłego usera już nie wystarczała i trzeba robić sobie kolejne warstwy zabezpieczeń?

    • flecht napisał(a):

      W starszych Slackware’ach i Debianach/Ubuntu SELinuksa albo nie ma, albo jest domyślnie wyłączony.
      Linuksy są m.in. dlatego względnie bezpieczne, bo zawierają narzędzia jak powyższe. Sama ich idea do nowych również nie należy.

    • Piotr Berent napisał(a):

      Jasne, że nie jest ot żadne nowum, jednak np. w konkretnej dystrybucji jaką jest CentOS SELinux jest domyślnie włączony. Jest to dobre narzędzie pod warunkiem, że zostanie prawidłowo skonfigurowane.

    • flecht napisał(a):

      Pierwszy kontakt miałem na Fedorze dobrych kilka lat temu i też był domyślnie włączony.
      Swoją drogą, planowany jest jakiś tekst poświęcony konfiguracji SELinuksa?

    • Piotr Berent napisał(a):

      Szczerze powiem, że nie korzystam z tego na żadnej maszynie. Więc moja wiedza w tym zakresie jest mocno ograniczona. Po prostu nie spotkałem się z tym nigdy w mojej pracy, a do zabaw amatorskich na domowych wirtualkach zawsze to wyłączam.
      Mogę poświęcić też ograniczoną liczbę czasu na zdobywanie wiedzy w takim zakresie. Spece.IT jest projektem hobbystycznym i czym możemy to się dzielimy.
      Nie wykluczam jednak, że w ramach włąsnej nauki kiedyś wpis o SELinux powstanie 😉

Dodaj komentarz