AppArmor blokuje programy w systemie Ubuntu, pozwalając im tylko na uprawnienia wymagane 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 sprawdzić, czy profil aplikacji, którą chcesz ograniczyć, już istnieje.
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 / binary
Pozostaw program aa-genprof uruchomiony w terminalu, uruchom program i wykonaj zaplanowany powyżej plan testów. 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 S klawisz, aby zeskanować dziennik systemu dla zdarzeń AppArmor.
Dla każdego wydarzenia zostaniesz poproszony o wybranie akcji. Na przykład, poniżej widzimy, że / usr / bin / man, który wyprofilowaliśmy, wykonał / usr / bin / tbl. Możemy wybrać, czy / usr / bin / tbl powinien dziedziczyć ustawienia zabezpieczeń / usr / bin / man, czy powinien działać z własnym profilem AppArmor, czy powinien działać w trybie unconfined.
W przypadku niektórych innych akcji zobaczysz różne monity - tutaj zezwalamy na dostęp do / dev / tty, urządzenia, które reprezentuje terminal
Po zakończeniu procesu pojawi się monit o zapisanie nowego profilu AppArmor.
Po utworzeniu profilu umieść go w "trybie reklamacji", gdzie AppArmor nie ogranicza działań, jakie może podjąć, ale rejestruje wszelkie ograniczenia, które w przeciwnym razie wystąpiłyby:
sudo aa-complain / path / to / binary
Korzystaj z programu normalnie przez pewien czas. Po normalnym użyciu w trybie reklamowania uruchom następujące polecenie, aby przeskanować dzienniki systemowe pod kątem błędów i zaktualizować profil:
sudo aa-logprof
Po zakończeniu dostosowywania profilu AppArmor włącz "tryb egzekwowania", aby zablokować aplikację:
sudo aa-enforce / path / to / binary
Możesz chcieć uruchomić sudo aa-logprof polecenie w przyszłości, aby ulepszyć swój profil.
Profile AppArmor są plikami tekstowymi, więc możesz je otworzyć w edytorze tekstowym i dostosować je ręcznie. Jednak powyższe narzędzia prowadzą użytkownika przez proces.