2Jul

Jak utworzyć profile AppArmor, aby zablokować programy w systemie Ubuntu

AppArmor blokuje programy w systemie Ubuntu, umożliwiając im tylko uprawnienia, których wymagają w normalnym użyciu - szczególnie przydatne w przypadku oprogramowania serwerowego, które może zostać naruszone. AppArmor zawiera proste narzędzia, których możesz użyć do blokowania innych aplikacji.

AppArmor jest domyślnie dołączony do Ubuntu i niektórych innych dystrybucji Linuksa. Ubuntu wysyła AppArmor z kilkoma profilami, ale możesz także tworzyć własne profile AppArmor. Narzędzia AppArmor mogą monitorować wykonanie programu i pomóc w utworzeniu profilu.

Przed utworzeniem własnego profilu dla aplikacji, możesz chcieć sprawdzić pakiet profili aplikacji w repozytoriach Ubuntu, aby zobaczyć, czy profil aplikacji, którą chcesz ograniczyć, już istnieje.

Utwórz &Uruchamianie planu testów

Będziesz musiał uruchomić program, gdy AppArmor go ogląda i przejrzy wszystkie jego normalne funkcje. Zasadniczo powinieneś używać programu tak, jak w normalnym użyciu: uruchom program, zatrzymaj go, przeładuj i używaj wszystkich jego funkcji. Powinieneś zaprojektować plan testów, który przejdzie przez funkcje, które program musi wykonać.

Przed uruchomieniem planu testów uruchom terminal i uruchom następujące polecenia, aby zainstalować i uruchomić program aa-genprof:

sudo apt-get install apparmor-utils

sudo aa-genprof /path/to/ binarny

Pozostaw w routerze aa-genprof,uruchom program i wykonaj plan testów, który zaprojektowałeś powyżej. Im bardziej kompleksowy jest twój plan testów, tym mniej problemów napotkasz później.

Po zakończeniu wykonywania planu testów wróć do terminala i naciśnij klawisz S , aby zeskanować dziennik systemu dla zdarzeń AppArmor.

Dla każdego zdarzenia zostaniesz poproszony o wybranie akcji. Na przykład poniżej możemy zobaczyć, że człowiek /usr/bin/, który wyprofilowaliśmy, wykonał /usr/bin/ tbl. Możemy wybrać, czy /usr/bin/ tbl powinien dziedziczyć ustawienia bezpieczeństwa /usr/bin/, czy powinien działać z własnym profilem AppArmor, czy powinien działać w trybie unconfined.

W przypadku niektórych innych akcji wyświetlane są różne monity - tutaj zezwalamy na dostęp do /dev/ tty, urządzenia reprezentującego terminal

. Po zakończeniu procesu pojawi się monit o zapisanie nowego profilu AppArmor.

Włączanie trybu skargi &Poprawianie profilu

Po utworzeniu profilu, umieść go w "trybie reklamacji", gdzie AppArmor nie ogranicza działań, które może podjąć, ale zamiast tego rejestruje wszelkie ograniczenia, które w przeciwnym razie wystąpiłyby:

sudo aa-narzeka /path/to/ binarnie

Używaj programu normalnieprzez chwilę.Po użyciu go w trybie narzekania, uruchom następujące polecenie, aby przeskanować logi systemowe w poszukiwaniu błędów i zaktualizować profil:

sudo aa-logprof

Korzystanie z trybu egzekwowania w celu zablokowania aplikacji

Po zakończeniu dostosowywania profilu AppArmor, włącz "tryb egzekwowania", aby zablokować aplikację:

sudo aa-enforce /path/to/ binarne

Możesz chcieć uruchomić sudo aa-logprof w przyszłości, aby ulepszyć swój profil.

Profile AppArmor są plikami tekstowymi, dzięki czemu można je otworzyć w edytorze tekstowym i dostosować je ręcznie. Jednak powyższe narzędzia prowadzą użytkownika przez proces.