Ogni guida di integrazione di questo blog parte dallo stesso punto: avete un server Notakey, un servizio al suo interno e un telefono registrato in quel servizio. Da lì in poi le guide si occupano della VPN, del router o dell’applicazione web. Se a quel punto di partenza non ci siete ancora, il lato Notakey ve lo liquidano in una frase o due, lasciandovi arrangiare per il resto.
Questa guida è la parte che saltano. Si conclude con una richiesta di prova sul vostro telefono e con i due valori che ogni integrazione vi chiede: l’hostname del server e il Service ID.
Tutto quello che segue è stato fatto su un’istanza cloud appena creata, in questo ordine.
Passaggio 1 – Create l’istanza cloud
Andate su signup.notakey.com e scegliete Hosted Cloud Instance. Il modulo chiede nome, email e paese, più un Instance name. Il dominio cloud viene aggiunto da solo a quel nome, e insieme formano il vostro hostname:
yourcompany.notakey.cloud

Attenzione al dominio: notakey.cloud, non notakey.com. Questo hostname è
il primo dei due valori che vi serviranno più avanti. Script e plugin di
solito lo vogliono nudo, senza https:// davanti. All’app per telefono
serve invece con https:// davanti, come vedrete al passaggio 5.
Continue to checkout vi porta a una pagina di pagamento Stripe, dove inserite una carta o usate Apple Pay. Non c’è alcun numero di postazioni da scegliere. La pagina di registrazione avverte che serve una carta di credito e che esiste un piano gratuito, e il checkout stesso non indica alcun importo da pagare in quel momento.
Segue una schermata di provisioning che gira per circa un minuto, poi la nuova istanza si apre con una procedura guidata in quattro passi: Welcome, Create user, Onboard user, Setup complete.
In Create user create il primo amministratore: un nome utente, una password scelta da voi e un nome completo.

Onboard user registra poi il vostro telefono. Installate Notakey Authenticator, scansionate il codice QR della pagina e accedete con il nome utente e la password appena creati. La pagina indica anche la via manuale: aggiungete l’indirizzo del vostro server come service domain nell’app e scegliete l’Administration Service.

Quando il telefono è registrato la procedura guidata si chiude e vi porta alla dashboard. Il vostro telefono fa ora parte dell’Administration Service integrato nell’istanza. La cosa conta al passaggio 5, perché significa che il vostro telefono ha già il vostro dominio.
Passaggio 2 – Create un servizio
Un servizio è una singola cosa che proteggete. Una VPN è un servizio, l’accesso a un’applicazione web ne è un altro, e ciascuno ha utenti propri e separati. Nella dashboard aprite Services → Manage e premete Create a service.

È obbligatorio solo Name. Sceglietelo con cura, perché è quello che le persone vedono sul telefono ogni volta che viene chiesta un’approvazione. «Office VPN» dice loro che cosa stanno approvando. «Test 2» no.

Più in basso nel modulo i valori predefiniti vanno benissimo per un primo
servizio, e li abbiamo lasciati tutti come sono: il livello di sicurezza è
Hardware protected, ogni utente può registrare un dispositivo e i nomi
utente semplificati sono ammessi, per cui un utente è john e non
john@domain.
Premete Create. La pagina del servizio che si apre mostra il secondo valore che vi serve, sotto l’etichetta Service ID (Access ID):

Le integrazioni chiamano questo valore in modi diversi. Lo script MikroTik
lo chiama ntkAccessId; i plugin parlano in genere di Access ID o di
application ID. È sempre questo stesso UUID, e identifica il servizio, non
il vostro account. Un secondo servizio ne ha uno diverso.
Passaggio 3 – Attivate un requisito di registrazione
È il passaggio che sfugge più spesso, e il sintomo trae in inganno: il servizio esiste, la dashboard non segnala alcun errore e il telefono non riesce a trovarlo.
Un servizio nuovo non offre a nessuno alcun modo per registrarsi. Aprite Onboarding requirements nel menu del servizio e la pagina lo dice senza giri di parole:

Un requisito di registrazione è il modo in cui una persona dimostra chi è nel momento in cui collega il proprio telefono al proprio account utente. Ce ne sono quattro:
- Simple Credentials. L’utente digita un nome utente e una password che impostate voi nella dashboard. È la via più rapida per far partire un piccolo team.
- Phone Number. Una verifica in due tempi via SMS o WhatsApp. Ogni utente deve avere un numero di telefono principale sul proprio account.
- OpenID Connect. L’utente accede presso l’identity provider che già usate, e i suoi attributi vengono letti da lì.
- Manual (in-person). Qualcuno con accesso alla dashboard approva a mano ogni registrazione.
Per questa guida premete Enable accanto a Simple Credentials.

Una regola da ricordare su questa pagina: l’app elenca un servizio fra quelli disponibili solo finché ha almeno un requisito attivo. Se più avanti togliete i requisiti, chi è già registrato continua a funzionare, ma il servizio sparisce dall’elenco per tutti gli altri e nessun nuovo utente può aggiungersi. Se un collega vi segnala che il servizio «non c’è», guardate prima qui.
Passaggio 4 – Create un utente
Aprite Users nel menu del servizio e premete Create a new user.

Username e Full name sono obbligatori. Con Simple Credentials dovete impostare voi anche una Password: non ne viene generata nessuna. È la password che l’utente digita sul telefono al passaggio successivo, quindi sceglietela, annotatela e consegnatela come fareste con qualsiasi altra password iniziale.
Se questo servizio proteggerà una VPN o l’accesso a un server, il nome
utente indicato qui deve coincidere carattere per carattere con quello
presente su quel sistema. L’integrazione indirizza la richiesta di
approvazione in base al nome utente: john sul router e john.snow in
Notakey falliscono in silenzio, senza push e senza messaggio di errore. È la
ragione più comune per cui un primo test di integrazione sembra non fare
nulla.
Se i vostri utenti stanno già in una directory
Creare gli utenti a mano va bene per una manciata di persone. Per un’azienda intera non serve crearli affatto. Ogni servizio ha una pagina User sources, accanto a Users nel menu, dove collegare la directory che già gestite. I tipi disponibili sono tre: Active Directory, LDAP e RADIUS.
Con una user source configurata, le persone si registrano da sole: aprono il servizio nell’app e accedono con il nome utente e la password che hanno già nella directory, e in quel momento viene creato il loro utente Notakey. Il requisito Phone Number funziona allo stesso modo, a patto che la directory contenga il numero di telefono giusto per ciascuno. Non create nessuno e non c’è nessuna password iniziale da distribuire.
Il resto di questa guida prosegue con l’utente creato a mano, perché porta a una prima approvazione senza nient’altro da configurare.
Passaggio 5 – Registrate il telefono
Installate Notakey Authenticator dall’App Store o da Google Play.
L’app trova i servizi a partire dal dominio del server. In Settings → Service domains tiene un elenco di server e, per ciascuno, legge tutti i servizi presenti su quel server che hanno la registrazione attiva.

Il vostro telefono ha già il vostro dominio, grazie alla procedura guidata iniziale. Per tutti gli altri ci sono due modi per aggiungerlo:
- digitare
https://yourcompany.notakey.cloudin Service domains e premere Add domain, oppure - scansionare il codice che si trova dietro QR code add service nella pagina del servizio.
Digitate l’indirizzo con https:// davanti: senza, un hostname cloud non
viene trovato. L’app risponde indicando quanti servizi ha individuato, il
che è già di per sé una verifica utile: qui sono due, l’Administration
Service e il servizio Office VPN del passaggio 2.

La forma con il solo hostname vale per le appliance self-hosted che pubblicano un record DNS di servizio per il proprio dominio. Quella configurazione è descritta nella nota sui record DNS SRV.

Con il dominio a posto, aprite Services nell’app: Office VPN compare sotto Available.

Toccatelo e l’app chiede la prova che avete scelto al passaggio 3. Con Simple Credentials sono il nome utente e la password impostati al passaggio 4:

Un istante dopo l’app conferma che il servizio è attivo. Il telefono custodisce ora una chiave per questo utente in questo servizio, e la password ha esaurito il suo compito: da qui in avanti, approvare è un tocco.

Passaggio 6 – Inviate un’approvazione di prova
Non collegate ancora nulla. Dimostrate prima che una richiesta riesce ad arrivare dal vostro server a quel telefono, senza VPN, script o plugin di mezzo.
Nella dashboard aprite l’utente che avete creato. La pagina mostra il dispositivo registrato e un pulsante Notification test.

Premetelo e la richiesta arriva nell’Inbox dell’app:

Guardate che cosa mostra la scheda: il nome del servizio che avete scelto, il server da cui arriva, che cosa viene chiesto e per quanto tempo la richiesta resta valida. È la stessa scheda che i vostri utenti vedranno per un accesso reale, con la descrizione vera al posto del testo di prova. Approvatela o rifiutatela: in un caso o nell’altro, adesso sapete che l’intera catena funziona.
Se non arriva nulla, il problema sta fra il server e il telefono, non in ciò che avevate intenzione di integrare: è esattamente per questo che il test viene prima dell’integrazione. Verificate che il telefono consenta le notifiche all’app e che il dispositivo compaia davvero nella pagina dell’utente.
Che cosa avete adesso
Due valori:
| Vi serve | Dove si trova | In questa guida |
|---|---|---|
| Hostname del server | il nome dell’istanza scelto alla registrazione | yourcompany.notakey.cloud |
| Service ID (Access ID) | la pagina del servizio nella dashboard | un UUID per ogni servizio |
E un percorso funzionante dal server al telefono. Da qui, scegliete la guida che corrisponde a ciò che volete proteggere:
- 2FA VPN MikroTik con scripting RouterOS.
L’hostname va in
ntkHost, il Service ID inntkAccessId. - La 2FA VPN con RADIUS, per qualsiasi VPN che possa puntare a un server RADIUS.
- 2FA per SSH su Linux con pam_radius.
- Windows Credential Provider per il desktop remoto.
Quando estendete il tutto al resto del team, gli unici passaggi che si ripetono sono il 4 e il 5: un utente per ogni persona, e ciascuno aggiunge il dominio e registra il proprio telefono. Con una user source collegata non serve più nemmeno il passaggio 4, e per ogni persona resta solo il passaggio 5.