Accesso remoto

L'apertura delle dashboard di questa stazione ad altri dispositivi della rete, in HTTPS a scelta, chi le può usare e il riavvio che ogni modifica costa.

Visualizza come Markdown

Accesso remoto è l'ultima riga del gruppo GENERALE della pagina Impostazioni. Disattivo, l'host web della stazione risponde soltanto alla macchina propria sull'indirizzo di loopback, che è il modo in cui la finestra del desktop disegna l'interfaccia, e in rete non è in ascolto nulla. Attivo, viene occupato anche ogni indirizzo di rete della stazione, e un tablet o un altro PC sulla stessa LAN possono aprire la stessa interfaccia in un browser. La pagina richiede il permesso Modificare le impostazioni, e le tre impostazioni che stanno qui riavviano il server web che disegna la schermata stessa su cui ci si trova, quindi ciascuna chiede prima.

Le impostazioni

Campo Che cos'è Valori / predefinito Effetto
Apri le dashboard su altri dispositivi "Disattivato per impostazione predefinita. Attivare questa opzione per aprire le dashboard di questa stazione da un tablet o da un altro PC sulla stessa rete." Attivo o disattivo. Disattivo per impostazione predefinita. Attivo: l'host web occupa ogni indirizzo LAN della stazione accanto a quello di loopback, l'applicazione aggiunge una regola del Firewall di Windows chiamata "Ganter Lab Dashboard" (TCP in entrata sulla porta, profili Privato e Dominio, soltanto sottorete locale) e installa un elenco di indirizzi consentiti che rifiuta qualsiasi origine fuori dagli intervalli di indirizzi privati. Disattivo: viene occupato soltanto il loopback e la regola viene rimossa.
Pubblica tramite HTTPS (certificato autofirmato) Disegnato soltanto mentre l'interruttore qui sopra è attivo. Cifra il traffico sulla LAN con un certificato che la stazione fa per sé. Attivo o disattivo. Disattivo per impostazione predefinita. Attivo: gli indirizzi LAN servono in HTTPS; l'indirizzo di loopback resta in HTTP semplice, quindi la finestra del desktop non ne è mai toccata. Ogni dispositivo chiede di accettare il certificato della stazione la prima volta.
Porta "La porta di rete su cui questa stazione è in ascolto. Modificandola il server web si riavvia: questa schermata si ricarica da sola e le dashboard aperte altrove devono essere riaperte al nuovo indirizzo." Da 1 a 65535. Predefinita 18760. La porta per il loopback e per la LAN allo stesso modo. Il campo conferma quando lo si lascia oppure premendo Invio, mai a ogni tasto premuto; un testo che non è una porta, un numero fuori dall'intervallo oppure la porta già in vigore riportano il campo al valore in vigore senza chiedere nulla.

Mentre l'interruttore è attivo, la scheda spiega chi si può connettere (più avanti) e poi mostra una di tre cose.

  • Apri su un altro dispositivo: un codice QR e l'indirizzo da digitare, http://<indirizzo>:<porta>/ (oppure https://), dove l'indirizzo è il primo indirizzo LAN che l'host ha occupato all'avvio. Scansionarlo oppure digitarlo in un browser sulla stessa rete.
  • "Questa stazione non è ancora in rete. Collegarla alla rete di stabilimento per ottenere un indirizzo da condividere.": l'interruttore è attivo, ma la stazione non aveva nessun indirizzo LAN quando l'host è partito, quindi è occupato soltanto il loopback e non è stata creata nessuna regola del firewall. L'impostazione resta attiva, e l'host viene rilegato quando un indirizzo compare.
  • L'accesso remoto non è disponibile, un avviso di attenzione: è stato chiesto l'HTTPS e il certificato non è stato caricato né creato. L'avviso porta il motivo: "L'accesso remoto non è partito perché il suo certificato HTTPS non è stato caricato né creato. L'accesso in loopback resta disponibile; guardare Eventi e cambiare l'impostazione dell'accesso remoto per riprovare." La stazione non ripiega mai da sola sull'HTTP semplice, e una notifica "Dashboard remota non disponibile" dice la stessa cosa quando l'host parte.

Applicare una modifica: il riavvio

Spostando uno dei due interruttori oppure confermando una nuova porta si apre la finestra Riavviare il server web?. Il suo paragrafo dichiara il costo e finisce con "Questa schermata è disegnata da quel server, quindi si ferma per qualche secondo e torna da sola.":

  • attivando l'interruttore: "Aprire le dashboard su altri dispositivi riavvia il server web.";
  • disattivandolo: "Chiudere le dashboard su altri dispositivi riavvia il server web, e un dispositivo che legge questa stazione in rete smette di raggiungerla.";
  • HTTPS attivo: "Pubblicare tramite HTTPS riavvia il server web, e ogni dispositivo chiede di accettare il certificato di questa stazione la prima volta."; HTTPS disattivo: "Tornare a pubblicare in HTTP semplice riavvia il server web.";
  • una nuova porta: "Spostare questa stazione sulla porta N riavvia il server web."

Annulla riporta l'interruttore e il campo della porta a ciò su cui la stazione è in ascolto. Applica e ricarica salva l'impostazione; l'applicazione rimuove poi la vecchia regola del firewall, ferma l'host, lo avvia con le nuove opzioni e ricrea la regola. Mentre questo avviene una copertura intitolata Riavvio del server web in corso sta sopra l'applicazione: "La schermata torna da sola non appena la stazione risponde di nuovo." sulla finestra del desktop, "La schermata torna da sola non appena il nuovo indirizzo risponde." in un browser, e in entrambi "L'acquisizione, la registrazione e il server OPC UA continuano a funzionare per tutto il tempo." Un browser sonda il nuovo indirizzo ogni mezzo secondo per un massimo di trenta secondi e vi si porta quando risponde; se nulla risponde in tempo la copertura si fa da parte e subentra la consueta schermata di riconnessione, con Riprova e Ricarica questa schermata. La finestra del desktop ripunta la propria vista. Chi ha chiesto la modifica è chi aspetta; ogni altro dispositivo perde semplicemente la connessione e si riconnette. Un browser che ha disattivato l'accesso remoto non ha più nulla a cui tornare, per sua stessa scelta.

Mentre il runtime è fermo questa pagina non viene disegnata affatto (vedere Impostazioni), quindi nessuna delle tre impostazioni si può raggiungere finché il runtime non è tornato.

L'HTTPS e il suo certificato

Il certificato è autofirmato, emesso a "Ganter Lab Dashboard", valido per cinque anni, ed elenca localhost, 127.0.0.1 e ogni indirizzo LAN che la stazione aveva quando è stato fatto. È conservato come dashboard-cert.pfx sotto la radice dei dati della stazione ed è rifatto quando manca, quando è illeggibile, quando manca meno di un giorno alla sua scadenza oppure quando non copre più uno degli indirizzi della stazione. I browser non lo considerano attendibile da soli: ogni dispositivo mostra il proprio avviso una volta e lì si accetta il certificato della stazione. Senza HTTPS i PIN di accesso attraversano la rete in chiaro, e lo stesso vale per tutto il resto che la stazione mostra in rete, compreso il nome utente del server OPC UA in Configurazione; una password digitata lì attraversa allo stesso modo all'andata, mentre quella salvata non viene mai inviata al browser.

La regola del firewall e la sorveglianza degli indirizzi

La regola "Ganter Lab Dashboard" viene creata e rimossa con netsh mentre l'applicazione applica l'impostazione. Creare una regola richiede l'elevazione dei privilegi, e l'applicazione non la dà per scontata: un fallimento viene annotato nel diario tecnico e ingoiato, perché l'occupazione degli indirizzi e l'elenco degli intervalli privati consentiti confinano comunque l'host, e Windows mostra allora la propria richiesta di "consentire l'accesso". La regola viene tolta e ricreata a ogni modifica, così non resta indietro nessuna regola vecchia per una porta vecchia.

Gli indirizzi della stazione si possono spostare sotto un host in funzione (una nuova concessione DHCP, un passaggio dal Wi-Fi al cavo, una base di aggancio). L'applicazione li sorveglia e, mentre l'accesso remoto è attivo, rilega l'host sugli indirizzi attuali, il che rinnova anche il certificato quando non li copre più; la scheda dell'indirizzo segue.

Chi può aprire una dashboard

La prima domanda non è chi sta chiedendo, ma che cosa ha indirizzato la richiesta. La stazione risponde su 127.0.0.1 sulla propria macchina e, con l'accesso remoto attivo, su ogni indirizzo LAN che ha associato e sul nome di rete di questa macchina; una richiesta che nomina un altro host, o che porta come origine la pagina di un altro sito, viene rifiutata con 403 e con la riga "Questa stazione risponde solo all'indirizzo che pubblica." prima che vengano serviti una schermata, un file o una connessione. È questo che impedisce a un sito visitato per caso di guidare questa stazione dal browser: una pagina del genere può puntare il proprio dominio a questa macchina, ma non sceglie l'indirizzo che il browser scrive nella richiesta che fa per essa, e il tentativo resta registrato in Events. Il punto di connessione dell'agente rifiuta i propri chiamanti con la stessa regola.

L'host web serve l'intera interfaccia, non soltanto le dashboard, e ogni browser è una connessione a sé con l'utente che vi ha effettuato l'accesso. Se un'identità possa entrare dalla rete è il permesso Accesso remoto (LAN) del suo ruolo, nella pagina Utenti: un browser la cui identità non lo possiede non vede nessuna pagina, soltanto il pannello di accesso, finché non accede qualcuno che ha quel bit. Il ruolo Non connesso lo ha disattivato per impostazione predefinita, quindi attivare l'accesso remoto non condivide nulla finché un utente non accede, a meno che non si conceda deliberatamente quel bit a quel ruolo per un chiosco o per un tablet. Un browser sulla macchina stessa della stazione non ne è mai soggetto. Da lì in poi il ruolo con cui si è effettuato l'accesso decide tutto il resto, esattamente come sulla finestra della stazione; vedere Accedere.

Che cosa non può fare un browser remoto

Alcune azioni esistono soltanto sul desktop proprio della stazione e restano in grigio in un browser con "Disponibile solo sul desktop locale della stazione.": aprire la cartella dei backup, riavviare per prendere un aggiornamento e aprire la finestra staccata di Eventi dal contatore degli Avvisi. La riga dello zoom della finestra non viene disegnata affatto. Considerare attendibili, bloccare, revocare e importare i certificati in Accesso dei client e in Accesso delle apparecchiature, e il pulsante del firewall OPC UA, sono rifiutati in un browser: "L'accesso dei client può essere cambiato solo nell'applicazione desktop della stazione." Tutto il resto, comprese queste impostazioni di accesso remoto, segue il ruolo con cui si è effettuato l'accesso.

Ciò che questa sezione non fa

La stazione non viene mai esposta a Internet e non crea nessun tunnel: l'occupazione degli indirizzi è un'occupazione LAN, la regola del firewall è limitata alla sottorete locale, e l'elenco degli indirizzi consentiti rifiuta gli indirizzi pubblici anche se le due cose fossero configurate male. Qui non c'è nessun elenco dei browser connessi, nessuna autorizzazione o negazione per singolo dispositivo, nessuna password separata per la visione (l'identità è l'utente locale), e la porta dell'endpoint dell'agente si imposta nella pagina Agente, non qui.