Non sono un professionista della sicurezza, sono severo riguardo alla sicurezza. La tua domanda raggiunge esattamente il nocciolo della sicurezza IT: la fiducia. A mio avviso, non si dovrebbe mai presumere che ci si possa fidare di Bob. Certo, Bob potrebbe essere un ragazzo davvero gentile e affidabile. Ha lavorato nella tua azienda per oltre 20 anni. Tuttavia, la persona "Bob" è del tutto irrilevante nella tua infrastruttura IT.
Bob utilizza "relè" arbitrari che consentono l'accesso. I relè possono essere qualsiasi cosa: password, certificato, token hardware, scansione dell'iride, DNA. Sono chiavi che consentono l'accesso al tuo sistema. Se la tua domanda riguarda la verifica dell'identità della persona che sta usando una chiave, probabilmente l'unica risposta onesta è che dovrai trovarti nella stessa stanza. In tutti gli altri casi, penso che non devi assicurarti che Bob è davvero Bob e che attualmente non è tenuto in pugno mentre ottiene il suo accesso. Pertanto, nel piano di progettazione dell'infrastruttura IT la cosa logica non è fare riferimento a "Bob": un'entità ha ottenuto l'accesso al tuo sito.
Perché puoi davvero sapere che "un'entità" ha ottenuto l'accesso con una chiave che hai passato in passato, probabilmente la prospettiva corretta è quella di limitare il numero di porte che la chiave può aprire. Più chiavi si passano, meno porte si aprono.
OpenVPN ha anche un'opzione per consentire solo una connessione simultanea per chiave. Quindi se Alice accede con la chiave di Bob mentre Bob è già dentro, ad Alice viene negato l'accesso. Sfortunatamente questo significa anche che Bob non può accedere quando Alice ha effettuato l'accesso con la chiave di Bob. Quindi dovresti configurare il tuo sistema per informarti di tentativi di accesso simultanei da più IP di origine. E dare il via a entrambi quando si verifica una violazione, quindi Bob dovrà chiamare aiuto.
Il punto è: non assicurarti di cose di cui non puoi essere sicuro e tienilo a mente durante la progettazione del tuo piano di sicurezza. Supponiamo che ci sia sempre una persona più intelligente là fuori, molto avanti a te, che non vede l'ora di dimostrarti che ti sbagli ... solo "per il lulz". :-)
auth-user-pass-verify /etc/openvpn/scripts/connect.sh via-env
per ottenere il nome utente dell'utente. Sai se posso anche ottenere l'ID dal certificato che l'utente sta usando? In tal caso, posso scrivere uno script Perl che controlla un file yaml con ID certificati noti.