Armored Tux apparmor meghatározni biztonsági irányelvek

A Linux operációs rendszert örökölt Unix biztonsági rendszer alakult ki a 70-es években, a fejlett idején a teremtés, de ez nyilvánvalóan nem elég a mai napra. Minden felhasználónak van teljes cselekvési szabadságot belül hatóságnak az az elv, „mindent vagy semmit”. Ez vezet az a tény, hogy egyes feladatokat a felhasználó gyakran adják sokkal több joggal, mint ténylegesen szükség van. Ezért a felhasználó hozzáférést nyer a jogokat a rendszer figyelembe, képes elérni szinte teljes ellenőrzést a rendszer felett.







Mi van még?

A működés bármilyen alkalmazás lehet a különböző eltérések, ami végső soron a rendellenes futni. Ez lehet például a rendszer hibák, hibák programozás, vagy mesterségesen előidézett helyzetet. És az utolsó messze nem gyakori. Hacker meg, hogy lehet befolyásolni a teljesítményét a program természetesen megpróbálja kihasználni azt bizonyos feltételek mellett.

Viselkedésének előrejelzésére a program gyakorlatilag lehetetlen a leromlott állapotban. Egy példa erre az anti-vírus szoftver, amely most dolgozik a „catch-up” a ritmust, nem nyújt védelmet 0 napi támadások. De a normális viselkedés a program leírható viszonylag egyszerű szabályokat. Ennek eredményeként már több projektet, hogy koncepció megvalósítása megelőző védelmet. Közülük fedő. Grsecurity. AppArmor és SELinux. De a legnépszerűbb a két utolsó.

AppArmor projekt

Az AppArmor, hogy melyik rendszer erőforrásokat és milyen jogosultságokkal hozzáférhet egy adott alkalmazás, amely a biztonsági politika, az úgynevezett profil (profilok). Segítségükkel a szabványos biztonsági modell Unix-DAC (diszkrecionális Access Control) egészíti ki egy erősebb - MAC (Kötelező Access Control). Ellentétben SELinux és fedő. ahol a beállítások globális rendszer egészét, AppArmor profilok fejlesztettek egyedileg alkalmazás (a SELinux is lassan kezdenek használni ezt a megközelítést).

Egyszerűsítése érdekében a beállításokat a AppArmor már tartalmaz egy sor standard profilok, fut a telepítés után. Külön álló profilokat számos népszerű alkalmazás és a szerverek. Ha nem talál egy kész profil létrehozása segít speciális eszközöket (genprof és logprof). A felhasználók számára az openSUSE grafikus felhasználói felületet ezeket az eszközöket, végre yast2. Így az egész filozófia munka AppArmor jön le, hogy választott a igénylő korlátozott jogosultságokat, és létrehozása / szerkesztése a biztonsági profilok.

Telepítése AppArmor Ubuntu

Verziótól kezdődően 7,04 AppArmor hivatalosan is a tárháza Ubuntu. és a problémák telepítésével oda:

$ 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 telepítést hiánya miatt kernel modulokat. Ezért először bevezetni a készítmény a csapatot építeni, ezért ellenőrizni fogjuk a rendelkezésre álló összes szükséges csomagokat, és betölteni a hiányzó:

$ Sudo m-a -v -t készít

Általánosságban elmondható, hogy 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 javasoljuk kézzel betölteni a kernel modult, amely szabályozza a már létrehozott politikai, helyességének ellenőrzésére 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

Hoppá, nincs betöltve ... A jelentések szerint a különböző fórumokon, az ilyen hiba lépett fel nemcsak rám. OpenSUSE fórumok sikerült találni egy nyom. AppArmor nem kompatibilis selinux és képességeit. Ha vannak beépítve a lelkéről, a kernel lesz újjáépíteni, a következő beállításokat a.config.

$ Sudo mcedit /usr/src/linux/.config

Ellenkező esetben, hozzáadjuk a két paraméter át a kernelnek: «capability.disable = 1» és «selinux = 0" . Azonban az én esetemben, az első lehetőség valahogy figyelmen kívül hagyni:

$ 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

És próbálkozzon ú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átkozni Dazuko. amelyet általában 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 profilok: kész.

Ha minden jól megy, ez a beállítás AppArmor befejezettnek tekinthető. A következő lépés - beállítás profilokat.

AppArmor profilok

Elindítása után a démon terhelések összes profil mögött /etc/apparmor.d könyvtárban. A kontroll nélküli üzemmód fájlrendszer securityfs, ez segíthet, hogy információt kapjon 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álat végzésére egyszerűen szabályozható 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.

Üzemmódváltáshoz egyszerűen nyissa meg a fájlt, és előtte a futtatható fájlt hozzáadni a sor «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 profil 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ájlt, hanem használja a lényeg perjel. 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,
...
>

Ha csatlakozni a kész profil AppArmor. elég másolni /etc/apparmor.d könyvtárba. Például, Postfix végrehajtja a következő:

$ Cd / etc / apparmor / profiles / extrák
$ Sudo mv * * postfix usr.sbin.post * /etc/apparmor.d
$ Mv usr.bin.procmail usr.sbin.sendmail /etc/apparmor.d

És az első alkalommal fut 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 a Postfix, mint mindig, a segítségével, finomított politika logprof közüzemi és lefordítani érvényesítése módban. Ehhez az előző példában, megváltoztatjuk az összes panaszt érvényesíteni. Mint lehetőség - ahelyett, akkor azonnal adja meg a profilját a 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 (by the way, a közművek AppArmor becenevek kezdve «AA»):

$ Sudo genprof / usr / bin / passwd

Ez írja a frissített Profil / usr / bin / passwd. Beállítása a / usr / bin / passwd megy szelíd. Az alkalmazás futtatásához, hogy létrehozta a profilt. Ebben az esetben, akkor létrehozhat / törölhet felhasználói változtassa meg a jelszót:

$ 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

Miután egy ideig, nyomja meg a gombot a billentyűzeten . Ez fogja olvasni az összes üzenetet az ellenőrzés a / var / log / messages frissítés megfelelő szakaszok /etc/apparmor.d. Íme néhány esemény, hogy esik a magazin:

Egy idő után, nyomja meg a gombot . Élvezi 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 távolítsa el a profil közművek passwd „m” zászlót. On the fly megteheti segítségével apparmor_parser segédprogram:

$ Sudo echo „/ usr / bin / passwd „| Apparmor_parser -AD

Ismét próbálja meg felvenni egy új 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

$ Grep sergej / etc / passwd
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:

Tovább fog mutatni megállapította megsértése profilok a profil nevét, programok és tevékenységek. Minden kérdés blokkokra osztjuk. Az első meghatározott gyermek ellenőrzési 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

kattintva (Megszakítás) kilép a genprof való eltérés minden változik, és (Finish) nem ugyanaz, de az adatokat tárolják. Ezeket a paramétereket jelenti:

1. öröklése - leszármazottja fut profilja ugyanolyan, mint a szülő.
2. Profil - leszármazottja egy profilt
3. unconfined - leszármazott nélkül működik egy profilt.
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. gombnyomás <А> vagy megengedjük vagy tilthatják a hívást (a példánkban chown hívás) volt. É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

Szintén ismert paraméterek, egy gomb megnyomásával és adja meg az új utat, amely rögzítésre kerül a profilban. Nagyon hasznos az a képesség, hogy a globalizáció traktus, hogy van, hanem /var/www/index.html szabály megadhatja a / var / www / *. Ehhez nyomja meg a gombot , és ahogy csökken egy szinten. E gomb minden megnyomásakor vágjuk egy másik szintre. Ha szeretné menteni a fájl kiterjesztését, kattintson (Glob W / (E) xt), és akkor nem lesz egy ilyen bejegyzést /var/www/*.html. Végén logprof kérni, hogy átvizsgálja a magazin ismét kiléphet kiválasztásához .

De ez még nem minden titkát AppArmor. Annak érdekében, hogy meghatározzák a jelenléte védő profil, valamint eleget hallgatni hálózati TCP / UDP-portok futó szolgáltatások hasznossági víztükrű:

$ Sudo aa-víztükrű
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
5890 / usr / sbin / apache2 nem korlátozódik

Ez létrehoz egy feketelistát a szoftver, és a rendszergazda előre meghatározni a potenciálisan veszélyes alkalmazásokat és zárja be a lyukat.

Tehát itt az ideje, hogy megkötik. A rendszer által javasolt Novell, a magas szintű védelem, és ez sokkal könnyebb létrehozni, mint SELinux. Egy viszonylag egyszerű végrehajtásának lehetőségét független létrehozása a profil csak növeli a rendszer előnyei.

Itt található az ezt a cikket egy ismerősének:




Kapcsolódó cikkek