Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:selinux

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

oktatas:linux:selinux [2019/08/16 20:15] (aktuális)
admin létrehozva
Sor 1: Sor 1:
 +[[oktatas:​linux|<​ Linux]]
  
 +====== SELinux ======
 +
 +  * **Szerző:​** Sallai András
 +  * Copyright (c) Sallai András, 2012
 +  * Licenc: GNU Free Documentation License 1.3
 +  * Web: http://​szit.hu
 +
 +===== 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 [[http://​www.rsbac.org|RSBAC]] és/vagy a [[http://​www.grsecurity.net|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:
 +<code bash>
 +apt-get install selinux-basics selinux-policy-default
 +</​code>​
 +
 +
 +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:​
 +<code bash>
 +selinux-activate
 +</​code>​
 +
 +Ehhez hasonló sorokat láthatunk:
 +<​code>​
 +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.
 +</​code>​
 +
 +
 +
 +
 +A beállítások újraindítás után lesznek érvényesek:​
 +<code bash>
 +reboot
 +</​code>​
 +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:​
 +<code bash>
 +semodule -l
 +</​code>​
 +
 +===== Alapbeállítások =====
 +
 +
 +Az enforce mód engedélyezése:​
 +<code bash>
 +setenforce 1
 +</​code>​
 +
 +Az enforce mód kikapcsolása:​
 +<code bash>
 +setenforce 0
 +</​code>​
 +
 +
 +Az enforcemód lekérdezése:​
 +<code bash>
 +getenforce
 +</​code>​
 +
 +Lehetséges eredmények:​
 +|  Permissive ​ |  Enforcing ​ |
 +|  Enforcemód kikapcsolva ​ | Enforcemód bekapcsolva ​ |
 +
 +
 +
 +A SELinux kikapcsolása
 +
 +<code bash>
 +nano /​etc/​selinux/​config
 +</​code>​
 +
 +
 +Az állományban beállítjuk:​
 +<code ini>
 +SELINUX=disabled
 +</​code>​
 +
 +Futtatom a setenforce parancsot a kívánt paraméterrel:​
 +<code bash>
 +setenforce 0
 +</​code>​
 +
 +===== 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:
 +<​code>​
 +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
 +...
 +</​code>​
 +
 +
 +===== Irodalom =====
 +
 +  * http://​selinuxproject.org
 +  * http://​wiki.debian.org/​SELinux
 +  * https://​www.wzdftpd.net/​docs/​selinux
 +  * http://​www.lurking-grue.org/​gettingstarted_newselinuxHOWTO.html
 +  * http://​www.crypt.gen.nz/​papers/​selinux_introduction.html
 +  * http://​www.ibm.com/​developerworks/​linux/​library/​l-rbac-selinux/​
 +  * http://​www.crypt.gen.nz/​selinux/​faq.html (FAQ)
 +  * http://​www.crypt.gen.nz/​papers/​selinux_introduction.html (SELinux bemutatás)
 +  * http://​debian-handbook.info/​browse/​stable/​sect.selinux.html
 +
 +
 +  * http://​www.freetechbooks.com/​efiles/​selinuxnotebook/​The_SELinux_Notebook_Volume_1_The_Foundations.pdf
 +  * https://​www.wzdftpd.net/​docs/​selinux/​ (Debian SELinux Handbook)
 +  * http://​docs.fedoraproject.org/​en-US/​Fedora/​13/​html/​Security-Enhanced_Linux/​sect-Security-Enhanced_Linux-Introduction-SELinux_on_Other_Operating_Systems.html
 +  * http://​www.gentoo.org/​proj/​en/​hardened/​selinux/​selinux-handbook.xml?​part=1&​chap=1
oktatas/linux/selinux.txt · Utolsó módosítás: 2019/08/16 20:15 szerkesztette: admin