Selinux na samouczku Ubuntu

Selinux na samouczku Ubuntu

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
apt-get instaluj selinux
nano/etc/selinux/config
„Ustaw SELINUX na Permissive, SelinuxType na domyślnie”
ponowne uruchomienie

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.

nano/etc/selinux/config
„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
Semanage Boolean -L
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.

sudo -r new_Role_R -i

Użytkownicy mogą również zdalnie łączyć się z serwerem za pośrednictwem SSH z włączoną rolą podczas uruchamiania.

ssh /[email protected]

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

setenforce 0

Aby na stałe wyłączyć edycję /etc/selinux/config i ustaw Selinux na wyłączony.