SELinux su CentOS per server

Sommario
SELinux è un modulo di sicurezza del kernel Linux, significa Linux con sicurezza avanzata o Linux con sicurezza avanzata.
Questo modulo di sicurezza Linux che fornisce varie politiche di sicurezza, inclusi i controlli di accesso, può essere applicato a sistemi simili a Unix come Linux e BSD.
Viene attivato in CentOS e nella maggior parte delle distribuzioni moderne, è generalmente abilitato sui server.
Lo vedremo non come un'applicazione desktop ma, come un sistema di sicurezza sul server, ciò che Selinux fa è controllare in ogni momento se il file a cui stai tentando di accedere è valido e ha il permesso di essere utilizzato dall'applicazione che vuole corre.
Oltre a controllare i file, controlla anche le porte. Un caso di controllo è che se proviamo ad avviare un server FTP, dobbiamo prima dargli i permessi corrispondenti in modo che il server possa ascoltare sulla porta, altrimenti non funzionerà, normalmente questa configurazione viene eseguita durante l'installazione.
Supponiamo che sia già installato e lo configureremo
SELinux ha il proprio database utente che è associato al normale database utente Linux. Le identità sono usate sia nei soggetti che negli oggetti. Sono definiti solo pochi utenti SELinux: (può essere elencato dal comando 'semanage user -l'):
Elenco /etc/selinux è la posizione principale per tutti i file di criteri e per il file di configurazione principale.
Utilità e programmi SELinux
Vediamo quali sono alcuni dei programmi di utilità usati più spesso da selinux
/usr/bin/setenforce: modifica il modo in cui selinux viene eseguito in tempo reale. quando si esegue il comando setenforce 1, selinux viene messo in modalità fiscale, cioè le regole di sicurezza saranno attive. se eseguiamo setenforce 0, selinux viene messo in modalità permissiva.
per disabilitare selinux, è necessario configurare il parametro in / etc / sysconfig / selinux o passare il parametro
selinux = 0 al kernel, oppure se lo vogliamo dal boot del sistema operativo aggiungiamo il comando al file /etc/grub.conf.
/ usr / bin / sestatus -v- Ottieni lo stato dettagliato di un sistema che esegue selinux. L'esempio seguente mostra un estratto dall'output sestatus
 # sestatus Stato SELinux: abilitato SELinuxfs mount: / selinux Modalità corrente: enforcing Mode from config file: enforcing Policy version: 21 Policy from config file: targeted 

Selinux ha un'interfaccia grafica ma poiché può essere gestito da remoto con ssh spieghiamo i comandi.

Un comando importante è getsebool e consente di elencare le politiche definite in SELinux e determinare quali regole sono attive o inattive. Da terminale scriviamo il seguente comando
getsebool -a | grep text
Il testo può essere un servizio o un programma che vogliamo ad esempio
getsebool -a | grep ftp

Ad esempio da questo comando possiamo ottenere uno stato di ftp
 allow_ftpd_anon_write -> on // Consenti l'accesso agli utenti anonimi tramite ftp sul server allow_ftpd_full_access -> on // Consenti la lettura e la scrittura di file ftp_home_dir -> on // Consenti all'utente di accedere alle loro home directory 

Dobbiamo conoscere ogni servizio sul nostro server per poter verificare quale sia ogni regola che Selinux controlla e come è configurata.
wave wave wave wave wave