
Uno strumento di audit di sicurezza per UNIX basato su diversi framework di sicurezza.

Lockdown UNix Auditing and Reporting
Versione attuale 16.6.1
Fare riferimento a lunar.sh e CHANGELOG.md per informazioni più aggiornate sulla versione
CC BY-NC-SA: https://creativecommons.org/licenses/by-nc-sa/4.0/
Sostienimi qui: https://ko-fi.com/richardatlateralblast
Eseguire questo codice solo in modalità audit, ad esempio con l'opzione -a o --audit. Eseguire il lockdown a proprio rischio. Come per qualsiasi modifica al sistema, effettuare backup. Sto lavorando per migliorare la modalità di ripristino, ma potrebbero esserci ancora bug.
Ho cercato di ripulire questo script il più possibile usando shellcheck, e ho abilitato l'opzione per usare i flag della shell -e (errexit) e -u (nounset) per aiutare a proteggere dagli errori. Il flag della shell -x (xtrace) può essere abilitato usando lo script con il flag -Q o --debug.
In corso:
Questo script genera un report di audit con punteggio sulla sicurezza di un host Unix. Si basa sul CIS e su altri framework. Dove possibile sono presenti riferimenti al CIS e ad altri benchmark nella documentazione del codice.
Perché uno script shell? Volevo uno strumento in grado di funzionare su sistemi bloccati dove altri strumenti potrebbero non essere disponibili. Volevo anche uno strumento che funzionasse su tutte le versioni di UNIX. Detto questo, ci sono alcune differenze tra sh e bash, quindi ho usato solo funzioni di sh.
Non vi è alcuna garanzia implicita o esplicita con questo script. La mia raccomandazione è di usare questo script solo in modalità audit, e di affrontare ogni avviso singolarmente tramite policy, documentazione e gestione della configurazione.
Non sono assolutamente un programmatore, quindi ci saranno sicuramente bug e modi migliori per affrontare le cose in questo script, quindi un sincero ringraziamento alle persone che hanno fornito feedback, aggiornamenti e patch per correggere bug/funzionalità nel codice.
Può anche eseguire un lockdown. A differenza di altri script, ho aggiunto la capacità di annullare le modifiche. I file vengono salvati tramite cpio in una directory basata sulla data.
Sebbene possa eseguire un lockdown, come detto in precedenza, ti consiglio di affrontare gli avvisi tramite policy, documentazione e gestione della configurazione. Questo è il modo in cui uso lo strumento. L'audit dei servizi AWS supporta solo la reportistica, non fornisce la capacità di lockdown.
I seguenti sistemi operativi sono supportati:
Il supporto a Windows richiederebbe l'installazione di software aggiuntivo, quindi non me ne sono occupato. Detto questo, il supporto a Windows potrebbe arrivare in futuro tramite bash.
I seguenti servizi sono supportati:
L'audit dei servizi AWS utilizza la CLI AWS, e come tale richiede un utente con i diritti appropriati. Attualmente non supporta la capacità di lockdown, supporta solo la generazione di un report di audit rispetto al benchmark CIS.
Ci sono un paio di controlli che possono essere eseguiti o risolti solo tramite la GUI. Un esempio è l'abilitazione della fatturazione. Fare riferimento al CIS Benchmark per maggiori informazioni.
Dove possibile ho inserito comandi di correzione suggeriti nell'output dettagliato dell'audit. Anche in questo caso, in alcuni casi questi possono essere eseguiti solo tramite la CLI. Fare riferimento al CIS Benchmark per maggiori informazioni.
Inoltre ho aggiunto una modalità di raccomandazioni che verifica AWS rispetto alle best practice disponibili pubblicamente di aziende come Cloud Conformity.
Il seguente output di gestione della configurazione è supportato:
Questa opzione genera codice/strofe di esempio per la gestione della configurazione Ansible per implementare la raccomandazione.
Per UNIX:
Per AWS:
Per Azure:
Usage: ./lunar.sh -switch|--switch