GNU/Linux >> Znalost Linux >  >> Linux

Průvodce SELinuxem pro začátečníky

SELinux znamená „Security-Enhanced Linux “. Standardní zabezpečení Linuxu je založeno na Discretionary Access Control (DAC). S DAC je přístup k souborům a zařízením založen výhradně na identitě a vlastnictví uživatele. Každý soubor může mít oprávnění ke čtení, zápisu a spouštění pro vlastníka souboru, pro skupinu a pro ostatní uživatele.

SELinux byl vytvořen americkou Národní bezpečnostní agenturou, aby poskytoval jemnější úroveň kontroly nad soubory, procesy, uživateli a aplikacemi v systému. Jedná se o vylepšení linuxového jádra a implementuje jiný typ zabezpečení nazývaný Mandatory Access Control (MAC). Zásady MAC jsou spravovány centrálně, nikoli uživatelem.

SELinux běží v jednom ze tří režimů:

  • Vynucování :Přístup je odepřen uživatelům a programům, pokud to nepovolují pravidla bezpečnostní politiky SELinux.
  • Povolné :Pravidla bezpečnostní politiky nejsou vynucována, ale SELinux odesílá zprávy o zamítnutí do souboru protokolu.
  • Zakázáno :SELinux nevynucuje bezpečnostní politiku, protože v jádře není zavedena žádná politika. Pro řízení přístupu se používají pouze pravidla DAC.

Zobrazení režimu SELinux

Můžete použít stav příkaz k zobrazení režimu SELinux a také některých dalších informací o SELinuxu.

# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28

Můžete použít getenforce příkaz pro zobrazení režimu SELinux. Tento příkaz zobrazí aktuální režim:„Vynucování “, „Povolné “,” nebo “Zakázáno "." Například:

# getenforce
Enforcing

Změna režimu SELinux

Většinu času byste viděli, jak lidé mění režim „vynucování“ na „povolující“, aby vyřešili problém související s oprávněními k souboru/procesu. Toto není nejlepší postup, ale je to jeden z nejpoužívanějších a nejrychlejších způsobů, jak problém v Linuxu překonat. Pomocí příkazu setenforce můžete změnit režim buď na „Vynucování (1) “ nebo „Permisivní (0) “. Například:

# setenforce 0 
# getenforce 
Permissive

Booleovské hodnoty

SELinux také poskytuje „Booleans “, které umožňují měnit části zásad SELinux za běhu, aniž by bylo nutné znovu načítat nebo znovu kompilovat zásady SELinux. Spuštěním následujícího příkazu můžete zobrazit seznam logických hodnot, informace o stavu a popis logických hodnot:

# semanage boolean -l
SELinux boolean                State  Default Description
privoxy_connect_any            (on   ,   on)  Allow privoxy to connect any
smartmon_3ware                 (off  ,  off)  Allow smartmon to 3ware
mpd_enable_homedirs            (off  ,  off)  Allow mpd to enable homedirs
xdm_sysadm_login               (off  ,  off)  Allow xdm to sysadm login
....

Stav konkrétní logické hodnoty můžete změnit na zapnuto nebo vypnuto pomocí setsebool příkaz. Chcete-li například zapnout ftp_home_dir Boolean:

# setsebool ftpd_use_nfs on

Použijte getsebool příkaz k zobrazení stavu konkrétního booleanu. Příklad:

# getsebool ftpd_use_nfs
ftpd_use_nfs --> on


Linux
  1. Průvodce linuxovým terminálem pro začátečníky

  2. Příručka správce systému SELinux:42 odpovědí na velké otázky

  3. CentOS / RHEL 7:Průvodce firewallem pro začátečníky

  1. Průvodce pro začátečníky NFS v CentOS / RHEL

  2. CentOS / RHEL:Průvodce cronem pro začátečníky

  3. Průvodce pro začátečníky editorem vi (odkaz na příkazový řádek)

  1. Přístup k dokumentaci zásad SELinux

  2. Průvodce pro začátečníky multipathingem Device Mapper (DM).

  3. CentOS / RHEL 7:Průvodce pro začátečníky systemd