CodeGym /Corsi /Docker SELF /Nozioni di base sulla sicurezza in Linux

Nozioni di base sulla sicurezza in Linux

Docker SELF
Livello 5 , Lezione 0
Disponibile

1. Principi di sicurezza in Linux

La sicurezza in Linux è prima di tutto una strategia basata sulla "minimizzazione dei privilegi" e sul controllo affidabile degli accessi. Immagina Linux come una fortezza con protezioni a più livelli: più ti avvicini al centro, più controlli devi superare. Ma prima, vediamo i tre pilastri su cui si basa la sicurezza del sistema.

Divisione dei diritti di accesso: utenti, gruppi e root

Il segreto della stabilità e sicurezza di Linux sta nella rigorosa divisione dei diritti di accesso. Nel sistema abbiamo tre tipi di oggetti:

  • Utenti (users): account individuali. È come gli invitati a una festa di famiglia — ognuno ha il proprio invito personale.
  • Gruppi (groups): insiemi di utenti. Per alcune attività, un unico invito serve per tutto il gruppo — per esempio, per accedere alla cartella condivisa "Foto della nonna".
  • Root: superutente con tutti i privilegi. Root è come Superman nel mondo di Linux. Può fare tutto, ma con grandi poteri vengono grandi responsabilità.

Linux utilizza questo modello per limitare l'accesso a file, applicazioni o funzioni di sistema. Anche se un intruso riesce a entrare nel sistema con un account utente normale, non sarà in grado di danneggiare il kernel o i file critici.

Minimizzazione dei privilegi

Non dare accesso root a tutti indiscriminatamente. Immagina se ogni dipendente del tuo ufficio avesse le chiavi della cassaforte con i soldi. Qualcuno sicuramente le perderebbe. In Linux vale la regola: concedi agli utenti solo i privilegi necessari per svolgere i loro compiti.

Principali minacce alla sicurezza

  • Virus: sì, anche Linux non è perfettamente protetto, ma i virus sono meno comuni qui grazie all'architettura del sistema.
  • Attacchi via rete: hacking SSH, attacchi DDoS, spoofing DNS.
  • Vulnerabilità del software: pacchetti obsoleti e librerie non sicure possono essere una porta d'accesso per gli intrusi.

2. Prevenzione delle minacce

Adesso vediamo i passi importanti per far sì che il tuo server Linux continui a servirti fedelmente e non diventi uno strumento per i hacker.

Aggiornamento regolare del sistema

Esempio attuale: aggiornare il sistema è come aggiornare un antivirus. Senza di esso, anche la difesa più moderna sarà inutile contro nuove minacce. Il comando:

sudo apt update && sudo apt upgrade

ti permette di mantenere il tuo Linux in forma.

Controllo dell'accesso ai file importanti

Ci sono file che è meglio nascondere da occhi indiscreti. Ad esempio, il file /etc/sudoers — è un elenco di utenti con accesso ai privilegi amministrativi. Puoi modificarlo solo tramite visudo per evitare errori accidentali.

Limitazione dell'accesso root

Lo sai, root è potere, ma non bisogna abusarne. È meglio lavorare come utente normale e utilizzare sudo all'occorrenza per ottenere temporaneamente i privilegi.


3. Strumenti di sicurezza

Quali strumenti in Linux ti aiuteranno nella lotta per la sicurezza? Diamo un'occhiata alle soluzioni integrate e a quelle di terze parti.

Meccanismi integrati

  • firewalld e iptables: firewall per la gestione del traffico di rete. Sembra complicato, ma lo capiremo insieme!
  • SELinux (Security-Enhanced Linux): un'estensione speciale che controlla quali processi hanno il diritto di accedere ai file.
  • ACL (Access Control Lists): una versione avanzata dei diritti di accesso standard.

Strumenti esterni

  • Lynis: uno strumento per l'audit della sicurezza.
  • OpenSCAP: un set di strumenti per verificare la conformità dei sistemi agli standard di sicurezza.

Configurazione della politica delle password

Quanto è complessa la tua password... ehi, non dirlo! È meglio assicurarti subito una politica password affidabile. La lunghezza minima e la complessità della password possono essere configurate usando PAM.

sudo nano /etc/security/pwquality.conf

Esempio di parametri:

minlen = 12
minclass = 3

4. Esempio pratico: configurazione di base della sicurezza

Rimboccati le maniche! Configuriamo una semplice politica di sicurezza per un sistema di test.

Registrazione degli utenti

Creiamo due utenti: un amministratore e un utente normale.

sudo adduser admin
sudo adduser user1
sudo usermod -aG sudo admin

Ora admin ha i permessi amministrativi, mentre user1 no.

Controllo dell'accesso ai file importanti

Limitiamo l'accesso alla configurazione di Nginx:

sudo chmod 600 /etc/nginx/nginx.conf

Gestione del firewall

Installiamo e configuriamo ufw (Uncomplicated Firewall) per proteggere il nostro server:

sudo apt install ufw
sudo ufw enable

Consentiamo solo il traffico SSH e HTTP:

sudo ufw allow 22
sudo ufw allow 80

Abilitiamo una verifica:

sudo ufw status

5. Errori tipici

Quando si parla di sicurezza, è importante non solo sapere cosa fare, ma anche capire cosa evitare.

Errore 1: Lavorare come root

Molti principianti sono pigri e lavorano con l'account root. Questo è pericoloso: qualsiasi errore o intrusione sarà fatale per il sistema.

Errore 2: Pacchetti non aggiornati

Come diceva un admin: "L'unico buon server è un server aggiornato". Il vecchio software è un bersaglio perfetto per gli attacchi.

Errore 3: Password non sicure

"password123" è una delle password più comuni. Non essere quella persona che la usa.


6. Applicazione pratica: perché è importante?

Configurare la sicurezza su Linux ti sarà utile non solo al lavoro, ma anche durante un colloquio. Conoscere le basi del funzionamento di firewall, SELinux e configurazione dei permessi impressiona i datori di lavoro. Ad esempio, potresti proteggere il server dell'azienda da attacchi DDoS o configurare i permessi per il lavoro di squadra sui progetti.

Se ti occupi di sviluppo, proteggere il sistema significa che il tuo codice non finirà nelle mani dei competitor e che i dati dei clienti resteranno al sicuro. Non è solo paranoia "habarovska", ma una reale esigenza dell'industria moderna.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION