Accesso dei client
I certificati delle applicazioni OPC UA che chiamano questa stazione: l'aggiunta di un client, la verifica con l'attendibilità o il blocco dei certificati, gli indirizzi di connessione, la regola del Firewall di Windows, le sessioni dal vivo e l'elenco degli attendibili.
Accesso dei client è la terza riga del gruppo SERVER OPC UA della pagina Impostazioni. È l'elenco dei certificati di applicazione che il server incorporato ha incontrato e di ciò che si è deciso su ciascuno: un certificato sconosciuto viene rifiutato al primo tentativo e conservato qui per la verifica, rendendolo attendibile l'applicazione raggiunge il server, bloccandolo lo si tiene fuori senza rumore. La testa della scheda lo dice: "Un certificato client identifica l'applicazione che chiede di connettersi. Considerare attendibile solo un'impronta verificata con chi mette in servizio quel client." Aprire la pagina richiede il permesso Modificare le impostazioni; ogni decisione di questa scheda si prende sul desktop proprio della stazione.
Sotto la testa sta un principio: "L'attendibilità del certificato e l'accesso sono due controlli distinti. L'attendibilità consente a questo certificato dell'applicazione di raggiungere il server. L'impostazione Autenticazione del client qui sopra decide comunque se la connessione avviene in modo anonimo oppure con il nome utente e la password configurati. I nomi dei certificati sono dichiarati dal client; l'impronta SHA-256 è l'identità da verificare."
Chi può decidere
Ogni pulsante della scheda obbedisce a un'unica regola, e il suo suggerimento dice quale parte ha rifiutato: "L'accesso dei client può essere cambiato solo nell'applicazione desktop della stazione." in un browser su un altro dispositivo (la scheda mostra allora anche l'avviso "Aprire l'applicazione desktop per cambiare l'accesso dei client": i browser remoti possono consultare l'elenco, non cambiarlo); "Il ruolo attuale non può cambiare le impostazioni della stazione." per un ruolo senza Modificare le impostazioni; "La configurazione è bloccata mentre un'unità è in esecuzione." oppure "Runtime fermo" per i due blocchi; "È in corso un'altra modifica dell'accesso dei client." mentre una decisione, un'importazione o il comando del firewall sono in esecuzione. A una pressione che passa comunque si risponde con la stessa frase nella barra di stato, dove arriva ogni esito di questa scheda.
Aggiungi client
| Comando | Che cosa fa | In grigio quando (situazione) | Non disegnato quando (ruolo) |
|---|---|---|---|
| Aggiungi client | Apre una finestra di ascolto di cinque minuti: "Finestra di aggiunta client aperta per cinque minuti. Avviare la connessione nel client OPC UA; se prima chiede di considerare attendibile questa stazione, confermarlo lì e riprovare." Mentre è aperta, la testa mostra il tempo rimanente (mm:ss) con una pulsazione. | Per la regola qui sopra. | Disegnato mentre non è aperta nessuna finestra. |
| Annulla | Chiude la finestra: "Finestra di aggiunta client chiusa. I certificati sconosciuti restano disconnessi." | Per la regola qui sopra. | Disegnato mentre una finestra è aperta. |
La finestra spiega un tentativo; non ne identifica mai uno e non rende mai attendibile nulla. Mentre è aperta la scheda porta l'avviso di attenzione "In attesa di un certificato client · mm:ss": "Avviare ora la connessione nel client OPC UA. Se quel client rifiuta prima il certificato del server di questa stazione, confermare che si tratta di questa stazione Ganter Lab, renderlo attendibile nel client e riprovare. Il certificato del client comparirà quindi in In attesa di approvazione; Ganter Lab non rende attendibile nulla automaticamente." La finestra scade da sola al termine.
È questo il client che si sta aggiungendo?
Un certificato che arriva mentre la finestra è aperta viene mostrato in un avviso con quel titolo: "Un client ha presentato questo certificato mentre la finestra Aggiungi client era aperta. Confrontarlo con il client che si sta mettendo in servizio prima che questa stazione lo consideri atteso. Fino alla risposta resta un certificato sconosciuto nell'elenco qui sotto e rimane disconnesso.", con il suo Nome, il Soggetto e l'Impronta.
| Comando | Che cosa fa |
|---|---|
| È questo il client | Lo segna come il client che si intendeva e chiude la finestra: "<nome> è confermato come il client che si sta aggiungendo e la finestra di aggiunta client è chiusa. Resta disconnesso finché non lo si rende attendibile qui sotto." Va comunque reso attendibile sotto In attesa di approvazione. |
| Non è questo | Lo lascia un ordinario certificato sconosciuto e continua ad ascoltare: "<nome> resta un certificato sconosciuto in attesa di verifica. La finestra di aggiunta client è ancora in ascolto." |
Soltanto la risposta o la scadenza chiudono la finestra, quindi un tentativo di chiunque altro non la può né consumare né prenderne in prestito le parole. Una finestra nuova dimentica le domande rimaste senza risposta della precedente.
In attesa di approvazione
Il gruppo è disegnato mentre almeno un certificato aspetta, intestato "Le applicazioni sconosciute restano disconnesse fino alla decisione." con il conteggio. Ogni riga mostra un punto ambra, il nome che il certificato dichiara, "Identità dichiarata dall'applicazione", l'impronta SHA-256, "Ultimo tentativo <data e ora> · N tentativi di connessione", e una scheda a scomparsa Dettagli del certificato con Soggetto, Emittente, URI dell'applicazione, Nomi di dominio, Valido da, Valido fino al e Visto la prima volta. La riga a cui ha portato la Verifica di una notifica è segnata "Selezionato per la verifica" e portata in vista scorrendo.
| Comando | Che cosa fa | In grigio quando (situazione) |
|---|---|---|
| Considera attendibile | Sposta il certificato in Client attendibili e aggiorna il validatore dal vivo, così il client può ritentare subito: "<nome> è attendibile. Il client può ritentare la connessione." |
Per la regola qui sopra. |
| Blocca | Lo sposta in Client bloccati, disconnette qualsiasi sessione che lo usa e continua a rifiutarlo senza altre domande: "<nome> è bloccato. I tentativi futuri di questo certificato resteranno rifiutati." |
Per la regola qui sopra. |
| Scarta tutti i certificati in attesa (sulla testa del gruppo, nell'inchiostro del pericolo) | Chiede "Scartare il certificato in attesa di verifica?" oppure "Scartare i N certificati in attesa di verifica?" ("Con questo non si rende attendibile né si blocca nulla: le richieste vengono rimosse e l'elenco torna ad avere spazio. Un client che si connette dopo compare qui come nuova richiesta."), con Scarta e Mantieni l'elenco. Poi "N certificati in attesa di verifica sono stati scartati." | Per la regola qui sopra. |
Un certificato resta disconnesso finché non si decide; i nuovi tentativi aggiornano il suo conteggio dei tentativi e l'ora dell'ultimo tentativo senza una seconda notifica.
L'elenco di verifica è pieno
L'elenco tiene al massimo 100 certificati. Mentre è pieno, un ulteriore certificato sconosciuto viene comunque rifiutato ma non conservato, e la scheda lo dice in un avviso di attenzione: "L'elenco di verifica qui sotto è pieno. Finché lo è, un nuovo certificato viene rifiutato senza essere aggiunto qui, quindi il client atteso potrebbe non comparire mai. Scartare i certificati in attesa di verifica per fare spazio.", oppure, una volta che qualcuno è caduto, "…e 1 certificato è stato rifiutato senza essere aggiunto qui da quando si è riempito. Il client atteso potrebbe essere quello…" oppure "…e N certificati sono stati rifiutati…". Ogni rifiuto del genere viene anche annotato nel diario tecnico. Il contatore riparte da zero quando c'è di nuovo spazio.
Indirizzi di connessione
"Usare l'indirizzo corrispondente al luogo in cui gira il client." Due indirizzi in sola lettura: Questo computer, opc.tcp://localhost:<porta>/UA/GanterLab, per un client sulla stazione stessa, e Rete locale, opc.tcp://<nome del computer>:<porta>/UA/GanterLab, per un client altrove sulla LAN. La porta è quella di Configurazione.
Firewall di Windows
Un punto e una frase dichiarano se la regola in entrata di proprietà dell'applicazione consente la porta attuale, con un'unica azione quando non la consente.
| Stato | Testo |
|---|---|
| Consentito (verde) | "Le connessioni OPC UA in entrata sono consentite sulla porta N per le reti private e di dominio." |
| Non configurato (ambra) | "I client di rete potrebbero essere bloccati perché nessuna regola di proprietà dell'applicazione consente la porta N." Viene disegnato il pulsante Consenti la rete locale. |
| Non supportato (grigio) | "Questo avvio non può gestire il Firewall di Windows. Configurare l'accesso in entrata nel sistema operativo se necessario." Un avvio di sviluppo, portatile o dimostrativo, oppure qualsiasi esecuzione che non sia l'applicazione installata. |
| Sconosciuto (grigio) | "Non è stato possibile determinare lo stato del Firewall di Windows." |
| Comando | Che cosa fa | In grigio quando (situazione) |
|---|---|---|
| Consenti la rete locale | Avvia con privilegi elevati l'ausiliario proprio dell'applicazione, così Windows chiede l'approvazione dell'amministratore, e aggiunge la regola per la porta, limitata ai profili Privato e Dominio e alla sottorete locale. Nel frattempo legge "Applicazione in corso…", poi "Il Firewall di Windows ora consente le connessioni OPC UA sulla porta N." oppure il testo di stato come errore; una richiesta di approvazione annullata lascia lo stato Non configurato. | Per la regola qui sopra (un browser su un altro dispositivo non lo può premere). |
Lo stato viene letto di nuovo quando la pagina si apre e ogni volta che la configurazione cambia; una modifica della porta mostra quindi Non configurato finché non si consente la porta nuova. La regola copre soltanto la porta OPC UA; la dashboard web ha una regola propria, applicata automaticamente da Accesso remoto.
Connessi ora
"Sessioni OPC UA attive accettate dal server.", con il conteggio. Una tabella elenca ogni sessione: Stato (un punto verde, "Attiva"), Sessione (il nome che le ha dato il client), Client dichiarato (l'applicazione o l'host che il client riferisce), Utente (l'identità con cui ha effettuato l'accesso, oppure Anonima) e Connesso (l'ora del giorno in cui si è connesso). Con nessuna: "Nessun client OPC UA connesso." L'elenco viene letto fresco ogni secondo ed è vuoto mentre il server è arrestato.
Client attendibili
"Certificati autorizzati a stabilire connessioni sicure future.", con il conteggio. Ogni riga mostra un punto neutro, il nome dichiarato, "Identità dichiarata dall'applicazione · Attendibile da <utente> il <data e ora>" (oppure "presso questa stazione" quando non aveva effettuato l'accesso nessuno), l'impronta e una scheda a scomparsa di dettagli con Soggetto, Emittente, URI dell'applicazione, Nomi di dominio, Valido fino al e Visto l'ultima volta. Con nessuno: "Nessun certificato client è attendibile."
| Comando | Che cosa fa | In grigio quando (situazione) |
|---|---|---|
| Importa certificato (sulla testa del gruppo) | Apre un selettore di file per il certificato pubblico del client (.der, .cer, .crt oppure .pem, fino a 64 KB) e lo rende attendibile prima della sua prima connessione: "<nome> è attendibile a partire da <file>. Confrontare l'impronta qui sotto con quella dichiarata dal client." Un file più grande viene rifiutato: "<file> è più grande di un certificato client. Importare il file del certificato pubblico (.der, .cer o .pem), non un archivio."; un file che non è un certificato: "Non è stato possibile importare <file>: …". |
Per la regola qui sopra. |
| Revoca (sulla riga, inchiostro del pericolo) | Chiede "Revocare <nome>?": "Questo certificato non sarà più attendibile e le sessioni in corso che lo usano verranno disconnesse. Il client dovrà essere verificato di nuovo prima di potersi riconnettere.", con Revoca e Mantieni attendibile. Poi il certificato viene bloccato, le sue sessioni vengono chiuse e il validatore aggiornato: "L'attendibilità di <nome> è stata revocata. Nuove sessioni e riconnessioni sono bloccate; il server ha inoltre chiesto la chiusura delle sessioni attive corrispondenti." |
Per la regola qui sopra. |
Il suggerimento sotto la testa dice perché l'importazione esiste: "Il certificato pubblico del client è già disponibile? Importarlo qui per renderlo attendibile prima della sua prima connessione, invece di lasciar fallire una volta la connessione. Confrontare l'impronta che aggiunge con quella dichiarata dal client." Importare un certificato che era bloccato toglie il blocco.
Client bloccati
Una scheda a scomparsa chiusa, "Client bloccati" con il conteggio, disegnata soltanto mentre ne esiste almeno uno. Ogni riga mostra un punto rosso, il nome dichiarato, "Identità dichiarata dall'applicazione · Bloccato da <utente> il <data e ora>", l'impronta e Sblocca, che riporta il certificato in In attesa di approvazione senza renderlo attendibile: "<nome> è sbloccato ed è tornato in attesa di verifica." Un certificato bloccato non solleva domande ripetute e resta fuori finché non si decide di nuovo.
Come si viene a sapere di un tentativo
Un primo tentativo da un'applicazione sconosciuta solleva nella shell una sola scheda di notifica persistente, "Client OPC UA in attesa di approvazione" (oppure "N client OPC UA in attesa di approvazione"), che nomina l'ultimo certificato e i primi caratteri della sua impronta, con un'azione Verifica che apre questa sezione su quella riga. Per una finestra nascosta una notifica di Windows dice "Tentativo di connessione OPC UA bloccato", oppure "Certificato OPC UA in attesa di verifica" quando il tentativo è arrivato durante Aggiungi client. La scheda segue l'elenco: viene sostituita man mano che i certificati arrivano e viene chiusa quando non c'è più nulla in attesa; un avvio con richieste già in attesa ripristina un'unica scheda di riepilogo silenziosa e nessuna notifica di Windows. Il client stesso vede un errore di certificato non attendibile finché non lo si rende attendibile.
Dove vivono le decisioni
Gli archivi sono archivi di cartella OPC UA sotto ua\pki nella radice dei dati della stazione (trusted, pending, blocked, l'archivio diagnostico rejected proprio dell'SDK, e own per il certificato della stazione), con i conteggi dei tentativi e le decisioni in client-access.json. Una decisione viene scritta nell'archivio prima di essere annunciata, così la schermata e il validatore dal vivo non possono mai essere in disaccordo; gli archivi vengono riconciliati a ogni avvio, e un blocco esplicito vince sempre sull'attendibilità, che vince su una richiesta in attesa. Non fanno parte di un backup della configurazione.
Ciò che questa sezione non fa
Non viene mai reso attendibile nulla automaticamente: nessun archivio vuoto abilita l'accettazione, e non c'è nessuna integrazione con un server di rilevamento. La scheda non crea certificati per i client, non disconnette una singola sessione senza revocarne il certificato, non concede diritti per singolo client (un'applicazione attendibile ha i diritti che le dà il modo di autenticazione) e non gestisce i certificati delle apparecchiature che la stazione chiama, che stanno in Accesso delle apparecchiature.