Gli hacker sono sempre là fuori, alla ricerca delle loro prossime vittime? La sicurezza dei tuoi dispositivi Linux è un argomento preoccupante e qualcosa che stai cercando di migliorare? Non cercare più. In questo articolo imparerai a conoscere uno strumento chiamato Lynis di CISOfy che ti aiuta a eseguire scansioni di vulnerabilità per scoprire i problemi prima che si verifichino.
Imparerai come eseguire varie scansioni di controllo della sicurezza e approfondire i rapporti forniti dallo strumento Lynis. Continua a leggere per iniziare l'auditing!
Prerequisiti
Per utilizzare Lynis ed eseguire le demo in questo tutorial, assicurati di disporre di quanto segue:
- Una distribuzione Debian Linux:questo tutorial utilizzerà Ubuntu 20.04 LTS.
- Traffico SSH e ICMP in entrata consentito dall'host Lynis a tutti gli host controllabili remoti.
- Un utente non root con
sudo
privilegi.
Installazione di Lynis
Inizia questo tutorial familiarizzando con Lynis e imparando a installare lo strumento.
Lynis è uno strumento di controllo della sicurezza open source per sistemi simili a Unix/Linux ed esegue scansioni di vulnerabilità approfondite su quasi tutti i sistemi basati su UNIX, fornendo quanto segue.
- Controllo di sicurezza: testare certificati SSL, account utente senza password e altro.
- Rafforzamento del sistema: patch del software, modifiche alla configurazione di rete, incongruenze nei permessi dei file.
- Scansione delle vulnerabilità: convalida dei pacchetti contro vulnerabilità note da database come CVE.
- Rapporti sulla conformità della configurazione e correzione: convalidare lo stato corrente degli endpoint rispetto a documenti di policy predefiniti.
Lynis ti mostra solo potenziali problemi di sicurezza; non indurerà le macchine per te.
Ora è il momento di installare Lynis in modo da poter iniziare a sfruttare le funzionalità. Accedi al tuo host Linux basato su Ubuntu o Debian come utente non root con privilegi sudo e segui di seguito per installare Lynis.
1. Innanzitutto, aggiorna i tuoi repository di pacchetti apt, in modo che i tuoi repository dispongano dei pacchetti Lynis necessari.
Puoi installare Lynis tramite
apt-get
, tarball di origine o clonando il repository GitHub. Questo tutorial installerà Lynis tramiteapt-get
.
# Downloads the package lists from the repositories and "updates" them
# to get information on the newest versions of packages and their dependencies
sudo apt-get -y update
# Fetches new versions of packages existing on the machine and handle
# the dependencies so it might remove obsolete packages or add new ones
sudo apt-get -y dist-upgrade
# Download (wget) and install apt-transport-https. The apt-transport-https
# is an APT transport method. This APT transport method allows APT to use
# HTTPS certificates when downloading repository metadata and packages from servers.
sudo apt install apt-transport-https wget -y
Quindi, scarica la chiave pubblica dalla chiave di firma del repository ufficiale tramite il wget
utility e aggiungi la chiave ad APT con il apt-key
comando.
La chiave pubblica fornisce un metodo per verificare che un'entità attendibile firmi il software. In questo caso, il
apt-get
gestore di pacchetti in Debian.
wget -O - https://packages.cisofy.com/keys/cisofy-software-public.key | sudo apt-key add -
Vedrai un OK messaggio, che indica che la chiave è stata aggiunta correttamente.
3. Ora aggiungi il repository Lynis (cisofy-lynis
) all'elenco dei repository dei pacchetti di sistema con il seguente comando
echo "deb https://packages.cisofy.com/community/lynis/deb/ stable main" | sudo tee /etc/apt/sources.list.d/cisofy-lynis.list
4. Quindi, esegui i comandi seguenti su update
l'elenco dei pacchetti e installa Lynis con apt
gestore di pacchetti.
sudo apt-get -y update # Update the package list
sudo apt install lynis -y # Install Lynis
Infine, esegui il comando seguente per verificare la versione di Lynis installata. Come puoi vedere di seguito, il comando restituisce la versione Lynis installata.
Al momento della scrittura, l'attuale versione stabile/ultima rilasciata di Lynis è la 3.0.6.
sudo lynis show version
Come puoi vedere di seguito, il comando restituisce la versione Lynis installata.
Verifica dei comandi e delle impostazioni di Lynis
Con Lynis installato, è il momento di controllare alcuni dei suoi comandi e opzioni di configurazione. Esegui show
comando con il commands
argomento per vedere tutti i vari comandi Lynis.
sudo lynis show commands
Lynis ha varie impostazioni per personalizzarne il comportamento. Esegui lynis show settings
per controllare le impostazioni multiple definite nel file di configurazione di Lynis. Il file di configurazione si trova generalmente in /etc/audit directory.
Quando viene eseguito, Lynis cerca prima il file di configurazione nella directory /etc/audit. Non riuscendo a trovarlo, tenterà di trovarlo nella tua home directory.
sudo lynis show settings
Per un elenco completo delle opzioni e della sintassi di Lynis, esegui
man lynis
comando.
Invocare una verifica
Lynis è uno strumento di controllo, quindi eseguiamo il tuo primo controllo di sicurezza. Quando esegui un controllo di sicurezza, Lynis controlla la configurazione del sistema e del software per eventuali problemi di sicurezza.
Esegui lynis audit system
comando come mostrato di seguito per eseguire un controllo sul tuo sistema.
Si consiglia di eseguire Lynis come root (o un altro utente con diritti completi) per testare tutto ciò che è disponibile sul sistema. La scansione offrirà consigli per il miglioramento e mostrerà quali parti del tuo sistema non hanno un rafforzamento della sicurezza.
sudo lynis audit system
Il risultato del comando è un rapporto completo, che vedrai suddiviso nelle sezioni seguenti. Quindi, tieni presente che i prossimi screenshot sono il risultato dell'esecuzione di
lynis audit system
rapporto.
Comprendere il rapporto di audit
Il system
audit fornisce un report completo di varie aree, tra cui:
- Directory e file relativi alla registrazione e al controllo
- Servizi come il demone SSH, il server web Apache, il database MySQL e altri
- Aspetti di sicurezza come la sicurezza della password, le quote del file system e l'utilizzo della memoria (heap)
Per classificare la gravità, Lynis ha diversi stati di stato e anche risultati con codice colore che indicano la gravità di ogni problema riscontrato.
- OK – Tutti i test richiesti sono stati completati con successo.
- AVVISO – Un problema che dovrebbe essere verificato e risolto quando possibile.
- FALLITO – Un test non riuscito che potrebbe influire sulla sicurezza del sistema.
- TROVATO – Lynis ha trovato l'oggetto richiesto, solitamente utilizzato per individuare file specifici.
- NON TROVATO – Lynis non è stato in grado di individuare l'oggetto richiesto.
- SUGGERIMENTO – Un suggerimento non critico che dovrebbe essere valutato per l'azione.
- FATTO – In genere utilizzato per indicare che un'attività è stata eseguita, come l'esecuzione di query sui dati.
Comprendere i risultati del "kernel"
Il supporto per l'audit del kernel è abilitato per impostazione predefinita sulla maggior parte delle moderne distribuzioni Linux. Lynis controlla se stai utilizzando funzionalità di sicurezza del kernel come SELinux, AppArmor o GRSecurity.
Valutazione dei risultati di "Memoria e processi"
Lynis esegue numerosi test per verificare la quantità di memoria in uso e altri problemi di processo correlati. Ad esempio, quando un'applicazione utilizza troppa memoria, può diventare un vettore Denial of Service (DoS). Lynis controlla se servizi come httpd o sshd stanno perdendo informazioni.
Verifica dei risultati di "Software:firewall"
In questo test, Lynis controlla il modulo del kernel di iptables. Può verificare se le impostazioni del firewall sono corrette anche per i firewall software, inclusi FireHOL, FireQoS, IPCop, IPTables (Netfilter), Kerio Control.
Valutazione dei risultati dei "servizi non sicuri"
Lynis cerca anche servizi non sicuri come FTP e Telnet. Questi servizi potrebbero comportare un rischio significativo per la sicurezza, in particolare i primi due se sono esposti tramite un sistema con connessione a Internet.
Inoltre, Lynis eseguirà anche controlli per i servizi su cui potresti voler migliorare la sicurezza, come le impostazioni della porta SSH, le impostazioni del server dei nomi BIND e molto altro.
Trovare i file di Lynis
Il rapporto viene generato sulla console, ma Lynis crea anche un file di registro e un file di rapporto. Il percorso del rapporto è /var/log/lynis-report.dat . Il rapporto di registro più dettagliato, con informazioni sul registro di test e debug, si trova in /var/log/lynis.log.
Il file di registro delle informazioni viene registrato dopo ogni scansione, mentre le informazioni per il file di rapporto vengono salvate solo al termine dell'audit.
Le informazioni che entrano nel file di registro:
- Informazioni sulla revisione: elementi di configurazione trovati, suggerimenti per il miglioramento e rischi per la sicurezza.
- Risultato del test (e altro): tipo di controllo e motivo per l'esecuzione di un test.
- Informazioni di debug: usato per esaminare i problemi o come funzionava qualcosa. I dettagli possono includere righe di comando complete o informazioni preziose aggiuntive per la risoluzione dei problemi.
Ispezione di test specifici da avvertenze e suggerimenti
Ora che hai generato un rapporto, il passaggio successivo consiste nell'esaminare come risolvere le vulnerabilità segnalate da Lynis.
Quando Lynis termina una scansione, ti fornisce un elenco di risultati. Alcuni di questi risultati potrebbero essere avvisi o suggerimenti. Ogni avviso o suggerimento ha una breve spiegazione e un collegamento al gruppo di controllo, dove puoi trovare maggiori informazioni sul messaggio e su come correggere gli avvisi.
Ad esempio, l'avviso seguente indica che Lynis ha eseguito una scansione del sistema e che dovresti riavviare l'host a causa di un probabile aggiornamento del kernel. Vedrai che a ogni avviso è associato un ID di prova. In questo caso, l'ID è KRL-5830 . Puoi trovare ulteriori informazioni sull'avviso tramite il suo ID.
Analizziamo un avviso specifico. Per farlo, esegui show details
comando che fornisce l'ID del test di cui vuoi saperne di più. Lo stesso KRL-5830 come prima, per esempio. Segue il comando completo.
sudo lynis show details KRNL-5830
Una volta eseguito il show details
comando, Lynis fornirà un registro dettagliato di ciò che ha fatto e di come ha generato l'avviso, come mostrato di seguito.
Puoi trovare l'ID del test per i suggerimenti esattamente come per gli avvisi.
Personalizzazione dei profili di scansione Lynis
Per raggruppare i test, consentendoti di abilitare o disabilitare i test, definire l'ambito dei test e altro ancora, Lynis dispone di profili di scansione archiviati in /etc/lynis directory. I profili di scansione hanno varie configurazioni, fornendo un modo pratico per gestire test simili in blocco invece di doversi preoccupare di gestirli uno alla volta.
Lynis viene fornito con un solo profilo di scansione chiamato default
per impostazione predefinita, come puoi vedere eseguendo show profiles
comando. Il profilo predefinito è il più generico possibile.
sudo lynis show profiles
Se preferisci non eseguire tutti i test, modificare l'output in qualche modo o cambiare il comportamento in qualsiasi modo, puoi creare o modificare i profili. Ad esempio, apri /etc/lynis/default.prf scansiona il profilo nel tuo editor preferito. Di seguito puoi vedere il contenuto del predefinito profilo di scansione.
È possibile modificare il profilo di scansione predefinito o crearne uno personalizzato. Ad esempio, forse hai alcuni test che vorresti saltare. Puoi indicare a Lynis quali test saltare impostando il skip-test
attributo in un profilo di scansione.
Per creare un profilo personalizzato, copia il default.prf scansiona il profilo e chiamalo in modo specifico come custom.prf . Aprire il profilo di scansione in un editor di testo e aggiungere i seguenti attributi. Lynis salterà sempre i due test i cui ID specifichi di seguito quando invochi questo profilo di scansione.
# Skip checking password set for single mode.
skip-test=AUTH-9308
# Skip checking the PKGS-7392 package.
skip-test=PKGS-7392
Puoi avere molti profili personalizzati come vuoi. Ma è possibile eseguire solo un profilo personalizzato alla volta.
Creazione di un profilo personalizzato
Potresti voler personalizzare i tuoi test Lynis e per farlo puoi creare un profilo personalizzato. Per sapere come, segui di seguito.
1. Crea un custom.prf nel file /etc/lynis/ directory utilizzando il nano
editore.
sudo nano /etc/lynis/custom.prf
2. Compila il file custom.prf. In questo esempio, proverai a saltare due avvisi:AUTH-9308 e PKGS-7392.
Per saltare i test, aggiungi il seguente contenuto al file.
# Skip checking password set for single mode.
skip-test=AUTH-9308
# Skip checking the PKGS-7392 package.
skip-test=PKGS-7392
3. Salva ed esci dal file premendo Ctrl + O quindi Ctrl + X quando fatto. La prossima volta che esegui un controllo di controllo Lynis, salterà l'ID test specificato come mostrato di seguito.
sudo lynis audit system
Come puoi vedere, i due avvisi di cui sopra sono spariti.
Interpretazione dell'indice di indurimento di Lynis
Al termine di una scansione, Lynis ti fornirà un riepilogo. In questo riepilogo trovi una metrica interessante chiamata Indice di indurimento . L'indice di rafforzamento è un numero calcolato in base alla minaccia complessiva per l'host scansionato in base all'ultima scansione.
L'indice Hardening ti dà un'indicazione di quanto sia sicuro il tuo sistema. Se, ad esempio, il tuo sistema ha più vulnerabilità critiche del normale, l'indice sarà più basso. Quando correggi avvisi o implementi suggerimenti, questo indice di rafforzamento aumenterà di conseguenza.
L'output seguente indica il numero di test eseguiti da Lynis e i valori dell'indice di protezione avanzata trovati eseguendo questo strumento di controllo. Il numero 239 significa che ha eseguito 239 test e il punteggio è del 60% per essere rafforzato.
Conclusione
A questo punto, dovresti avere una solida conoscenza dello strumento di scansione delle vulnerabilità di Lynis e di come ti aiuta a proteggere i tuoi host. Utilizzando Lynis, ora puoi scansionare periodicamente i tuoi sistemi per le ultime vulnerabilità e proteggere i tuoi host!.
Se hai seguito questo tutorial, sei soddisfatto dell'indice di Hardening che hai restituito? Quali modifiche hai intenzione di fare per migliorarlo?