Wstęp
Selinux to obowiązkowy moduł kontroli dostępu (MAC) przebywający na poziomie jądra systemów Linux. Jest to wspólny rozwój Redhat i NSA wydany około 1998 roku i nadal jest utrzymywany przez społeczność entuzjastów. Domyślnie Ubuntu używa Apparmor, a nie Selinux, który jest podobny pod względem wydajności, ale raczej popularny pod względem prostoty. Jednak Selinux jest dość bezpieczny ze względu na zaangażowanie agencji rządowej. Selinux to aplikacja typu open source, która chroni hosta poprzez izolowanie każdej aplikacji i ograniczenie jej działań. Domyślnie procesy są blokowane przed wykonywaniem jakichkolwiek działań, chyba że wyrażone zostanie wyraźne pozwolenie. Moduł natywnie zapewnia dwie reguły zarządzania poziomem globalnym: dopuszczalne i egzekwujące, które odpowiednio rejestruje każdą naruszoną regułę i zaprzecza dostępu do konkretnego żądania wysyłanego z procesu. Ten samouczek pokazuje, jak z łatwością go używać na Ubuntu.
Jak zainstalować i włączyć
Selinux jest bardzo trudną aplikacją do zainstalowania, ponieważ jeśli nie jest odpowiednio skonfigurowana przed pierwszym ponownym uruchomieniem, sprawi, że cały system operacyjny będzie nie do zabezpieczenia, co oznacza, że wszystko poza początkowym ekranem uruchamiania będzie praktycznie nieosiągalne za pomocą normalnych środków.
Również, jak wspomniano wcześniej, Ubuntu ma już wyrafinowany wysoki poziom obowiązkowego systemu kontroli dostępu, znany jako Apparmor, a zatem musi być wyłączony przed zainstalowaniem Selinux, aby uniknąć wszelkich konfliktów. Użyj następujących instrukcji, aby wyłączyć Apparmor i włączyć Selinux.
sudo /etc /init.D/Apparmor Stop |
aktualizacja apt -get && aktualizowanie -yuf |
„Ustaw SELINUX na Permissive, SelinuxType na domyślnie” |
Ta konfiguracja pliku można otworzyć za pomocą dowolnego edytora tekstu, aby wprowadzić zmiany. Przyczyną przypisywania reguły dopuszczalnej do Setlinux jest udostępnienie systemu operacyjnego, pozostawiając włączoną Selinux. Zdecydowanie zaleca się korzystanie z opcji dopuszczalnej, ponieważ jest bezproblemowa, ale dzienniki naruszało reguły ustawione w Selinux.
dostępne opcje
Selinux jest złożonym i kompleksowym modułem; stąd zawiera wiele funkcji i opcji. To powiedziawszy, większość z tych opcji może nie być przydatna dla wszystkich ze względu na ich egzotyczną naturę. Poniższe opcje to niektóre z podstawowych i przydatnych opcji w tym module. Są więcej niż wystarczające, aby uruchomić Selinux.
Sprawdzić stan: Status SELINUX można sprawdzić bezpośrednio za pomocą okna terminala, które pokazuje podstawowe informacje, takie jak to, czy Selinux jest włączony, katalog root Selinux, nazwa zasady załadowanej, obecny tryb itp. Po ponownym uruchomieniu systemu po zainstalowaniu Selinux użyj następującego polecenia jako użytkownika root z poleceniem sudo. Jeśli twierdzi, że Selinux jest włączony w sekcji statusu, oznacza to, że działa w tle.
root@ubuntu:/home/dondilanga# sestatus |
Zmień globalny poziom uprawnień: Globalny poziom uprawnień stwierdza, jak zachowuje się Selinux, gdy natknie się na regułę. Domyślnie Selinux ustawia się na egzekwowanie, co skutecznie blokuje wszystkie żądania, ale można go zmienić na dopuszczalne, co jest w pewnym sensie łagodne w stosunku do użytkownika, ponieważ umożliwia dostęp, ale loguje wszelkie naruszone reguły w pliku dziennika.
„Ustaw SELINUX na dopuszczalny lub egzekwujący, SELINUXTYPE na domyślnie” |
Sprawdź plik dziennika: Plik dziennika, który podaje naruszone reguły na każde żądanie. To utrzymuje dzienniki tylko wtedy, gdy Selinux jest włączony.
grep selinux/var/log/audyt/audyt.dziennik |
Włącz i wyłącz zasady oraz jakie zabezpieczenia oferują: Jest to jedna z najważniejszych opcji w Selinux, ponieważ pozwala włączyć i wyłączać zasady. Selinux ma dużą liczbę wstępnie budowanych zasad, które określają, czy określone żądanie jest dozwolone, czy nie. Niektóre z tego przykładu to zezwolenie_ftpd_full_access, który określa zdolność usługi FTP do logowania się do lokalnych użytkowników i odczytania wszystkich plików w systemie, zezwala na łączenie się z MySQL, co pozwala użytkownikom łączyć się z MySQL , httpd_can_sendmail, który określa zdolność usługi HTTP do wysyłania wiadomości e-mail itp. , wreszcie uczy, jak ustawiać zasadę lub wyłączanie,
apt-get instal instal PolicyCoreUtils-Python-Utils |
setsebool -p zezwolić_ftpd_full_access on |
Zaawansowane opcje
Zaawansowane opcje to opcje, które pomagają w rozszerzeniu funkcji w Selinux. Istnieje ogromna liczba kombinacji ze względu na kompleksowy charakter Selinux, więc w tym artykule zawiera niektóre z najważniejszych i przydatnych wśród nich.
Kontrola dostępu oparta na rolach (RBAC): RBAC pozwala administratorom przejść na sposób oparty na roli ograniczenia pozwolenia aplikacji. Oznacza to, że użytkownik konkretnej grupy użytkowników może wykonywać lub wykonywać określone czynności. Tak długo, jak użytkownik jest częścią roli, jest w porządku. To jest to samo, co przełączanie na root podczas instalowania aplikacji w Linux z prawami administracyjnymi.
Semanage Login -a -s „MyRole” -R 'S0 -S0: C0.C1023 ' |
Użytkownicy mogą zmienić swoją rolę w następujące polecenie.
Użytkownicy mogą również zdalnie łączyć się z serwerem za pośrednictwem SSH z włączoną rolą podczas uruchamiania.
Pozwól usłudze słuchać niestandardowego portu: Jest to bardzo przydatne w dostosowaniu usługi, na przykład, gdy port FTP jest zmieniany na niestandardowy, aby uniknąć nieautoryzowanych dostępów, Selinux musi być odpowiednio poinformowany, aby umożliwić przejście przez takie porty i funkcjonowanie jak zwykle. Poniższy przykład umożliwia porcie FTP słuchanie portu 992. Podobnie każda usługa zwrócona przez Semanage Port -L może być zastąpiony. Niektóre popularne porty to http_port_t, pop_port_t, ssh_port_t.
semanage port -a -t ftp_port_t -p tcp 992 |
Jak wyłączyć
Wyłączenie SELINUX jest łatwiejsze, ponieważ jest włączone i zainstalowane. Zasadniczo istnieją dwa sposoby tego wyłączenia. Tymczasowo lub na stałe. Wyłączanie Selinux tymczasowo sprawia, że wyłącza się na chwilę do następnego rozruchu, a gdy tylko komputer zostanie ponownie włączony, stan zostanie ponownie uruchomiony. Z drugiej strony stałe wyłączenie Selinux całkowicie zamyka go na zagrożenia; Dlatego mądrym wyborem jest przywrócenie domyślnego apparmora Ubuntu przynajmniej ze względu na bezpieczeństwo systemu.
Poniższe polecenie na terminalu wyłącza go tymczasowo:
Aby na stałe wyłączyć edycję /etc/selinux/config i ustaw Selinux na wyłączony.