cn:ccr:formazione:centos7:2018-11:selinux
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
cn:ccr:formazione:centos7:2018-11:selinux [2018/11/29 09:08] – brunengo@infn.it | cn:ccr:formazione:centos7:2018-11:selinux [2018/11/29 14:01] (current) – brunengo@infn.it | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== SELinux ====== | ||
+ | |||
+ | ==== Setup iniziale ==== | ||
+ | |||
+ | Installazione dei pacchetti necessari al management di SELinux. | ||
+ | < | ||
+ | [root@statichostname ~]# yum -y install policycoreutils selinux-policy selinux-policy-targeted libselinux-utils setroubleshoot-server setools setools-console mcstrans policycoreutils-devel selinux-policy-devel | ||
+ | </ | ||
+ | |||
+ | Attivazione di SELinux e relabel del file system | ||
+ | < | ||
+ | [root@statichostname ~]# vi / | ||
+ | [root@statichostname ~]# grep ^SELINUX= / | ||
+ | SELINUX=enforcing | ||
+ | [root@statichostname ~]# touch / | ||
+ | [root@statichostname ~]# reboot | ||
+ | </ | ||
+ | |||
+ | Creazione utenti | ||
+ | < | ||
+ | [root@statichostname ~]# useradd user1 | ||
+ | [root@statichostname ~]# useradd user2 | ||
+ | [root@statichostname ~]# # set password (user1/ | ||
+ | </ | ||
+ | |||
+ | ==== Esercitazione 1 ==== | ||
+ | |||
+ | - Visualizzazione dello stato di SELinux | ||
+ | - Visualizzazione del context dei processi di systemd e cron | ||
+ | - Visualizzazione del context dei file / | ||
+ | - Visualizzazione degli SELinux user e associazione con role e level | ||
+ | - Visualizzazione della associazione degli user agli SELinux user | ||
+ | - Visualizzare i context di httpd e della sua DocumentRoot ed identificare la rule che permette l' | ||
+ | - Verificare che cambiando il context type di / | ||
+ | - Spostare la DocumentRoot di httpd in /www/html\\ Per fare questo si deve: modificare la configurazione di httpd, creare la nuova document root, verificare che non funziona, assegnare il default context (semanage fcontext), e modificare il context (restorecon) | ||
+ | |||
+ | |||
+ | ==== Esercitazione 2 ==== | ||
+ | |||
+ | |||
+ | - Utilizzare seinfo per visualizzare l' | ||
+ | - Utilizzare seinfo per visualizzare l' | ||
+ | - Domain transition: identificare le policy che permettono la domain transition da systemd a httpd | ||
+ | - Visualizzare domain e type di systemd, httpd, / | ||
+ | - Verificare l' | ||
+ | - Verificare che esista una rule che definisca che il type dell' | ||
+ | - Verificare che esista una rule che permette al parent domain (init_t) una transizione verso il destination domain (httpd_t) | ||
+ | - Verificare l' | ||
+ | |||
+ | |||
+ | ==== Esercitazione 3 ==== | ||
+ | |||
+ | |||
+ | - Confinamento di un utente: confinare user1 a user_u (verifica impossibilita' | ||
+ | - Visualizzazione context del processo di login dell' | ||
+ | - Confinare il linux user user1 associandolo all' | ||
+ | - Verificare che user1, il cui dominio attuale e' user_t, non puo' fare su e diventare user2 | ||
+ | - Visualizzazione del policy module apache | ||
+ | - Abilitare tramite boolean httpd a leggere le home directory degli utenti | ||
+ | |||
+ | |||
+ | ==== Esercitazione 4 ==== | ||
+ | |||
+ | - Generare un messaggio di errore eseguendo il comando **su** come user **user1** | ||
+ | - Analizzare l' | ||
+ | - Caricare il modulo generato e verificare che l' | ||
+ | - Disabilitare e rimuovere il modulo, verificando che l' | ||
+ | |||