TokenOTP

Nelle scorse settimane ho dovuto affrontare un problema di funzionamento di un’installazione Citrix con multi factor authentication (basata su token nativo di Citrix ADC).

Tale configurazione è risultata funzionante fino ad un paio di mesi fa quando, a causa di un aggiornamento firmware delle appliance Citrix ADC, qualcosa si è “rotto”. In particolare ora non è più possibile accedere alla configurazione dei token otp tramite la pagina /manageotp.

Cercando in rete ho trovato informazioni (non ufficiali) riguardanti un cambio di funzionamento atto a salvaguardare la sicurezza degli utenti (accedere dall’esterno alla configurazione di token può compromettere la validità degli stessi).

Ho per cui dovuto studiare una soluzione alternativa per permettere al cliente di configurare i token ai propri utenti, senza dovergli per forza fornire una VPN (con la quale accedere alla pagina /manageotp dall’interno della rete aziendale). Ho cercato in rete e ho trovato il tool “OTP Editor” (https://www.andreasnick.com/102-otpedit.html), sviluppato da Andreas Nick.
Dovendo però personalizzare il tool con alcune richieste del cliente, ho pensato di trarre spunto da “OTP Editor” per realizzare un tool alternativo, ma di cui potessi personalizzare di volta in volta il funzionamento in base alle richieste dei miei clienti. Ho per cui dedicato qualche ora alla scrittura di un mio tool che ho nominato “TokenOTP”:

Interfaccia TokenOTP

questo tool si basa sulle chiamate native verso Google per la generazione di segreti da cui poi generare il QRcode.

Prima di avviare il tool è necessario compilare i 3 parametri contenuti nel file config.xml: Param, QRCodeTemFolder e UserGroup

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
        <supportedRuntime version="v4.0" />    
	    <supportedRuntime version="v2.0" />
    </startup> 
	<appSettings>
		<add key="Param" value="userParameters"/>
		<add key="QRCodeTempFolder" value="\QRcodes"/>
		<add key="UserGroup" value="Domain Users"/>
	</appSettings>
</configuration>

Avviando il tool è possibile elencare tutti gli utenti (facenti parte del gruppo indicato nel file xml) o filtrandoli eventualmente tra quelli che hanno già a disposizione uno o più OTP, o tra quelli senza OTP.

Per ogni utente dell’elenco è possibile, cliccando con il tasto destro del mouse, accedere alle funzioni di Aggiunta nuovo OTP, visualizzazione degli OTP configurati o rimozione degli stessi.

Funzioni disponibili

Nel momento in cui si visualizza un OTP configurato in precedenza, è possibile cliccare sul tasto “OTP Code” per generare un token OTP e visualizzare i secondi ancora disponibili per l’uso dello stesso. Questo codice è lo stesso che verrebbe generato, per esempio, da una applicazione mobile configurata tramite il QRcode visualizzato di lato.

Questo codice potrebbe essere usato, per esempio, per verificare la vera identità di un utente durante una richiesta telefonica al Service Desk; per esempio, quando un utente richiede un reset password telefonando al Service Desk, potrebbe venir richiesta la comunicazione di un token all’operatore, per verificare che l’utente sia effettivamente chi sta effettuando la richiesta e non un utente malevolo.

Generazione OTP

Nelle prossime versioni aggiungerò anche l’invio di email agli utenti, comprensive del QRcode (funzione che non ho ancora terminato di implementare), e qualche altra feature che ho in testa. Stay tuned. Sono ovviamente aperto a consigli 🙂

Di seguito il link per il download:

Changelog

1.0.0.25
  • 4 mesi ago Add Prima pubblicazione
1.0.0.28
  • 4 mesi ago Add Revisione della GUI
  • 4 mesi ago Add Aggiunta bottone per ricerca in AD
  • 4 mesi ago Add Ottimizzazione codice

Share with: