Una guida essenziale per grandi e piccini su Ubuntu.

Dall’aggiornamento del sistema alla configurazione del firewall, protezione SSH, crittografia dei dati e strumenti avanzati come AppArmor e Fail2Ban.

1. Aggiornamenti

Importanza: Gli aggiornamenti software sono fondamentali per correggere vulnerabilità di sicurezza che possono essere sfruttate dagli attaccanti. Queste vulnerabilità possono esporre il tuo sistema a malware, accessi non autorizzati e altre minacce.

Come procedere:

  • Aggiornamenti via terminale:
    • Aggiorna l’indice dei pacchetti: sudo apt update
    • Aggiorna i pacchetti installati: sudo apt upgrade
    • Aggiorna la distribuzione (quando necessario): sudo apt dist-upgrade
  • Aggiornamenti automatici:
    • Installa il pacchetto unattended-upgrades per automatizzare gli aggiornamenti di sicurezza critici.
    • Configura il file /etc/apt/apt.conf.d/50unattended-upgrades per personalizzare le impostazioni.

Consiglio: Verifica regolarmente la disponibilità di aggiornamenti anche per i software non inclusi nei repository ufficiali.


2. Firewall (UFW)

Cos’è un firewall: Un firewall controlla il traffico di rete in entrata e in uscita, permettendo o bloccando il traffico in base a regole di sicurezza predefinite.

Utilizzo di UFW (Uncomplicated Firewall):

  • Abilita UFW: sudo ufw enable
  • Consenti servizi specifici:
    • SSH: sudo ufw allow ssh o sudo ufw allow 22
    • HTTP: sudo ufw allow http o sudo ufw allow 80
    • HTTPS: sudo ufw allow https o sudo ufw allow 443
  • Blocco di porte o servizi: Usa sudo ufw deny [porta/servizio] per bloccare specifici ingressi.
  • Verifica lo stato del firewall: sudo ufw status verbose

Consiglio: Configura il firewall in base alle necessità del tuo sistema, permettendo solo il traffico essenziale.


3. Software affidabile

Perché è importante: L’installazione di software da fonti non verificate può introdurre malware o software malevolo nel tuo sistema.

Pratiche consigliate:

  • Repository ufficiali: Installa software principalmente dai repository ufficiali di Ubuntu, garantendo così l’affidabilità e la sicurezza dei pacchetti.
  • PPA (Personal Package Archives):
    • Se necessario, aggiungi PPA solo da sviluppatori o organizzazioni di fiducia.
    • Rimuovi PPA non utilizzati o non affidabili con sudo add-apt-repository --remove ppa:nome/ppa.
  • Verifica delle firme: Quando scarichi software esterno, verifica le firme digitali o gli hash per assicurarti dell’integrità dei file.

4. Password robuste

Caratteristiche di una password sicura:

  • Lunghezza: Almeno 12 caratteri.
  • Complessità: Uso di lettere maiuscole e minuscole, numeri e simboli.
  • Unicità: Non riutilizzare la stessa password per account diversi.

Strumenti utili:

  • Gestori di password:
    • KeePassXC: Un gestore di password open-source che memorizza le password in un database crittografato localmente.
    • Bitwarden: Una soluzione cloud con opzioni per l’auto-hosting.
  • Generazione di password:
    • Usa openssl rand -base64 14 per generare una password casuale nel terminale.

Consiglio: Evita parole comuni o informazioni personali nelle password.


5. Autenticazione a due fattori (2FA)

Vantaggi: L’uso del 2FA aggiunge un ulteriore livello di sicurezza, richiedendo un secondo fattore (come un codice temporaneo) oltre alla password.

Implementazione su Ubuntu:

  • SSH con 2FA:
    • Installa Google Authenticator: sudo apt install libpam-google-authenticator
    • Configura l’utente: esegui google-authenticator e segui le istruzioni.
    • Modifica PAM: aggiungi auth required pam_google_authenticator.so in /etc/pam.d/sshd.
    • Riavvia il servizio SSH: sudo systemctl restart sshd
  • Servizi online:
    • Abilita il 2FA su account come email, cloud storage e piattaforme di sviluppo.

6. Limita utilizzo root

Perché limitare l’accesso root: L’uso estensivo dei privilegi di root può aumentare il rischio di eseguire accidentalmente comandi dannosi o permettere a malware di avere pieno accesso al sistema.

Buone pratiche:

  • Usa sudo con parsimonia: Esegui comandi con sudo solo quando necessario.
  • Sessioni root limitate: Evita di accedere come root o di usare sudo su per lunghe sessioni.
  • Gestione degli utenti:
    • Crea utenti con privilegi adeguati.
    • Usa gruppi per gestire i permessi.
  • Log delle attività: Monitora l’uso di sudo controllando i log in /var/log/auth.log.

7. Crittografia

Crittografia del disco intero:

  • Durante l’installazione: Seleziona l’opzione per crittografare il disco con LUKS.
  • Vantaggi: Protegge tutti i dati in caso di furto o smarrimento del dispositivo.

Crittografia delle directory:

  • eCryptfs:
    • Puoi crittografare la tua home directory o altre cartelle specifiche.
    • Installa con sudo apt install ecryptfs-utils.
  • VeraCrypt:
    • Per creare volumi crittografati.
    • Scarica dal sito ufficiale e segui le istruzioni di installazione.

Consiglio: Ricorda di fare backup delle chiavi di crittografia in un luogo sicuro.


8. Servizi non necessari

Perché disabilitare servizi: Ogni servizio in esecuzione può rappresentare un potenziale punto di ingresso per attacchi.

Come identificare e gestire i servizi:

  • Elenca i servizi attivi:
    • sudo systemctl list-units --type=service
  • Disabilita un servizio all’avvio:
    • sudo systemctl disable nome_servizio
  • Arresta un servizio in esecuzione:
    • sudo systemctl stop nome_servizio
  • Rimuovi pacchetti inutili:
    • Usa sudo apt remove nome_pacchetto per rimuovere software non necessario.

Consiglio: Mantieni il sistema pulito e con solo i servizi essenziali attivi.


9. Backup regolari

Importanza dei backup: I backup proteggono i tuoi dati da perdite dovute a errori hardware, attacchi informatici o errori umani.

Strategie di backup:

  • Regola 3-2-1:
    • 3 copie dei dati.
    • 2 su diversi tipi di supporti (ad esempio, disco locale e cloud).
    • 1 copia off-site (ad esempio, cloud o in un luogo fisico diverso).
  • Strumenti di backup:
    • Déjà Dup: Un’interfaccia grafica semplice per backup e ripristino.
    • rsync: Strumento da linea di comando potente per sincronizzare file.
    • Timeshift: Per creare snapshot del sistema.

Consiglio: Automatizza i backup per garantirne la regolarità.


10. Antivirus

(Si hai letto bene…)
Anche se meno comune, il malware per Linux esiste. Inoltre, puoi prevenire la diffusione di virus verso altri sistemi.

Utilizzo di ClamAV:

  • Installazione: sudo apt install clamav
  • Aggiorna le definizioni dei virus: sudo freshclam
  • Esegui una scansione:
    • Scansione di una directory: clamscan -r /percorso/directory
    • Scansione e rimozione di file infetti: clamscan -r --remove /percorso/directory

Consiglio: Programma scansioni regolari e aggiorna frequentemente le definizioni.


11. Monitoraggio sistema

Strumenti per il monitoraggio:

  • chkrootkit:
    • Installazione: sudo apt install chkrootkit
    • Esecuzione: sudo chkrootkit
  • rkhunter:
    • Installazione: sudo apt install rkhunter
    • Aggiornamento database: sudo rkhunter --update
    • Esecuzione: sudo rkhunter --check

Analisi dei log:

  • Log di sistema: Controlla /var/log/syslog e /var/log/auth.log per attività sospette.
  • Strumenti di monitoraggio avanzati:
    • Auditd: Per monitorare e registrare le attività del sistema.
    • Ossec: Un sistema di rilevamento delle intrusioni host-based.

Consiglio: Configura notifiche o alert per attività anomale.

Sezioni Articolo

Categorie Blog

Leave A Comment