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
- Aggiorna l’indice dei pacchetti:
- 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.
- Installa il pacchetto
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
osudo ufw allow 22
- HTTP:
sudo ufw allow http
osudo ufw allow 80
- HTTPS:
sudo ufw allow https
osudo ufw allow 443
- SSH:
- 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.
- Usa
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
- Installa Google Authenticator:
- 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 consudo
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.
- Usa
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
- Scansione di una 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
- Installazione:
- rkhunter:
- Installazione:
sudo apt install rkhunter
- Aggiornamento database:
sudo rkhunter --update
- Esecuzione:
sudo rkhunter --check
- Installazione:
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