Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:selinux

< Linux

SELinux

  • Szerző: Sallai András
  • Copyright © Sallai András, 2012
  • Licenc: GNU Free Documentation License 1.3

Bevezetés

A SELinux a Security Enhanced Linux rövidítése, és a szabványos linuxok egy kiterjesztése, amely lehetővé teszi hozzáférés szabályozást, folyamatok rendszerhez való hozzáférésének állítását. Eredetileg az NSA fejlesztette. Ez a lap csak egy rövid leírás.

DAC

A DAC a Discretionary Access Control rövidítése, amely tulajdonképpen az Unix rendszerekből örökölt tulajdonos és csoport alapú hozzáférés vezérlés, így minden Linux alapból tartalmazza.

MAC

A MAC a Mandatory Access Control rövidítése, amely egy újabb biztonsági modell. Lehetővé teszi, olyan korlátozások bevezetését, amelyet más felhasználó nem képes megváltoztatni. Szigorú szabályok beállítását teszi lehetővé.

A SELinux tulajdonképpen a MAC modell egy megvalósítása.

További még szigorúbb szabályozáshoz nézd meg az RSBAC és/vagy a Grsecurity megvalósításokat.

Vezérelvek

  • targeted
    • nincs minden korlátozva. A hálózati szolgáltatások védettek.
  • strict
    • minden tilos ami nincs megengedve
  • multi-level security
    • több szintű hozzáférés. A hozzáférések tartományokhoz és erőforrásokhoz rendeltek.
  • multi-category security
    • kategorizált hozzáférés

Biztonsági környezetek

Egy folyamat jogai ezen környezetektől függ.

  • user
    • SELinux felhasználó (ez nem egyenlő egy Linuxos felhasználóval.
  • role
    • SELinux szerep, egy erőforráshoz rendelve.
  • type
    • Erőforrástípuis
  • sensitivity
    • Erőforrások érzékenységi szintje.
    • A következő érzékenységek lehetségesek:
      • Public
      • Internal
      • Restricted
      • Confidential
      • Strictly Confidential
    • A sensitivity környezet csak az MLS vezérelv mellett használható.
  • category
    • Az erőforrásokat kategóriákban sorolhatjuk.
    • Ez akkor hasznos, ha az azonos típusú erőforrásokat szét akarjuk választani.
    • A category környezet használható az MLS és a MCS vezérelvek mellett.

Telepítés

A Debian GNU/Linux kernel alapból támogatja SELinuxot, használatához azonban telepíteni kell néhány felhasználói térben futó programot. A SELinux használatához szükség van ext2, ext3 vagy ext4 fájlrendszerre és egy GRUB vagy LILO bootmenedzserre.

Telepítés előtt a Debian GNU/Linuxos rendszerben elve van egy /selinux könyvtár üresen. Másik könyvtár az /etc/selinux. Ebben egyetlen fájl található: /etc/selinux/semanage.conf.

Telepítsük a SELinuxhoz a szükséges csomagokat:

apt-get install selinux-basics selinux-policy-default

Telepítés utána a /etc/selinux könyvtár újabb könyvtárakkal és fájlokkal gazdagodik. A Könyvtár ekkor így néz ki:

  • default/
  • config
  • restorecond.conf
  • restorecond_user.conf
  • semanage.conf

A SELinux aktiválása:

selinux-activate

Ehhez hasonló sorokat láthatunk:

Activating SE Linux
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.2.0-4-686-pae
Found initrd image: /boot/initrd.img-3.2.0-4-686-pae
done
SE Linux is activated. You mey need to reboot now.

A beállítások újraindítás után lesznek érvényesek:

reboot

A SELinux a fájlrendszert és a folyamatokat felcímkézi, alkalmazza a beállításokat.

Ellenőrizhetjük a fájlrendszer címkéit:

ls -Z /bin

A folyamatok címkéit:

ps axZ

Ellenőrizzük a SELinux telepítését:

check-selinux-installation

A második újraindulás után ellenőrizzük, hogy a SELinux be van-e kapcsolva:

sestatus

Az engedélyezett modulokat is megnézhetjük:

semodule -l

Alapbeállítások

Az enforce mód engedélyezése:

setenforce 1

Az enforce mód kikapcsolása:

setenforce 0

Az enforcemód lekérdezése:

getenforce

Lehetséges eredmények:

Permissive Enforcing
Enforcemód kikapcsolva Enforcemód bekapcsolva

A SELinux kikapcsolása

nano /etc/selinux/config

Az állományban beállítjuk:

SELINUX=disabled

Futtatom a setenforce parancsot a kívánt paraméterrel:

setenforce 0

SELinux címkék

A fájlokat, a könyvtárakat és a folyamatokat a SELinux úgy tudja használni, ha azok meg vannak jelölve címkékkel. Egy ilyen címkére példa:

system_u:object_r:user_home_t:s0

A fájlok esetén az ilyen címkék meglétéről már a ls -l parancs is tájékoztat bennünket. Lássuk egy könyvtár esetén:

ls -ld

Lehetséges kimenet:

drwxr-xr-x. 59 joska joska 4096 jún  15 20:51 /home/joska/Tervek

A kimenetben a pont (.), azt jelenti könyvtár fel van címkézve. Lássuk ezeket a címkéket:

ls -Zd /home/joska/Tervek

A -Z kapcsoló megmutatja a címkéket. A lehetséges kimenet:

system_u:object_r:user_home_t:s0 /home/joska/Tervek

Folymatok esetén:

ps axZ

Lehetséges Kimenet:

LABEL                           PID TTY     STAT  TIME COMMAND
system_u:system_r:init_t:s0       1 ?       Ss    0:01 init [2]
system_u:system_r:kernel_t:s0       1 ?       S   0:00 [kthreadd]
system_u:system_r:kernel_t:s0       1 ?       S   0:00 [ksoftirqd/0]
system_u:system_r:kernel_t:s0       1 ?       S   0:00 [migration/0]
...
system_u:system_r:postfix_master_to:s0 3410 ? S   0:00 [/usr/lib/postfix/master
...

Irodalom

oktatas/linux/selinux.txt · Utolsó módosítás: 2019/08/16 20:15 szerkesztette: admin