Hardening di SSH
Dopo gli ultimi guai, la Cartoleria Bianchi vuole un SSH più robusto. Sul server c'è la configurazione in uso e, da qualche parte, quella consigliata dal produttore. Confrontale: quante impostazioni sono troppo deboli? Il numero giusto indica il rapporto d'audit da decodificare.
Laboratorio 4 di 6 del percorso Blue Team / Difesa. Se ti blocchi hai 3 aiuti, dal più vago al più preciso: costano 0, 40 e 110 XP.
Cosa impari
Gli obiettivi si completano da soli mentre lavori nel terminale; ognuno vale punti esperienza:
- Leggere la configurazione in uso (sshd_config) (60 XP)
- Trovare la configurazione consigliata con find (100 XP)
- Confrontare le due configurazioni con diff (150 XP)
- Decodificare il rapporto con il numero giusto (100 XP)
Argomenti: defense, hardening, ssh, diff.
I comandi che userai
Il terminale è simulato e capisce una quarantina di comandi Linux. In questo laboratorio ti servono soprattutto questi:
cat: stampa il contenuto di un file: il modo più diretto di leggere configurazioni, note e registri.find: cerca file per nome, tipo o permessi in tutto un albero di cartelle; in un audit scova chiavi, copie dimenticate e programmi con permessi pericolosi.diff: confronta due file riga per riga e mostra le differenze, per esempio fra una configurazione e quella consigliata.grep: cerca le righe che contengono una parola, anche in intere cartelle con -r. È lo strumento principale per analizzare testo e registri.wc: conta righe, parole e caratteri: dice quanto è grande un file prima di aprirlo.base64: codifica e decodifica il Base64, il formato che trasforma byte in testo. Non protegge niente: si annulla senza chiave.|: la barra verticale | collega i comandi: l'uscita del primo diventa l'ingresso del successivo, così piccoli strumenti formano un'analisi completa.
L'ambiente simulato
Lavori su una shell Linux simulata, nella home dell'utente runner: file e cartelle inventati, nessun bersaglio in rete.
Oltre alla home c'è un sistema simulato completo, con file di configurazione, registri, utenti e permessi da esaminare.
La lezione di difesa
A laboratorio risolto, il writeup spiega cosa è andato storto e come ci si protegge:
Molti attacchi a SSH riescono per configurazioni lasciate ai valori comodi: login diretto come root, password al posto delle chiavi, password vuote, troppi tentativi per connessione. Confrontare la configurazione in uso con quella consigliata (diff) è il modo più rapido per vedere cosa è debole. L'hardening di SSH: PermitRootLogin no, solo chiavi (PasswordAuthentication no), MaxAuthTries basso, niente inoltri inutili; e a fianco un blocco automatico dei tentativi (fail2ban). Dopo ogni modifica si ricarica sshd tenendo aperta una sessione di riserva.
Prima e dopo questo laboratorio
Per aprirlo devi aver risolto:
- Leggere un log di accesso (Blue Team / Difesa, facile)
- Trovare i file (Fondamenti Linux, medio)
Dopo questo laboratorio puoi passare a:
- Chiudere le porte inutili (Blue Team / Difesa, medio)
Il percorso Blue Team / Difesa
Blue Team / Difesa è il percorso di chi protegge. Leggi i registri degli accessi, conti i tentativi falliti per scoprire chi sta forzando un login, ricostruisci la cronologia di un incidente, confronti una configurazione SSH con quella consigliata, chiudi i servizi inutili e gestisci una risposta a un incidente in quattro tempi: rilevare, contenere, ripulire, documentare. I comandi sono gli stessi degli altri percorsi, ma usati con gli occhi di chi deve capire cosa è successo e impedire che succeda di nuovo.