Poiché oggigiorno molti dei nostri dati personali e professionali sono disponibili online, è importante che tutti, dai professionisti agli utenti Internet generici, imparino le basi della sicurezza e della privacy. Come studente, ho potuto acquisire esperienza in questo settore grazie all'iniziativa CyberPatriot della mia scuola, dove ho avuto l'opportunità di interagire con esperti del settore per conoscere le violazioni informatiche e i passaggi di base per stabilire la sicurezza di un sistema.
Più risorse Linux
- Comandi Linux cheat sheet
- Cheat sheet sui comandi avanzati di Linux
- Corso online gratuito:Panoramica tecnica RHEL
- Cheat sheet della rete Linux
- Cheat sheet di SELinux
- Cheat sheet dei comandi comuni di Linux
- Cosa sono i container Linux?
- I nostri ultimi articoli su Linux
Questo articolo descrive in dettaglio sei semplici passaggi per migliorare la sicurezza del tuo ambiente Linux per uso personale, sulla base di ciò che ho imparato finora come principiante. Durante il mio viaggio, ho utilizzato strumenti open source per accelerare il mio processo di apprendimento e familiarizzare con concetti di livello superiore relativi alla protezione del mio server Linux.
Ho testato questi passaggi utilizzando Ubuntu 18.04, la versione con cui ho più familiarità, ma questi passaggi funzioneranno anche per altre distribuzioni Linux.
1. Esegui aggiornamenti
Gli sviluppatori trovano costantemente modi per rendere i server più stabili, veloci e sicuri correggendo le vulnerabilità note. Eseguire regolarmente gli aggiornamenti è una buona abitudine per massimizzare la sicurezza. Eseguili con:
sudo apt-get update && apt-get upgrade
2. Abilita la protezione firewall
L'abilitazione di un firewall semplifica il controllo del traffico in entrata e in uscita sul server. Esistono molte applicazioni firewall che puoi utilizzare su Linux, inclusi firewall-cmd e Uncomplicated Firewall (UFW). Uso UFW, quindi i miei esempi sono specifici per esso, ma questi principi si applicano a qualsiasi interfaccia tu scelga.
Installa UFW:
sudo apt-get install ufw
Se vuoi proteggere ancora di più il tuo server, puoi negare le connessioni in entrata e in uscita. Attenzione:questo taglia il tuo server fuori dal mondo, quindi una volta che hai bloccato tutto il traffico, devi specificare quali connessioni in uscita sono consentite dal tuo sistema:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Puoi anche scrivere regole per consentire le connessioni in entrata di cui hai bisogno per uso personale:
ufw allow <service>
Ad esempio, per consentire connessioni SSH:
ufw allow ssh
Infine, abilita il firewall con:
sudo ufw enable
3. Rafforza la protezione con password
L'implementazione di una solida policy per le password è un aspetto importante per proteggere un server da attacchi informatici e violazioni dei dati. Alcune procedure consigliate per i criteri password includono l'applicazione di una lunghezza minima e la specifica dell'età della password. Uso il pacchetto libpam-cracklib per eseguire queste attività.
Installa il pacchetto libpam-cracklib:
sudo apt-get install libpam-cracklib
Per imporre la lunghezza della password:
- Apri il
/etc/pam.d/common-password
file. - Modifica la lunghezza minima dei caratteri di tutte le password modificando il
minlen=12
riga a quanti caratteri vuoi.
Per impedire il riutilizzo della password:
- Nello stesso file (
/etc/pam.d/common-password
), aggiungi la rigaremember=x
. - Ad esempio, se vuoi impedire a un utente di riutilizzare una delle ultime cinque password, utilizza:
remember=5
.
Per imporre l'età della password:
- Trova le seguenti righe in
/etc/login.defs
file e sostituirli con il periodo di tempo preferito (giorni). Ad esempio:PASS_MIN_AGE: 3
PASS_MAX_AGE: 90
PASS_WARN_AGE: 14
Per imporre le specifiche dei caratteri:
- I quattro parametri per applicare le specifiche dei caratteri nelle password sono
lcredit
(minuscolo),ucredit
(maiuscolo),dcredit
(cifra) eocredit
(altri caratteri). - Nello stesso file (
/etc/pam.d/common-password
), individua la riga contenentepam_cracklib.so
.- Aggiungi quanto segue alla fine di questa riga:
lcredit=-a ucredit=-b dcredit=-c ocredit=-d
- Ad esempio, la riga seguente richiede che le password contengano uno di ogni parametro. Puoi modificare i numeri in base al tuo livello preferito di sicurezza della password:
lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
- Aggiungi quanto segue alla fine di questa riga:
4. Disattiva i servizi non essenziali soggetti a sfruttamento
È consigliabile disabilitare i servizi non necessari. Ciò consente di aprire un minor numero di porte per lo sfruttamento.
Installa il pacchetto systemd:
sudo apt-get install systemd
Guarda quali servizi sono in esecuzione:
systemctl list-units
Riconosci quali servizi potrebbero causare potenziali vulnerabilità al tuo sistema. Per ogni servizio:
- Interrompi il servizio se è attualmente in esecuzione:
systemctl stop <service>
- Disabilita il servizio dall'avvio all'avvio:
systemctl disable <service>
- Dopo aver eseguito questi comandi, controlla lo stato del servizio:
systemctl status <service>
5. Verifica le porte di ascolto
Le porte aperte potrebbero comportare rischi per la sicurezza, quindi è importante controllare le porte in ascolto sul tuo server. Uso il comando netstat per mostrare tutte le connessioni di rete:
netstat -tulpn
Guarda le colonne degli indirizzi per determinare il numero di porta. Dopo aver trovato le porte aperte, esaminale per assicurarti che siano tutte necessarie. In caso contrario, modifica i servizi in esecuzione o modifica le impostazioni del firewall (o lascia che fail2ban lo modifichi per te).
6. Cerca malware
Il software di scansione antivirus può essere utile per tenere i virus fuori dal sistema. Usarli è un modo semplice per mantenere il tuo server libero da malware. Il mio strumento preferito è il software open source ClamAV.
Installa ClamAV:
sudo apt-get install clamav
Aggiorna le firme dei virus:
sudo freshclam
Scansiona tutti i file e stampa i file infetti, suonando un campanello quando ne viene trovato uno:
sudo clamscan -r --bell -i /
Puoi e dovresti automatizzare le scansioni in modo da non doverle ricordare o perdere tempo a eseguirle manualmente. Per un'automazione semplice come questa, puoi utilizzare i timer di sistema o il tuo cron preferito.
Mantieni il tuo server al sicuro
Non possiamo lasciare la responsabilità della protezione dei server a una singola persona o organizzazione. Poiché il panorama delle minacce continua a espandersi rapidamente, spetta a ciascuno di noi essere consapevole dell'importanza della sicurezza dei server e adottare alcune best practice di sicurezza semplici ed efficaci.
Questi sono solo alcuni dei tanti passaggi che puoi eseguire per mantenere sicuro il tuo server Linux. Naturalmente, la prevenzione è solo una parte della soluzione. Queste politiche dovrebbero essere combinate con un monitoraggio rigoroso per gli attacchi Denial of Service, l'analisi del sistema con Lynis e la creazione di backup frequenti.
Quali strumenti open source usi per proteggere il tuo server? Raccontacelo nei commenti.