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 dostarcza 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.
Zanim utworzysz własny profil dla aplikacji, możesz sprawdzić pakiet profili aplikacji w repozytoriach Ubuntu, aby zobaczyć, czy profil aplikacji, którą chcesz ograniczyć, już istnieje.
Utwórz i uruchom plan 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 / binary
Pozostaw program aa-genprof uruchomiony w terminalu, 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 S klawisz, aby zeskanować dziennik systemu dla zdarzeń AppArmor.
Dla każdego zdarzenia 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 bezpieczeństwa / 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 reprezentującego terminal
Po zakończeniu procesu pojawi się monit o zapisanie nowego profilu AppArmor.
Włączanie trybu skargi i poprawianie profilu
Po utworzeniu profilu umieść go w "trybie reklamacji", gdzie AppArmor nie ogranicza działań, które 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 użyciu go normalnie w trybie reklamowania, 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 / 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 ręcznie dostosować. Jednak powyższe narzędzia prowadzą użytkownika przez proces.