Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Come utilizzare il proxy locale
Puoi eseguire il proxy locale sui dispositivi di origine e di destinazione per trasmettere i dati agli endpoint di tunneling sicuro. Se i tuoi dispositivi si trovano in una rete che utilizza un proxy web, il proxy web può intercettare le connessioni prima di inoltrarle a Internet. In questo caso, dovrai configurare il proxy locale per utilizzare il proxy Web. Per ulteriori informazioni, consulta Configurare il proxy locale per i dispositivi che utilizzano il proxy web.
Flusso di lavoro del proxy locale
I passaggi seguenti mostrano come avviene l'esecuzione del proxy locale sui dispositivi di origine e destinazione.
-
Connessione del proxy locale al tunneling sicuro
Il proxy locale stabilisce innanzitutto una connessione al tunneling sicuro. Quando avvii il proxy locale, utilizza i seguenti argomenti:
-
L'
-r
argomento per specificare il punto Regione AWS in cui viene aperto il tunnel. -
L'argomento
-t
per passare il token di accesso client di origine o di destinazione restituito daOpenTunnel
.Nota
Non è possibile connettere contemporaneamente due proxy locali che utilizzano lo stesso valore del token di accesso client.
-
-
Esecuzione di operazioni di origine o destinazione
Una volta stabilita la WebSocket connessione, il proxy locale esegue azioni in modalità di origine o in modalità destinazione, a seconda della configurazione.
Per impostazione predefinita, il proxy locale tenta di riconnettersi al tunneling sicuro se si verificano errori di input/output (I/O) o se la connessione viene chiusa in modo imprevisto. WebSocket Ciò causa TCP la chiusura della connessione. Se si verificano errori nei TCP socket, il proxy locale invia un messaggio attraverso il tunnel per notificare all'altra parte di chiudere la TCP connessione. Per impostazione predefinita, il proxy locale utilizza sempre SSL la comunicazione.
-
Arresto del proxy locale
Dopo aver utilizzato il tunnel, è possibile terminare il processo proxy locale in modo sicuro. Si consiglia di chiudere esplicitamente il tunnel chiamando
CloseTunnel
. I client di tunnel attivi potrebbero non essere chiusi subito dopo la chiamataCloseTunnel
.
Per ulteriori informazioni su come utilizzare per AWS Management Console aprire un tunnel e avviare una SSH sessione, consultaApri un tunnel e avvia SSH la sessione sul dispositivo remoto.
Best practice per i proxy locali
Quando esegui un proxy locale, attieniti alle best practice seguenti:
-
Evitare l'uso dell'argomento proxy
-t
locale per passare un token di accesso. Si consiglia di utilizzare la variabile di ambienteAWSIOT_TUNNEL_ACCESS_TOKEN
per impostare il token di accesso per il proxy locale. -
Eseguire l'eseguibile del proxy locale con privilegi minimi nel sistema operativo o nell'ambiente.
-
Evitare di eseguire il proxy locale come amministratore in Windows.
-
Evitare di eseguire il proxy locale come root su Linux e macOS.
-
-
Si consiglia di eseguire il proxy locale su host separati, container, sandbox, chroot jail o un ambiente virtualizzato.
-
Creare il proxy locale con i flag di sicurezza pertinenti, a seconda della toolchain.
-
Nei dispositivi con più interfacce di rete, utilizzate l'
-b
argomento per associare il TCP socket all'interfaccia di rete utilizzata per comunicare con l'applicazione di destinazione.
Esempio di comando e output
Di seguito viene illustrato un esempio di comando eseguito su sistema operativo Linux e l'output corrispondente. L'esempio mostra come il proxy locale può essere configurato in entrambe le modalità source
e destination
. Il proxy locale aggiorna il HTTPS protocollo per stabilire una connessione di lunga durata e quindi inizia WebSockets a trasmettere i dati attraverso la connessione agli endpoint del dispositivo di tunneling sicuro.
Prima di eseguire questi comandi:
Prima di poter eseguire questi comandi, è necessario aver già aperto un tunnel e aver ottenuto i token di accesso del client per l'origine e la destinazione. Inoltre, devi avere creato il proxy locale come descritto in precedenza. Per creare il proxy locale, apri il codice sorgente del proxy locale
Nota
I seguenti comandi utilizzati negli esempi utilizzano il flag verbosity
per illustrare una panoramica dei diversi passaggi descritti in precedenza dopo l'esecuzione del proxy locale. È consigliabile utilizzare questo flag solo per effettuare dei test.
Esecuzione di proxy locale in modalità di origine
I comandi seguenti mostrano come eseguire il proxy locale nella modalità di origine.
Di seguito è riportato un output di esempio dell'esecuzione del proxy locale nella modalità source
.
... ... Starting proxy in source mode Attempting to establish web socket connection with endpoint wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Resolved proxy server IP: 10.10.0.11 Connected successfully with proxy server Performing SSL handshake with proxy server Successfully completed SSL handshake with proxy server HTTP/1.1 101 Switching Protocols ... Connection: upgrade channel-id: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 upgrade: websocket ... Web socket session ID: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 Web socket subprotocol selected: aws.iot.securetunneling-2.0 Successfully established websocket connection with proxy server: wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Setting up web socket pings for every 5000 milliseconds Scheduled next read: ... Starting web socket read loop continue reading... Resolved bind IP: 127.0.0.1 Listening for new connection on port 5555
Esecuzione del proxy locale nella modalità di destinazione
I comandi seguenti mostrano come eseguire il proxy locale nella modalità di destinazione.
Di seguito è riportato un output di esempio dell'esecuzione del proxy locale nella modalità destination
.
... ... Starting proxy in destination mode Attempting to establish web socket connection with endpoint wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Resolved proxy server IP: 10.10.0.11 Connected successfully with proxy server Performing SSL handshake with proxy server Successfully completed SSL handshake with proxy server HTTP/1.1 101 Switching Protocols ... Connection: upgrade channel-id: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 upgrade: websocket ... Web socket session ID: 01234567890abc23-00001234-0005678a-b1234c5de677a001-2bc3d456 Web socket subprotocol selected: aws.iot.securetunneling-2.0 Successfully established websocket connection with proxy server: wss://data.tunneling.iot.us-west-2.amazonaws.com:443 Setting up web socket pings for every 5000 milliseconds Scheduled next read: ... Starting web socket read loop continue reading...