Selinux sul tutorial di Ubuntu

Selinux sul tutorial di Ubuntu

introduzione

Selinux è un modulo di controllo degli accessi obbligatorio (MAC) residente a livello di kernel dei sistemi Linux. È uno sviluppo congiunto di Redhat e NSA rilasciato intorno al 1998 e ancora mantenuto da una comunità appassionata. Per impostazione predefinita, Ubuntu utilizza AppAMor e non Selinux, che è simile in termini di prestazioni ma piuttosto popolare in termini di semplicità. Tuttavia, è noto che Selinux è abbastanza sicuro a causa del coinvolgimento di un'agenzia governativa. Selinux è un'applicazione open source che protegge l'host isolando ogni applicazione e limitando le sue attività. Per impostazione predefinita, i processi sono bloccati dal fare attività a meno che non sia concessa l'autorizzazione esplicita. Il modulo fornisce in modo nativo due regole di gestione del livello globale: permissiva e applicazione di quali rispettivamente registra ciascuna regola violata e nega l'accesso a una particolare richiesta inviata da un processo. Questo tutorial dimostra come usarlo su Ubuntu con facilità.

Come installare e abilitare

Selinux è un'applicazione molto complicata da installare, perché se non è correttamente configurata prima del primo riavvio, renderà non sbootabile l'intero sistema operativo, il che significa che qualsiasi cosa oltre la schermata di avvio iniziale sarà praticamente irraggiungibile con mezzi normali.

Inoltre, come affermato in precedenza, Ubuntu ha già un sofisticato sistema di controllo dell'accesso obbligatorio di alto livello noto come Apparmor, e pertanto deve essere disabilitato prima di installare Selinux per evitare eventuali conflitti. Utilizzare le seguenti istruzioni per disabilitare l'apparmo e abilitare Selinux.

sudo /etc /init.D/Apparmor Stop
Apt -get Update && Upgrade -yuf
Apt-get Installa Selinux
nano/etc/selinux/config
'Imposta Selinux su SelinuxType permissivi su predefinito'
riavviare

Questa configurazione del file può essere aperta con qualsiasi editor di testo per apportare modifiche. Il motivo per l'assegnazione della regola permissiva a SetLinux è rendere accessibile il sistema operativo lasciando abilitato Selinux. Si consiglia vivamente di utilizzare l'opzione permissiva in quanto è senza problemi, ma registra le regole violate impostate in Selinux.

Opzioni disponibili

Selinux è un modulo complesso e completo; Quindi contiene molte caratteristiche e opzioni. Detto questo, la maggior parte di queste opzioni potrebbe non essere utile per tutti a causa della loro natura esotica. Le seguenti opzioni sono alcune delle opzioni di base e utili in questo modulo. Sono più che sufficienti per far funzionare Selinux.

Controlla lo stato: Lo stato di Selinux può essere controllato direttamente tramite la finestra del terminale, che mostra le informazioni di base come se Selinux è abilitato, directory di root Selinux, nome della politica caricata, modalità corrente ecc. Dopo aver riavviato il sistema dopo aver installato Selinux, utilizzare il comando seguente come utente root con comando sudo. Se afferma che Selinux è abilitato nella sezione Stato, significa che è attivo e funzionante in background.

root@ubuntu:/home/dondilanga# sestatus

Cambia il livello di autorizzazione globale: Il livello di autorizzazione globale afferma come il Selinux si comporta quando si imbatte in una regola. Per impostazione predefinita, Selinux si imposta per applicare che blocca efficacemente tutte le richieste, ma può essere modificato in permissivo, il che è un po 'indulgente nei confronti dell'utente in quanto consente l'accesso, ma registra qualsiasi regole violate nel suo file di registro.

nano/etc/selinux/config
'Imposta Selinux su permissivi o per applicazione, SelinuxType su predefinito'

Controlla il file di registro: Il file di registro che indica le regole violate da ciascuna richiesta. Questo mantiene i registri solo se Selinux è abilitato.

Grep Selinux/var/log/audit/audit.tronco d'albero

Abilita e disabilita le politiche e quali protezioni offrono: Questa è una delle opzioni più importanti di Selinux, in quanto consente di abilitare e disabilitare le politiche. Selinux ha un gran numero di politiche predefinite che determinano se la richiesta specificata è consentita o meno. Alcuni degli esempio di questo sono consentiti_ftpd_full_access che determina la capacità del servizio FTP di accedere agli utenti locali e leggere Scrivi tutti i file sul sistema, abilita , httpd_can_sendmail che determina la capacità del servizio HTTP di inviare un'e-mail ecc ... Nell'esempio del codice seguente, installa i politiche di PolicEUtils-Python-Utils che in realtà aiutano a elencare ogni politica in modo descrittivo, successivo elenca tutte le politiche disponibili per terminare , infine, insegna come impostare o disattivare una politica, il consumo_ftpd_full_access è il nome della politica come mostrato nel terminale restituito da semanage,

Apt-get Installa PolicyCoreutils-Python-Utils
Semane boolean -l
setSebool -p abilit_ftpd_full_access on

Opzioni avanzate

Le opzioni avanzate sono opzioni che aiutano a estendere le funzionalità in Selinux. Vi è un'enorme quantità di combinazioni là fuori a causa della natura completa di Selinux, quindi questo articolo elenca alcuni di questi importanti e utili tra loro.

Controllo degli accessi basato sul ruolo (RBAC): RBAC consente agli amministratori di passare a un modo basato sul ruolo per limitare l'autorizzazione delle applicazioni. Ciò che significa è un utente di un particolare gruppo di utenti è consentito eseguire o eseguire determinate azioni predefinite. Finché l'utente fa parte del ruolo, va bene. Questa è la stessa cosa del passaggio alla root durante l'installazione di applicazioni su Linux con i diritti amministrativi.

Semanage Login -A -S 'MyRole' -r 'S0 -S0: C0.C1023 '

Gli utenti possono cambiare il loro ruolo con il seguente comando.

sudo -r new_role_r -i

Gli utenti possono anche connettersi in remoto al server tramite SSH con il ruolo abilitato all'avvio.

ssh /[email protected]

Consenti a un servizio di ascoltare una porta non standard: Questo è abbastanza utile per personalizzare un servizio, ad esempio quando una porta FTP viene modificata in una non standard per evitare accessi non autorizzati, Selinux deve essere informato di conseguenza per consentire a tali porte di passare e funzionare come al solito. L'esempio seguente consente alla porta FTP di ascoltare la porta 992. Allo stesso modo, qualsiasi servizio restituito da Porta di semanage -l può essere sostituito. Alcune delle porte popolari sono http_port_t, pop_port_t, ssh_port_t.

Porta di semanage -a -t
Porta di semanage -a -t ftp_port_t -p TCP 992

Come disabilitare

La disabilitazione di Selinux è più semplice in quanto è abilitato e installato. Fondamentalmente ci sono due modi per disabilitarlo. O temporaneamente o permanentemente. La disabilitazione di Selinux temporanea lo rende disabilitato per un po 'fino al prossimo avvio, e non appena il computer viene nuovamente acceso, lo stato viene riavviato. D'altra parte, la disabilita permanente di Selinux lo chiude completamente esponendolo alle minacce là fuori; Quindi è una scelta saggia per ripristinare l'apparmor predefinito di Ubuntu almeno per il bene della sicurezza del sistema.

Il seguente comando sul terminale lo disattiva temporaneamente:

Setenforce 0

A modifica permanentemente disabilitata /etc/selinux/config e impostare Selinux su disabilitato.