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ć:

[root@localhost /]# 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:

[root@localhost /]# 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.

[root@localhost /]# setenforce 0
[root@localhost /]# getenforce
Permissive
[root@localhost /]# 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.

 


Podobne Tematy:

  • Dexter

    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

      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.

      • 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

          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?

        • 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 ;)