strutture:lnf:dr:calcolo:sistemi:greenbone
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
strutture:lnf:dr:calcolo:sistemi:greenbone [2022/12/05 15:27] – [2. Script per l'estrazione dei report di Greenbone] pistoni@infn.it | strutture:lnf:dr:calcolo:sistemi:greenbone [2023/02/10 09:49] (current) – pistoni@infn.it | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Istruzioni per il setup di Greenbone Community Edition ai LNF ====== | ||
+ | |||
+ | Per installare e configurare Greenbone ai LNF, utilizzare le istruzioni di Leandro Lanzi presentate nei [[https:// | ||
+ | |||
+ | Si allega anche qui la documentazione presentata: | ||
+ | |||
+ | * {{ : | ||
+ | * {{ : | ||
+ | * {{ : | ||
+ | * {{ : | ||
+ | * {{ : | ||
+ | * {{ : | ||
+ | |||
+ | In particolare ai LNF si e' scelto di installare una macchina virtuale locale, seguendo pedissequamente le istruzioni presenti nel manuale 03. | ||
+ | |||
+ | Inoltre, per poter automatizzare la configurazione iniziale di Greenbone, e' necessario avere a disposizione una CLI che permette di effettuare le operazioni di setup da shell o da script. Per questo motivo e' necessario installare il container gvm-tools seguendo il manuale 05. | ||
+ | |||
+ | |||
+ | ===== 1. Script di automazione del setup iniziale di Greenbone ===== | ||
+ | |||
+ | |||
+ | E' stato creato uno script di automazione che esegue il setup dei task da eseguire sulla LAN. Lo script legge un file con elencate le network di cui programmare gli scan, quindi, per ciascuna network, crea la schedula di esecuzione periodica, crea il target e infine il task. | ||
+ | |||
+ | ==== Prerequisiti per l'uso dello script ==== | ||
+ | |||
+ | Affinche' | ||
+ | |||
+ | * personalizzazione | ||
+ | * creazione della "// | ||
+ | * creazione della "// | ||
+ | |||
+ | Per queste operazioni si consiglia di seguire il manuale 04, almeno fino al paragrafo 6.2. | ||
+ | |||
+ | **Attenzione: | ||
+ | |||
+ | * //INFN - All TCP and Nmap top 100 UDP// | ||
+ | * //INFN - Full and fast// | ||
+ | |||
+ | Questi ultimi sono copie di quelli forniti da Greenbone, cui sono state portate le modifiche suggerite da Leandro nel manuale 04 (paragrafi 6.1 e 6.2). | ||
+ | |||
+ | ==== Preparazione del file di input per lo script ==== | ||
+ | |||
+ | Come accennato, lo script legge un file di input (per default di nome nets.dat) con l' | ||
+ | |||
+ | Vlan 1, 172.16.14.0/ | ||
+ | Vlan 2, 193.206.80.0/ | ||
+ | # | ||
+ | #VLAN 3, 193.106.81.0/ | ||
+ | Vlan 4, 193.206.82.0/ | ||
+ | # skipday | ||
+ | Vlan 5, 193.206.83.0/ | ||
+ | ... | ||
+ | |||
+ | **Particolarita': | ||
+ | |||
+ | * lo script accetta e ignora le righe vuote nel file di input | ||
+ | * lo script accetta commenti (carattere "#" | ||
+ | * lo script schedula un task al giorno, per la scansione di un target, ed accetta il meta-comando #skipday, con il quale salta un giorno nella schedula. | ||
+ | |||
+ | Con il file in esempio, verranno create 4 schedule periodiche (rispettivamente il primo, il secondo, il terzo e il quinto giorno di programmazione, | ||
+ | |||
+ | ==== Funzionamento dello script ==== | ||
+ | |||
+ | Lo script deve essere eseguito sul sistema dove e' presente il servizio Greenbone dall' | ||
+ | |||
+ | Lo script e' particolarmente utile per rifare velocemente il setup iniziale personalizzato di Greenbone. A Frascati il numero di network da scansionare e' molto elevato (circa 100), per cui pensare di rifare a mano tutta la configurazione iniziale, tutte le schedule periodiche, tutti i target e i task e' molto tedioso e in pratica richiederebbe moltissimo tempo. Lo script permette di automatizzare tale procedura. | ||
+ | |||
+ | **Sintassi: | ||
+ | |||
+ | ./ | ||
+ | |||
+ | Gli argomenti consentiti sono: | ||
+ | --netfile=< | ||
+ | --startday=< | ||
+ | --startmonth=< | ||
+ | --interval=< | ||
+ | --version | ||
+ | |||
+ | Lo script puo' essere invocato semplicemente con il seguente comando: | ||
+ | |||
+ | ./ | ||
+ | |||
+ | In questo caso legge le network dal file nets.dat. Per ogni network, crea un task, un target e una schedula a partire dalla data 1 gennaio (dell' | ||
+ | La seconda network del file verra' schedulata il giorno successivo, sempre alle 9:00 e sempre con periodicita' | ||
+ | |||
+ | Altro esempio con i parametri di specializzazione: | ||
+ | |||
+ | ./ | ||
+ | | ||
+ | In questo caso le network verranno lette dal file network.dat e la prima schedula verra' programmata il giorno 2 dicembre (prossimo) alle ore 9:00; tutte le schedule avranno periodicita' | ||
+ | |||
+ | Chi lo volesse utilizzare lo puo' trovare qui ({{ : | ||
+ | |||
+ | ==== Caso d'uso ==== | ||
+ | |||
+ | Per la configurazione dei LNF, lo script e' stato lanciato 2 volte, avendo preparato 2 files di network distinti, uno per le reti ad indirizzamento pubblico e un altro per le reti ad indirizzamento privato ({{ : | ||
+ | |||
+ | ./ | ||
+ | |||
+ | ./ | ||
+ | |||
+ | Il primo schedula gli scan delle net pubbliche a partire dal 2 gennaio con periodicita' | ||
+ | |||
+ | Il secondo schedula gli scan delle net private a partire dall' 1 febbraio con periodicita' | ||
+ | |||
+ | **Attenzione: | ||
+ | |||
+ | ===== 2. Script per l' | ||
+ | |||
+ | E' stato creato uno script per l' | ||
+ | |||
+ | Anche in questo caso, lo script deve essere eseguito sul sistema dove e' presente il servizio Greenbone dallo stesso utente che gestisce il servizio (i docker di Greenbone), perche' | ||
+ | |||
+ | **Sintassi: | ||
+ | |||
+ | ./ | ||
+ | |||
+ | Gli argomenti consentiti sono: | ||
+ | --netfile=< | ||
+ | --reportdir=< | ||
+ | --format=< | ||
+ | --mail=< | ||
+ | --scp=< | ||
+ | --debug | ||
+ | --version | ||
+ | |||
+ | Se l' | ||
+ | |||
+ | E' possibile anche inoltrare i report via scp verso il path specificato nell' | ||
+ | |||
+ | Con l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | Chi lo volesse utilizzare puo' trovarlo qui ({{ : | ||
+ | |||
+ | ==== Caso d'uso ==== | ||
+ | |||
+ | Ai LNF lo script viene utilizzato a crontab, con esecuzione ogni mezzora, per estrarre i report a mano a mano che i task in esecuzione vengono ultimati; quindi il record registrato nel crontab sulla macchina dove gira Greenbone e' il seguente: | ||
+ | |||
+ | < | ||
+ | |||
+ | Quindi sul server web dei LNF e' presente un altro comando a crontab che scarica i reports estratti posizionandoli su una specifica directory AFS. | ||
+ | |||
+ | < | ||
+ | |||
+ | **Nota:** nel caso specifico **non** si e' potuto utilizzare l' | ||
+ | |||
+ | < | ||
+ | |||
+ | perche' | ||
+ | |||
+ | Massimo Pistoni | ||
+ | |||
+ | P.S. Ringraziamenti particolari a Leandro Lanzi per il grande lavoro fatto e per la chiarezza dei manuali. | ||
+ | |||