Se le policy aziendali non permettono la disabilitazione del login in SSH sugli Hardened Repository, è consigliato aggiungere MFA al sistema per rinforzare la sicurezza.
Questa protezione funziona solo se è utilizzato Veeam Backup & Replications v11 poichè le versioni precedenti richiedono SSH sulla porta 22 penalizzando la funzionalità.
Per aggiungere la multi-factor authentication (MFA) agli Hardened Repositories, DUO offre una soluzione economica adatta allo scopo.
Blog Serie
Veeam v11: Hardened Repository (Immutability) installazione - pt.1
Veeam v11: Hardened Repository (Immutability) configurazione - pt.2
Veeam v11: Hardened Repository (Immutability) aggiungere MFA - pt.3
Generare le chiavi dell'applicazione
Prima di procedere con la configurazione MFA nell'Hardened Repository, abbiamo bisogno di generare le chiavi dell'applicazione nel portale DUO.
Utilizzando il browser preferito, effettuare il login nel portale DUO come admin.
Posizionarsi nell'area Applications e cliccare sul bottone Protect an Application.
Scorrere la lista fino a trovare la voce UNIX Application e cliccare su Protect.
Sotto Details sono presenti le chiavi per configurare l'applicazione duo_login nel server Linux utilizzato come Hardened Repository.
Installare login_duo
Effettuare un login via SSH nell'Hardened Repository ed installare il package login_duo. Nell'esempio, l'Hardened Repository utilizza Linux Ubuntu come OS.
# sudo apt-get install -y login-duo
Editare il file /etc/security/login_duo.conf file per iniziare la configurazione.
# sudo vi /etc/security/login_duo.conf
Inserire le chiavi richieste per configurare l'applicazione duo_login. Impostazioni aggiuntive possono essere trovate nella tabella Duo Configuration Options.
- Integration key
- Secret key
- API hostname
Il file /etc/security/login_duo.conf con le chiavi generate nel portale DUO.
Testare duo_login
Come utente normale, eseguire il seguente comando per testare duo_login. Se tutto funziona come previsto, si dovrebbe ricevere un link di enrollment con la richiesta di effettuare l'enroll.
# /usr/sbin/login_duo
Copiare il link nel browser preferito ed avviare la procedura di enrollment. Cliccare su Start Setup.
Specificare il dispositivo (è consigliato il telefono cellulare) da usare e cliccare su Continue.
Inserire il proprio numero di telefono e confermare. Cliccare su Continue.
Specificare la tipologia di telefono e cliccare su Continue.
Installare l'applicazione DUO nel telefono e cliccare I have Duo Mobile installed.
Utilizzando l'applicazione DUO installata nel telefono, effettuare la scansione del codice QR e cliccare su Continue quando fatto.
Una volta che il telefono è stato specificato, eseguire nuovamente il comando login_duo. Inserire il codice visualizzato nell'applicazione DUO installata nel telefono e premere Enter. Se si riceve il messaggio "Success. Loggin you in...", il processo di autenticazione funziona correttamente.
# /usr/sbin/login_duo
Per abilitare MFA per ogni login SSH nell'Hardened Repository, editare il file /etc/ssh/sshd_config.
# sudo vi /etc/ssh/sshd_config
Aggiungere la seguente riga (è richiesto OpenSSH 4.4 o successivo) e salvare il file:
ForceCommand /usr/sbin/login_duo
Per proteggere i login SSH, è necessario disabilitare le voci PermitTunnel e AllowTcpForwarding nel file sshd_config. Aggiungere queste due righe:
PermitTunnel no
AllowTcpForwarding no
Riavviare il servizio SSH.
# sudo systemctl start ssh
Quando si prova ad effettuare il login in SSH nel Server Linux, ora viene richiesto di inserire un codice generato dall'applicazione DUO installata nel telefono.
Se si vogliono ricevere richieste di login in modalità push al posto di inserire il codice, aggiungere la seguente riga nel file /etc/security/login_duo.conf:
autopush = yes
Sebbene sia consigliata la disabilitazione dei login in SSH, l'aggiunta dell'autenticazione MFA nell'Hardened Repository aggiunge un livello extra di sicurezza.
Oltra all'aggiunta della MFA per i login SSH, verificare che non ci sia un accesso diretto del proprio repository da Internet e bloccare qualsiasi traffico in ingresso non voluto. Il traffico in uscita di Internet dovrebbe essere permesso solo per DUO, Ubuntu (o la distribuzione utilizzata Linux) e i servizi NTP.
Buonasera Paolo.
Complimenti. ottimo articolo. L'unico che ho letto e capito al volo.
Ho subito messo in pratica tutto quello che c'è scritto ed ha funzionato tutto al primo colpo.
Avrei una richiesta. E' possibile fare un articolo su come ripristinare il repository Hardened in caso di disaster recovery?
Cioè, come posso attaccare questo repository su una nuova installazione di ESXi e nuova macchina virtuale Veeam B&R
Grazie mille
Poichè le credenziali utilizzate por connettere l'hardened repository non sono salvate all'interno di VBR, se il VBR viene compromesso i dati sul repository non possono essere alterati. Quindi in caso di disastro, tiri su VBR, ti connetti all'hardened repository e importi i backup.
Perfetto.
Per riconnettermi all' hardened repository che credenziali devo usare?
Prima di riconnetterlo, devo eseguire delle operazioni sulla macchina Linux?
Grazie ancora
Fabio
Stesse credenziali utilizzate per connettere il repository la prima volta e l'account deve prima essere reso membro del gruppo sudo per poter effettuare l'operazione.
Grazie mille Paolo.
Tutto chiaro....
Complimenti ancora.
Ottimo articolo! Complimenti! Hai reso la cosa una passeggiata! Sarebbe bello se scrivessi qualcosa sulle regole di firewall per l'hardened Repository, almeno per me che non sono un professionista.
Una domanda: ha senso che il server con Veeam B&R abbia due schede di rete su due subnet (o VLAN)? una per connettersi all'ambiente di produzione e una solo per comunicare con il Repository? Veeam raccomanda la segmentazione della rete ma non entra nei dettagli. Mi piacerebbe sapere come la vedi
Il traffico tra Proxy e Repository richiede che sia aperta la porta TCP 6162, quindi bisogna assicurarsi che nel firewall sia configurata questa regola nel caso.
Avere la segmentazione del traffico alza sicuramente il livello di sicurezza però è fondamentale che gli accessi al "repository immutable" in SSH o tramite iDRAC o iLO siano disabilitati.... ovviamente è ovvio che il repository deve essere fisico! Se questi accessi sono abilitati, rende quasi inutile avere la funzione di Immutability... acquisite le credenziali, non c'è segmentazione che tenga per un eventuale attacco.
Ultimamente trovare qualcuno che sa cio che dice è raro ,
se poi come nel tuo caso , lo sa spiegare in modo chiaro , dettagliato e sintetico e' da OSCAR.
Complimenti !
Grazie Andrea.
Veramente un ottimo articolo! Comlplimenti
Grazie Gabriele!
Fantastic series of articles. Thank you!
Thanks!
when updating veeam, the transport on the lx needs to be updated too. How to reacces the server? Just reenable ssh and add locveeam user back to sudo group?
Yes, correct.
yes that works!
by the way many thanks for the great How-To!!!!