GNU/Linux >> Linux Esercitazione >  >> Linux

Introduzione al controllo della sicurezza di Lynis

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 tramite apt-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?


Linux
  1. Scansiona la tua sicurezza Linux con Lynis

  2. Iniziare con Zsh

  3. Iniziare con ls

  4. 5 suggerimenti per iniziare con la sicurezza del server Linux

  5. Iniziare con Samba per l'interoperabilità

Introduzione al sistema operativo Linux

Guida introduttiva a GitHub

Iniziare con Nix Package Manager

Iniziare con systemctl

Audit di sicurezza con Lynis

Come eseguire un audit di sicurezza su AlmaLinux con Lynis