Avviare OpenVPN via SSH lo avvia sulla macchina remota, nel contesto di esecuzione di quella macchina. Questo lo rende una modifica della rete remota anziché una semplice pressione di un pulsante remoto. Le due modalità sensate sono una sessione supervisionata in primo piano e un servizio di vostra proprietà, e hanno preparazione, credenziali e comportamento in caso di errore diversi.

Due modalità, un profilo

Entrambe le modalità usano lo stesso profilo ed entrambe cambiano l’instradamento sull’host. Ciò che cambia è chi è presente all’avvio e cosa succede dopo la fine della sessione.

ModeUseful forWhat it needs
Supervised foreground sessionA connection with a human watching and able to typeA usable terminal, a reviewed profile and recovery access
Managed serviceAn unattended lifecycle that starts without a loginOwned configuration, supported credential delivery and restart policy

La modalità in primo piano è per una connessione supervisionata in cui è presente qualcuno. La modalità servizio è per una connessione che deve salire senza nessuno che abbia effettuato l’accesso. Mescolarle, lasciando in esecuzione un processo in primo piano e attivando nello stesso tempo un servizio sullo stesso profilo, è il guasto più comune che ci si procura da soli qui.

Che cos’è davvero la sessione in primo piano

Un processo OpenVPN in primo piano deve continuare a girare finché il tunnel è attivo. Initialization Sequence Completed significa che l’inizializzazione è terminata, non che si debba aspettare il ritorno di un prompt. Un’interfaccia grafica desktop nasconde quel lavoro prolungato dietro una finestra, ed è proprio per questo che le persone si aspettano che il comando SSH si comporti allo stesso modo. Non lo fa.

Controllate separatamente l’accesso dell’applicazione. Un terminale occupato e una riga di log non provano né successo né fallimento.

Di cosa ha bisogno un servizio senza sorveglianza

Un servizio parte con il proprio account, la propria directory di lavoro e le proprie restrizioni del file system, e tutte queste differiscono dalla vostra shell. Usate percorsi espliciti e una proprietà adeguata invece di affidarvi a dove vi trovavate per caso. Date all’unità una politica di riavvio che volete davvero, perché un ciclo di connessione senza backoff riempie un log e irrita la controparte. Poi verificate che salga dopo un riavvio e non dopo il vostro prossimo accesso.

L’MFA interattivo rompe per progettazione il caso senza sorveglianza. Se il profilo richiede un codice digitato da una persona, non è un servizio senza sorveglianza, e un codice monouso memorizzato non è una progettazione di credenziali. Decidetelo deliberatamente invece di scoprirlo all’avvio.

Le credenziali sono quattro input diversi

Il manuale di OpenVPN separa l’input da console, i file delle credenziali, le passphrase delle chiavi private e l’interazione guidata dalla gestione. Una coppia utente e password è una cosa, e la passphrase di una chiave cifrata è un’altra. Un’interfaccia di gestione che fornisce credenziali su richiesta è la terza. Scegliete il meccanismo che corrisponde alla vostra progettazione dell’autenticazione invece di concatenare tutto in un unico file perché ha funzionato una volta.

Proteggete i profili e i log che portano identità o materiale privato. Li legge l’account di servizio, e anche chiunque abbia l’appartenenza al gruppo giusta.

Un solo proprietario, e una via di ritorno

Preservate il vostro percorso di amministrazione SSH prima di abilitare una rotta di tunnel ampia. Una configurazione full-tunnel con un endpoint che muore può lasciare la macchina irraggiungibile, e la riparazione richiede allora una console che non avete predisposto. Una console fuori banda approvata o una politica deliberata di ritorno della gestione è l’assicurazione.

Scegliete un unico proprietario della configurazione per l’esercizio ordinario. Un servizio automatico e un processo in primo piano che competono per le stesse interfacce, rotte e stato del resolver producono guasti che sembrano un problema del fornitore. Fermate un’esecuzione supervisionata con la sua interruzione normale, e una gestita tramite il suo gestore invece di uccidere ogni processo chiamato openvpn.

La distinzione da annotare è semplice: un’esecuzione supervisionata può dipendere dalla vostra sessione, un servizio senza sorveglianza no.

Articoli correlati