Newsgroup: it.comp.os.linux.iniziare
Titolo: OpenVPN+LDAP+MFA

Salve,
 
dovrei tirar su un server VPN con gli utenti gestiti da AD DC e 
associarvi l'MFA.
 
Un'ottima guida per i primi due punti è questa: 
https://openvpn.net/vpn-server-resources/openvpn-access-server-on-active-directory-via-ldap/
 
 
Interessante la possibilità di negare l'accesso a chi non sia nella 
"user permissions table" perché giustamente non tutti gli utenti di AD 
DC potrebbero\dovrebbero avere accesso ora però mi rimane il discorso 
MFA per cui ho trovato questo:
 
https://support.openvpn.com/hc/en-us/articles/4403299425563-Access-Server-Google-Authenticator-multi-factor-authentication
 
 
In quest'altro caso invece ho una possibilità di scelta di MFA maggiore:
 
https://www.miniorange.com/two-factor-authentication-for-open-vpn
 
 
Quale potrebbe essere secondo voi la scelta migliore visto che vorrei 
attivare lato MS, pagando un opzione extra, l'MFA con MS Authenticator, 
SMS e Google?
 
Saluti.
^Bart

 associarvi l'MFA.
 
scusa ma queste non sono più richieste da icoli. va bene tutto ma quando 
si tratta di mettere su una cosa "enterprise" partire chiedendo l'aiuto da 
casa non è proprio il massimo. ci stanno le domande per carità, ma certe 
volte risponderti in modo esaustivo diventa una consulenza.
 
detto questo, entrambe le soluzioni richiedono l'access server che è a 
pagamento se hai più di due utenze concorrenti. entrambe le puoi provare. 
quello che ti posso dire è provarle, che è la cosa più logica da fare se 
vuoi sapere quale si adatta alle tue esigenze. 

 vuoi sapere quale si adatta alle tue esigenze.
 
Per quanto riguarda l'access server intendi tipo quello di Miniorange 
mentre per utenze concorrenti ti riferisci all'autenticazione tramite 
Google e tramite Microsoft?
 
Ho letto le documentazioni per la piattaforma di Miniorange che di fatto 
comprende tutto quello che mi occorrerebbe e si può avere una prova 
gratuita quindi un test potrei anche farlo e poi decidere, probabilmente 
la stessa girerà sul loro cloud e, come faccio ad esempio per Hexnode, 
dovrò installare un client in locale per sincronizzare gli utenti di AD 
DC non avendo ancora gli utenti su Azure.
 
Non volendo usufruire di piattaforme terze mi sembra di aver letto da 
qualche parte che si potrebbe implementare il tutto costruendo anche un 
proprio server radius.
 
Saluti.
^Bart

 ^Bart
 

 proprio server radius.
 
stai facendo una confusione pazzesca. primo: radius si occupa della 
autenticazione e autorizzazione, ma tu vuoi implementare la mfa e su 
quella radius non c'entra nulla, o meglio radius è uno dei livelli di 
autenticazione e se vuoi aggiungerne un altro deve prescindere da esso. 
secondo: se devi autenticarti vs un dominio ad il server windows espongono 
già un servizio radius e non c'è bisogno di costruire niente. terzo: 
implementando una autenticazione username/password più i certificati 
client easy-rsa *hai* *già* una autenticazione a due fattori. 
 
quindi prima di metterti a fare (come dici te) "scouting" di prodotti 
terze parti devi prima capire dove vuoi andare e perché. 

 terze parti devi prima capire dove vuoi andare e perché.
 
Corretto, voglio implementare una soluzione come quella indicata sopra e 
volendola basare il tutto su OpenVPN sto cercando di capire come possa 
far rimanere il progetto in ambito open source creandomi il più 
possibile soluzioni in casa anche ovviamente chiedendo aiuto a 
società\tecnici esterni.
 
Saluti.
^Bart

 etc. in questo caso potrei creare un certificato unico con OpenSSL.
 
se la motivazione è questa, cioè la comodità di avere un solo certificato 
per tutti i client, ritengo sia una decisione sbagliata. una persona a cui 
hai revocato le credenziali continuerebbe ad avere in mano un certificato 
valido e questo non è bello. a quel punto visto che con easy-rsa è già 
tutto scriptato e non è difficile tradurre in ansible (si trovano playbook 
già fatti) tanto vale investire un po' di tempo ad automatizzare rilascio 
e revoca dei certificati, a costo zero.
 

 e revoca dei certificati, a costo zero.
 
Se ci si autentica con AD DC basta disattivare l'utente lato server MS e 
questi non si collega più né in VPN né al server, questa formula l'ho 
usata in passato con SoftEther ma non avevo l'MFA.
 
Saluti.
^Bart

 usata in passato con SoftEther ma non avevo l'MFA.
 
certo, ma può essere usato insieme ad altre credenziali, magari rubate.
se un utente ti dicesse che ha perso il possesso del certificato (può 
capitare, furto pc ad esempio) riterresti igienico lasciarlo valido, 
sapendo che potrebbe essere in mano di chiunque? 
e nel caso non è meglio revocare il singolo invece che buttare fuori 
tutti?
 

 tutti?
 
Fin'ora ho sempre creato VPN con OpenVPN e certificati singoli per ogni 
dispositivo, smartphone, pc fisso, laptop, etc. facendo tutto a mano da 
riga di comando su Debian sia per l'emissione dei nuovi che per le 
revoche (...).
 
In una struttura con più di 20 utenti VPN trovo scomodo dover creare 
certificati per ogni utente perché poi ad ogni utente devi di volta in 
volta distribuire il nuovo certificato, dire all'utente "X" o all'utente 
"Y" scaricati OpenVPN o fornirglielo già pacchettizzato con la sola 
incombenza di mettere l'username e password con cui entra nel pc è molto 
più comodo!
 
Comodità VS Sicurezza, come già suggeritomi dovrò trovare il tempo da 
investire nell'automatizzare rilascio\revoca dei certificati anche se, 
imho, riuscendo ad implementare già un accesso controllato ogni volta 
dall'MFA tutto sommato, pur avendo un certificato unico, non sarei così 
messo male in termini di sicurezza poi ovvio che certificato per ogni 
singolo utente+MFA sia il top! :)
 
Io sono abituato alla console, in passato dovetti pure ricompilare il 
kernel per crearmi il file tun.ko per poter avere la VPN su un vecchio 
Samsung SII (...) i miei colleghi invece sono digiuni e quindi dovrò 
trovare qualcosa di grafico per gestire i certificati in mia assenza.
 
Saluti.
^Bart
 

 trovare qualcosa di grafico per gestire i certificati in mia assenza.
 
ma uno script lo sapranno pure lanciare, no? inoltre non ti starai mica 
illudendo che una piattaforma tipo quelle che hai visto sia un tranquillo 
self-service per gli utenti e che non introduca complessità?

 self-service per gli utenti e che non introduca complessità?
 
Ovvio che le piattaforme da me ipotizzate non siano una passeggiata, 
altrettanto corretto dire che uno script lo sanno lanciare tutti, la mia 
idea però sarebbe quella di andare verso un token usa e getta sempre che 
non costi una fortuna.
 
Saluti.
^Bart