CodeGym /Corsi /Docker SELF /Configurazione del firewall, SELinux e regole ACL di base...

Configurazione del firewall, SELinux e regole ACL di base

Docker SELF
Livello 5 , Lezione 5
Disponibile

Configurazione del firewall, SELinux e regole ACL di base

1. Passo 1: Installazione e configurazione del firewall

Ciao! Oggi ci dedicheremo alla pratica reale e applicheremo tutto ciò che hai imparato sulla sicurezza di Linux fino ad oggi. Configureremo il firewall, valuteremo il funzionamento di SELinux e capiremo quanto sia comodo usare ACL per la gestione dei permessi sui file. Questa lezione è il tuo "campo di addestramento". È ora di indossare i nostri "gradi di sicurezza admin" e iniziare!

Lo sai già: un buon firewall è come un buttafuori all’ingresso. Decide chi può entrare e chi si becca un bel "No, grazie!". Per iniziare, configuriamo la protezione del nostro sistema, limitando l'accesso solo ai servizi SSH e HTTP.

Lavora con UFW

  1. Controlla lo stato di UFW. Non è installato? Installiamolo!

    # Controllo di UFW
    sudo ufw status
  2. Se il comando ti dice che "il firewall è disattivato", dobbiamo correggere la situazione.

  3. Installazione e avvio di UFW.

    # Installazione (se necessario)
    sudo apt install ufw
    
    # Abilitare il firewall
        sudo ufw enable
  4. Configura l'accesso. Vogliamo consentire solo SSH (porta 22) e HTTP (porta 80), bloccando tutto il resto. Logica semplice: il server non è un hotel tre stelle per tutti.

    # Consenti SSH
    sudo ufw allow 22
    
    # Consenti HTTP
    sudo ufw allow 80
    
    # Verifica delle impostazioni
    sudo ufw status
  5. Verifica: Dopo la configurazione, dovresti vedere qualcosa del genere:

    Status: active
    To                         Action      From
    --                         ------      ----
    22                         ALLOW       Anywhere
    80                         ALLOW       Anywhere
    

Se usi iptables, la configurazione è un po' più complicata, ma la logica rimane la stessa: creiamo regole per SSH e HTTP, bloccando tutto il resto.


2. Passaggio 2: Lavorare con SELinux

SELinux è quel severo insegnante che controlla il comportamento dei file e degli utenti sul tuo server. Il suo motto è: "Fidati, ma verifica". Attiviamo SELinux e vediamo come funziona.

Attivare SELinux

  1. Controllare lo stato attuale:

    # Verifichiamo se SELinux è attivato
    sestatus

    Se la modalità mostra disabled, è necessario abilitarla tramite il file di configurazione.

  2. Abilitare SELinux tramite la configurazione:

    Il file di configurazione di SELinux si trova nel percorso /etc/selinux/config. Aprilo con un editor di testo (ad esempio nano).

    sudo nano /etc/selinux/config
    

    Trova la riga:

    SELINUX=disabled
    

    Sostituiscila con:

    SELINUX=enforcing
    

    Salva le modifiche e riavvia il sistema per applicarle:

    sudo reboot
    
  3. Controllare dopo il riavvio.

    Dopo il caricamento del server, verifica di nuovo lo stato di SELinux:

    getenforce
    

    Se il sistema risponde Enforcing, congratulazioni, sei in prima linea per la sicurezza!


Esempio con SELinux e un server web

Supponiamo che tu abbia un server web che memorizza file nella directory /var/www/html. Verifichiamo come SELinux lo protegge.

  1. Visualizzare il contesto dei file: SELinux utilizza i contesti per gestire l'accesso. Vediamo quale contesto ha la directory /var/www/html.

    ls -Z /var/www/html
    

    Esempio di output:

    drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html
    

    Se qualcosa non va, puoi temporaneamente modificare il contesto:

    sudo chcon -t httpd_sys_content_t /var/www/html
    
  2. Controllare il funzionamento del server web: Dopo aver configurato il contesto, verifica se il tuo server funziona correttamente e se non ci sono errori di accesso.


3. Passo 3: Gestione dei diritti con ACL

ACL (Access Control List) è come una "chiave aggiuntiva" per la gestione dell'accesso. Quando i diritti standard rwx sono limitati, ACL ti permette di configurare finemente l'accesso per utenti specifici.

Crea una directory di test

Creiamo una directory chiamata project_dir e configuriamola per l'accesso di due utenti: user1 e user2.

  1. Crea la directory:

    sudo mkdir /project_dir
    
  2. Imposta i permessi di accesso:

    Concediamo a user1 pieno accesso, e a user2 solo accesso in lettura:

    # Pieno accesso per user1
    sudo setfacl -m u:user1:rwx /project_dir
    
    # Solo lettura per user2
    sudo setfacl -m u:user2:r-- /project_dir
  3. Verifica ACL:

    # Verifica dei permessi attuali
    getfacl /project_dir

    L'output dovrebbe mostrare le tue configurazioni:

    # file: /project_dir
    user::rwx
    user:user1:rwx
    user:user2:r--
  4. Imposta diritti predefiniti:

    Affinché tutti i nuovi file nella directory ereditino automaticamente i diritti ACL, impostiamoli come predefiniti:

    sudo setfacl -d -m u:user1:rwx /project_dir
    sudo setfacl -d -m u:user2:r-- /project_dir
    

4. Verifica della configurazione finale

  1. Firewall:

    • Assicurati che le porte SSH e HTTP siano accessibili e che le altre siano bloccate. Prova a connetterti al server tramite SSH e apri il sito web nel browser.
  2. SELinux:

    • Controlla i contesti dei file per assicurarti che SELinux stia limitando correttamente gli accessi.
  3. ACL:

    • Accedi con gli utenti user1 e user2 e prova a leggere e scrivere un file nella directory /project_dir.

Compiti pratici

  1. Configura il firewall in modo che consenta solo accessi tramite SSH e HTTP.
  2. Abilita SELinux in modalità enforcing e verifica che il server web funzioni correttamente.
  3. Configura ACL per la directory /project_dir affinché user1 abbia accesso completo e user2 solo permessi di lettura.
  4. Controlla gli utenti attivi nel sistema usando il comando who.

Questi esercizi ti aiuteranno a rafforzare le conoscenze e a capire come applicarle in pratica. E ricordati: la sicurezza in Linux non è solo configurazione, ma anche un'attenzione costante ai dettagli. Buona fortuna!

1
Опрос
Lavorare con gli utenti in Linux,  5 уровень,  5 лекция
недоступен
Lavorare con gli utenti in Linux
Lavorare con gli utenti in Linux
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION