Apparmor, moduł bezpieczeństwa jądra Linux, może ograniczyć dostęp do systemu za pomocą zainstalowanego oprogramowania za pomocą profili specyficznych dla aplikacji. Apparmor jest definiowany jako obowiązkowy system kontroli dostępu lub system Mac. Niektóre profile są instalowane w momencie instalacji pakietu, a Apparmor zawiera niektóre profile dodatków z pakietów Apparmor-profiles. Pakiet Apparmor jest domyślnie instalowany na Ubuntu, a wszystkie domyślne profile są ładowane w momencie uruchamiania systemu. Profile zawierają listę reguł kontroli dostępu, które są przechowywane w itp./Apparmor.D/.
Możesz także chronić każdą zainstalowaną aplikację, tworząc profil Apparmor tej aplikacji. Profile Apparmor mogą znajdować się w jednym z dwóch trybów: tryb „narzekać” lub „egzekwowanie”. System nie egzekwuje żadnych zasad, a naruszenia profilu są akceptowane za pomocą dzienników w trybie skarżącym. Ten tryb jest lepszy do przetestowania i opracowania dowolnego nowego profilu. Reguły są egzekwowane przez system w trybie wymuszonym, a jeśli wystąpi jakiekolwiek naruszenie dla dowolnego profilu aplikacji, nie będzie dozwolona żadna operacja dla tej aplikacji, a dziennik raportu zostanie wygenerowany w Syslog lub Auditd. Możesz uzyskać dostęp do syslog z lokalizacji, /var/log/syslog
. Jak sprawdzić istniejące profile Apparmor swojego systemu, zmienić tryb profilu i utwórz nowy profil, pokazano w tym artykule.
Sprawdź istniejące profile Apparmor
Apparmor_status Polecenie służy do wyświetlania listy profili Apparmor ze statusem. Uruchom polecenie za zgodą root.
$ sudo apparmor_status
Lista profili można zmieniać w zależności od systemu operacyjnego i zainstalowanych pakietów. Następujące dane wyjściowe pojawią się w Ubuntu 17.10. Pokazano, że 23 profile są ładowane jako profile Apparmor i wszystkie są ustawione jako tryb wymuszony domyślnie. Tutaj 3 procesy, dhclient, kubki przeglądane i cupsd są zdefiniowane przez profile w trybie wymuszonym i nie ma procesu w trybie skarżącym. Możesz zmienić tryb wykonania dla dowolnego zdefiniowanego profilu.
Zmodyfikuj tryb profilu
Możesz zmienić tryb profilu dowolnego procesu z narzekania na wymuszone lub odwrotnie. Musisz zainstalować Apparmor-Utils pakiet do wykonania tej operacji. Uruchom następujące polecenie i naciśnij 'Y„Gdy poprosi o pozwolenie na zainstalowanie.
$ sudo apt-get instaluj apparmor-utyls
Istnieje profil o nazwie Dhclient który jest ustawiony jako tryb wymuszony. Uruchom następujące polecenie, aby zmienić tryb na tryb narzekania.
$ sudo aa-complain /sbin /dhclient
Teraz, jeśli ponownie sprawdzisz status profili Apparmor, zobaczysz, że tryb wykonania Dhclient został zmieniony na tryb skargi.
Możesz ponownie zmienić tryb na tryb wymuszony, używając następującego polecenia.
$ sudo aa-enforce /sbin /dhclient
Ścieżka do ustawienia trybu wykonania dla wszystkich profili Apparmore jest /etc/apparmor.D/*.
Uruchom następujące polecenie, aby ustawić tryb wykonania wszystkich profili w trybie skarżącym:
$ sudo aa-complain /etc /apparmor.D/*
Uruchom następujące polecenie, aby ustawić tryb wykonania wszystkich profili w trybie wymuszonym:
$ sudo aa-enforce /etc /apparmor.D/*
Utwórz nowy profil
Wszystkie zainstalowane programy domyślnie nie tworzą profili Apparmore. Aby system był bardziej bezpieczny, może być konieczne utworzenie profilu Apparmore dla dowolnej aplikacji. Aby utworzyć nowy profil, musisz znaleźć te programy, które nie są powiązane z żadnym profilem, ale potrzebują bezpieczeństwa. App-Unconfined Polecenie służy do sprawdzenia listy. Zgodnie z wyjściem, pierwsze cztery procesy nie są powiązane z żadnym profilem, a ostatnie trzy procesy są ograniczone przez trzy profile z trybem wymuszonym.
$ sudo aa-inconfined
Załóżmy, że chcesz utworzyć profil procesu NetworkManager, który nie jest ograniczony. Uruchomić aa-genprof polecenie utworzenia profilu. Typ 'F„Aby zakończyć proces tworzenia profilu. Domyślnie każdy nowy profil jest tworzony w trybie wymuszonym. To polecenie utworzy pusty profil.
$ sudo aa-genprof NetworkManager
Żadne reguły nie definiują żadnego nowo utworzonego profilu i możesz zmodyfikować zawartość nowego profilu, edytując następujący plik, aby ustawić ograniczenie dla programu.
$ sudo cat /etc /apparmor.D/usr.sbin.NetworkManager
Załaduj wszystkie profile
Po ustawieniu lub zmodyfikowaniu dowolnego profilu musisz ponownie załadować profil. Uruchom następujące polecenie, aby ponownie załadować wszystkie istniejące profile Apparmor.
$ sudo systemCtl Reload Apparmor.praca
Możesz sprawdzić aktualnie załadowane profile za pomocą następującego polecenia. W wyjściu zobaczysz wpis nowo utworzony profil programu NetworkManager.
$ sudo cat/sys/jądro/bezpieczeństwo/apparmor/profile
Tak więc Apparmor jest użytecznym programem, który zapewnia bezpieczeństwo systemu poprzez ustalenie niezbędnych ograniczeń dla ważnych aplikacji.