Słyszę wiele rozmów na temat zbroi, chcę wiedzieć, co następuje:
- Co to jest apparmor?
- Jak działa apparmor?
Apparmor to system obowiązkowej kontroli dostępu (lub MAC). Wykorzystuje ulepszenia jądra LSM, aby ograniczyć programy do niektórych zasobów. AppArmor robi to z profilami załadowanymi do jądra podczas uruchamiania systemu. Apparmor ma dwa rodzaje trybów profilu, egzekwowania i składania skarg. Profile w trybie wymuszania wymuszają reguły tego profilu i zgłaszają próby naruszenia zasad w syslog
lub auditd
. Profile w trybie narzekań nie wymuszają żadnych reguł profilowych, rejestrują jedynie próby naruszenia zasad.
W Ubuntu Apparmor jest instalowany domyślnie. Ogranicza aplikacje do profili, aby określić, do jakich plików i uprawnień ma dostęp program. Niektóre aplikacje będą miały własne właściwości, a więcej można znaleźć w apparmor-profiles
pakiecie.
Możesz zainstalować apparmor-profiles
, uruchamiając sudo apt-get install apparmor-profiles
.
Znalazłem dobry przykład Apparmor na forach Ubuntu, który przepisałem na ten post.
Apparmor to platforma bezpieczeństwa, która zapobiega przekształcaniu aplikacji w zło. Na przykład: Jeśli uruchomię Firefoksa i odwiedzę złą stronę, która próbuje zainstalować złośliwe oprogramowanie, które usunie mój
home
folder, Apparmor ma ograniczenia w Firefoksie, ale uniemożliwia mu robienie czegoś, czego nie chcę (np. Uzyskiwanie dostępu do mojej muzyki, dokumentów itp.). W ten sposób nawet jeśli Twoja aplikacja zostanie naruszona, nie możesz wyrządzić szkody.
apparmor-utils
Pakiet zawiera narzędzia wiersza poleceń do konfigurowania AppArmor. Za jego pomocą możesz zmienić tryb wykonywania Apparmor, znaleźć status profilu, utworzyć nowe profile itp.
Oto najczęstsze polecenia:
Uwaga: Profile są przechowywane w/etc/apparmor.d/
sudo apparmor_status
. Otrzymasz listę wszystkich profili * załadowanych, wszystkich profili w trybie egzekwowania, wszystkich profili w trybie narzekań, jakie procesy są zdefiniowane w narzucaniu / narzekaniu itp. sudo aa-complain /path/to/bin
, gdzie /path/to/bin
jest bin
folder programów . Na przykład uruchomienie: sudo aa-complain /usr/bin/firefox
spowoduje przejście Firefoksa w tryb narzekań.sudo aa-enforce /path/to/bin
do wymuszenia profil programów. sudo aa-complain /etc/apparmor.d/*
i sudo aa-enforce.d/*
. Aby załadować profil do jądra, którego byś użył apparmor_parser
. Możesz ponownie załadować profile za pomocą -r
parametru.
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
który skutecznie drukuje zawartość profile.name
parsera Apparmor.-r
parametru:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
sudo service apparmor reload
Aby wyłączyć profil, który odwołuje się go /etc/apparmor.d/disable/
za pomocą ln
tak: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
uruchom: sudo apparmor_parser -R /etc/apparmor.d/profile.name
.
Uwaga: Nie mylapparmor_parser -r
z nimi,apparmor_parser -R
NIE SĄ TAM SAMĄ RZECZĄ!
/etc/apparmor.d/disable/
a następnie załaduj go za pomocą -a
parametru.sudo rm /etc/apparmor.d/disable/profile.name
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
sudo service apparmor stop
i usunąć moduł jądra za pomocąsudo update-rc.d -f apparmor defaults
sudo service apparmor start
i ładuj moduły jądra za pomocąsudo update-rc.d apparmor defaults
Profile są przechowywane /etc/apparmor.d/
i nazywane po pełnej ścieżce do pliku wykonywalnego, który profilują, zastępując „/” na „.”. Na przykład /etc/apparmor.d/bin.ping
jest profil o ping
w /bin
.
Istnieją dwa główne typy wpisów używanych w profilach:
Wpisy ścieżki określają, do których plików aplikacja może uzyskać dostęp.
Wpisy zdolności określają, jakich uprawnień może używać proces.
Przyjrzyjmy się profilowi ping
znajdującemu się etc/apparmor.d/bin.ping
jako przykład.
#include <tunables/global>
/bin/ping flags=(complain) {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
/bin/ping mixr,
/etc/modules.conf r,
}
#include <tunables/global>
Uwzględnia plik global
w katalogu tunables
, pozwala to na umieszczenie instrukcji dotyczących wielu aplikacji we wspólnym pliku.
/bin/ping flags=(complain)
ustawia ścieżkę do profilowanego programu i ustawia tryb narzekania.
capability net_raw
umożliwia aplikacji dostęp do CAP_NET_RAW Posix.1e
funkcji.
/bin/ping mixr
umożliwia aplikacji odczyt i wykonanie dostępu do pliku.
/etc/modules.conf r,
r
Daje aplikacja odczytu przywileje/etc/modules.conf
Uwaga: po utworzeniu / edycji profilu należy ponownie załadować profil, aby zmiany odniosły skutek.
Oto lista uprawnień, których możesz użyć:
r
- przeczytaj w
- pisać ux
- Nieograniczone wykonanie Ux
- Unstrained Execute - szoruj środowisko px
- Wykonanie profilu dyskretnego Px
- Wykonywanie profilu dyskretnego - szorowanie środowiska ix
- Dziedzicz wykonanie m
- pozwalają PROT_EXEC
z mmap(2)
połączeń l
- link
Mam kilka innych pomocnych linków do Ciebie: Wiki.Ubuntu.com Ubuntuforums.org
Przewodniki Apparmor dla Ubuntu 12.04 i Ubuntu 12.10
Mam nadzieję, że ci to pomoże.
źródło
Oto cytat z wiki Apparmor :
źródło