Apparmor csomagot, hogy meghatározzák a biztonsági szabályzatokat, linuxoid
A Linux operációs rendszert örökölt Unix biztonsági rendszer alakult ki a 70-es években, amikor a legjobb, de nyilvánvalóan nem elég mára. Minden felhasználónak van teljes cselekvési szabadságot hatáskörén belül, az elv a „mindent vagy semmit”. Ez vezet az a tény, hogy egyes feladatokat gyakran a felhasználó számára biztosítunk sokkal több joggal, mint a ténylegesen szükséges a megoldást. Ezért a felhasználó hozzáférést nyer a rendszer figyelembe jogok néha az szinte teljes ellenőrzése alatt a számítógép.
Mi van még?
AppArmor projekt
Telepítése AppArmor Ubuntu
Verziótól kezdődően 7,04 AppArmor hivatalosan is az Ubuntu tárolókban, így nincs probléma a telepítés ott
$ Sudo apt-get install apparmor apparmor-docs apparmor-modules-forrás apparmor-profilok apparmor-utils
Ezután a szkript panaszkodik, hogy nem tudja befejezni a SETUP hiánya miatt a szükséges kernel modulokat. Így a következő lépés gyűjteni kernel modult.
Először is, a csapat felkészülni az összeállítás azzal a feladattal, hogy ellenőrizze, hogy az összes szükséges csomagokat és letöltés hiányzik:
$ Sudo m-a -v -t készít
Általában szinte minden munkája csökken a standard «sudo apt-get install build-essential». Most össze a modult:
$ Sudo m-a -v -t -f építeni apparmor-modulok
$ Sudo m-a -v -t -f install apparmor-modulok
Összeszerelése után tanácsot betölteni a kernel modul figyeli meghatározott politikák kézzel, hogy ellenőrizze a munka:
$ Sudo modprobe apparmor
FATAL: Error behelyezése apparmor (/lib/modules/2.6.20-15-generic/apparmor/apparmor.ko): Resource ideiglenesen nem érhető el
$ Sudo mcedit /usr/src/linux/.config
CONFIG_SECURITY_SELINUX = n
CONFIG_SECURITY_CAPABILITIES = m
Ellenkező esetben, adjunk hozzá két paraméter „capability.disable = 1” és „selinux = 0” továbbítják a kernelnek. Azonban az én esetemben, az első paraméter, hogy valahogy nem lett figyelembe véve:
$ Dmesg | grep képesség
[19.543828] Ismeretlen boot opciót `capability.disable = 1„: figyelmen kívül hagyva
Ezért egyszerűen eltávolítani a kernel modul:
$ Sudo rmmod képesség
Próbáld újra:
$ Sudo modprobe apparmor
$ Lsmod | grep apparmor
apparmor 55.836 0
aamatch_pcre 16896 1 apparmor
commoncap 8192 1 apparmor
Emellett apparmor modul nem lehet barátja Dazuko, amely általánosan használt on-hozzáférés szkennelés fájlok Antivirus ClamAV. Most fut az egész rendszer:
$ Sudo /etc/init.d/apparmor Start
szerelési securityfs a / sys / kernel / biztonság: kész.
Loading AppArmor profilokat. kész.
Ha minden jól megy ez a beállítás lehet tekinteni zakochennoy AppArmor. A következő lépés a beállítási profilokat.
Elindítása után a démon terhelések összes profil alapjául /etc/apparmor.d könyvtárban.
A szabályozási módok használhatók securityfs fájlrendszer, amelyet fel lehet használni, hogy információt kapjunk a betöltött profilok:
$ Sudo szerelhető -tsecurityfs securityfs / sys / kernel / biztonság
$ Sudo cat / sys / kernel / security / apparmor / profilok
/ Usr / sbin / traceroute (érvényesíteni)
/ Usr / sbin / ntpd (érvényesíteni)
/ Usr / sbin / nscd (érvényesíteni)
/ Usr / sbin / named (érvényesíteni)
/ Usr / sbin / mdnsd (érvényesíteni)
/ Usr / sbin / identd (érvényesíteni)
/ Usr / sbin / dovecot (panaszkodnak)
/ Sbin / syslogd (érvényesíteni)
/ Sbin / syslog-ng (érvényesíteni)
/ Sbin / klogd (érvényesíteni)
/ Bin / ping (érvényesíteni)
AppArmor tudja kezelni profilok két módja van:
1. érvényesíteni - érvényesítése üzemmódban működik a szolgáltatás kizárólag a profil, az összes kísérlet megtörni a szabályok rögzítik syslog;
2. panaszkodnak - megtakarító rend (tanulmány), ebben az esetben, a szolgáltatás a munka csak ellenőrzött bejegyzés jön létre megsérti a profilt. Ez az üzemmód akkor hasznos, ha új profilok és profil beállítások egy adott rendszerben.
Az üzemmód megváltoztatásához egyszerűen nyissa meg a profil fájlt, és adjunk hozzá egy vonal előtt a futtatható fájl „flags = (panaszkodnak)”:
Globálisan az összes profil lefordítani panaszkodnak módban használja a következő parancsot:
$ Sudo echo 1> / sys / kernel / security / apparmor / control / panaszkodik
Edzés után, egy külön alkalmazás újraindítása nélkül minden profilok, lehet alakítani kemény állapotban egy speciális segédprogramot érvényesíteni:
$ Kényszerítése galambdúc
Beállítás / usr / sbin / dovecot kényszerítés módba.
További profilok az / usr / share / doc / apparmor-profilok / extrák. Minden egyes profil egy nevet, amely tartalmazza a teljes elérési utat a futtatható fájl, hanem a használt perjel pontot. Például usr.lib.firefox.firefox.sh. Egy tipikus leírása a profil a következő:
$ Cat /usr/share/doc/apparmor-profiles/extras/usr.lib.firefox.firefox.sh
#include
/usr/lib/firefox/firefox.sh ...
/ Bin / basename mixr,
/ Usr / bin / AOSS Ux,
/ Usr / lib / firefox / * r,
/ Usr / lib / firefox / firefox-bin px,
...
>
$ Cd / etc / apparmor / profiles / extrák
$ Sudo mv * * postfix usr.sbin.post * /etc/apparmor.d/ könyvtárban
$ Mv usr.bin.procmail usr.sbin.sendmail /etc/apparmor.d/ könyvtárban
És kezdődik az első alkalommal a képzési mód:
$ Panaszkodnak /etc/apparmor.d/*postfix*
$ Panaszkodnak /etc/apparmor.d/usr.sbin.post*
$ Panaszkodnak /etc/apparmor.d/usr.bin.procmail
$ Panaszkodnak /etc/apparmor.d/usr.sbin.sendmail
Ezután használjuk Postfix, mint rendesen, finomítani politikáknak a segédprogram „logprof” fordította érvényesítése módban. Miért az előző példában, cserélje ki az összes panaszt érvényesíteni. Másik lehetőség, hogy közvetlenül adja meg a profil helyett egy futtatható fájl magát, majd a megfelelő politikai lesz felvette automatikusan.
Profil létrehozása
Most igyekszünk létrehozni egy új profilt, és ellenőrizze a munkát AppArmor. Annak tesztelésére, válassza ki az összes kedvenc program létrehozása jelszavakat / usr / bin / passwd. Ahhoz, hogy hozzon létre egy új profilt genprof segédprogram (az úton, az összes közművek AppArmor ragadványnevek kezdve AA-):
$ Sudo genprof / usr / bin / passwd
Ez írja a frissített Profil / usr / bin / passwd.
Beállítása a / usr / bin / passwd az energiatakarékos üzemmódot.
Most az alkalmazás futtatásához, amelyhez a profilt létrehozza. Ebben az esetben meg lehet változtatni a jelszót a felhasználó, törlése és hozzon létre egy felhasználói:
$ Sudo adduser sergej
Felhasználó hozzáadása `sergej ...
Ha új csoportot `sergej„(1001) ...
Új felhasználó hozzáadása `sergej" (1001) a csoportosulás sergej ...
Írja be az új UNIX jelszót:
Írja be újra az új UNIX jelszót:
passwd: jelszó módosítva
Módosítása a felhasználói információkat sergej
Egy idő után, nyomja meg a billentyűt S. Ez az üzenetek értelmezésében ellenőrzés a / var / log / messages és frissíteni a megfelelõ részeit /etc/apparmor.d. Íme néhány esemény tartoznak a magazin:
Cheerez míg a gombbal F. Lásd az új profil:
/ Usr / bin / passwd #include
/lib/tls/i686/cmov/libc-*.so mr,
/lib/tls/i686/cmov/libcrypt-*.so mr,
/lib/tls/i686/cmov/libdl-*.so mr,
/ Usr / bin / passwd mr,
>
Most megpróbáljuk eltávolítani a zászlót „m” a közüzemi passwd. On the fly megteheti segítségével apparmor_parser segédprogram:
$ Sudo echo «/ usr / bin / passwd »| apparmor_parser -AD
Ismét megpróbáljuk felvenni NovSU felhasználói:
$ Sudo adduser sergej
Felhasználó hozzáadása `sergej ...
Ha új csoportot `sergej„(1001) ...
Új felhasználó hozzáadása `sergej" (1001) a csoportosulás sergej ...
passwd: Nem állapítható meg a felhasználó nevét.
Hozzáférés megtagadva
Próbálja újra? [Y / n] y
És így tovább. Mi ellenőrizze az eredményt:
$ Cat / etc / passwd | grep sergej
Sergej: x: 1001: 1001. / Főoldal / sergej: / bin / bash
A segédprogram nem tud létrehozni egy jelszót az új felhasználó számára.
De ez még nem minden. Az újonnan létrehozott profil továbbra is működik az energiatakarékos üzemmódot. Egy idő után, azt újra meg kell vizsgálnia a / var / log / messages frissítés profil beállításait. Ehhez használjon segédprogram logprof:
Következő megjeleníti a talált jogsértések profilok, jelezve a profil nevét, programok és tevékenységek. Minden kérdés blokkokra osztjuk. Az első adják az irányítást a gyermek folyamatok ellenőrzött profilt.
Profil: / usr / sbin / galambdúc
Program: galambdúc
Futás: / usr / lib / galambdúc / imap
A súlyosság: Ismeretlen
[(I) nherit] / (P) rofile / (U) nconfined / (D) eny / Abo (r) t / (F) inish
Nyomja meg az R (Megszakítás) kilép a genprof -os eltéréssel minden változást, és F (Finish) nem ugyanaz, de az összes választ készült előzőleg tárolt. Ezeket a paramétereket jelenti:
1. öröklése - leszármazottja fut profilja ugyanolyan, mint a szülő;
2. Profil - leszármazottja a profilját;
3. unconfined - leszármazott nélkül fut profil;
4. Deny - a tilalmat indít gyermek folyamatokat.
Ezt követi a hozzáférés iránti kérelem a funkciók POSIX:
Profil: / usr / sbin / galambdúc
Lehetőség: chown
A súlyosság: 9
[(A) llow] / (D) eny / Abo (r) t / (F) inish
Íme néhány könnyebb. A gomb megnyomásával teszi lehetővé (a példánkban chown hívás) vagy a D tiltják aktív hívást. És a harmadik blokk kérdés merülne fel az utat:
Profil: / usr / sbin / galambdúc
Útvonal: /
Mode: r
A súlyosság: Ismeretlen
[(A) llow] / (D) eny / (G) lob / Glob W / (E) XT / (N) EW / Abo (r) t / (F) inish
Ezt ismeri beállítások akkor nyomja meg a N és adjon meg egy új utat, amely rögzítésre kerül a profil. Ez egy nagyon hasznos lehetőség, hogy globálissá az utat, hogy van, hanem /var/www/index.html a szabályban megadott / var / www / *. Ehhez egyszerűen nyomja meg a G gombot, és az utat fog csökkenni egy szinten. Minden gombnyomás fogja vágni egy másik szintre. Ha szeretné menteni a fájl kiterjesztését, kattintson az E (Glob w / (E) xt), és akkor nem lesz egy ilyen bejegyzést /var/www/*.html. Szerint oknchanii munka logprof kérni, hogy átvizsgálja a magazin ismét kiléphet válassza F.
De ez még nem minden titkát AppArmor. Annak megállapítására, hogy a hallgatási hálózat UDP / TCP port futó szolgáltatások és ami a legfontosabb jelenléte védelme profil utility víztükrű:
$ Sudo aa-víztükrű
5194 / usr / sbin / Avahi-démon nem korlátozódik
5194 / usr / sbin / Avahi-démon nem korlátozódik
5266 / usr / sbin / cupsd nem korlátozódik
5290 / usr / sbin / hpiod nem korlátozódik
5293 /usr/bin/python2.5 nem korlátozódik
5391 / usr / sbin / mysqld nem korlátozódik
5621 / usr / lib / postfix / mester korlátozott
5750 / usr / sbin / dovecot nem korlátozódik
5750 / usr / sbin / dovecot nem korlátozódik
5750 / usr / sbin / dovecot nem korlátozódik
5750 / usr / sbin / dovecot nem korlátozódik
5890 / usr / sbin / apache2 nem korlátozódik
Ez létrehoz egy feketelistát a szoftver, és a rendszergazda előre meghatározza potentsialnoopasnye alkalmazására és zárja be a lyukat.
Tehát itt az ideje, hogy megkötik. Novell javasolt rendszer sokkal könnyebb beállítani, miközben a magas szintű védelmet. Egy viszonylag egyszerű lehetőség független létrehozása a profil csak növeli a rendszer pólusai.
ZY Bár hallottam az ellenkező véleményt, de ez egy másik történet.