

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à.

# Risoluzione dei problemi di sicurezza di App Mesh
<a name="troubleshooting-security"></a>

**Importante**  
Avviso di fine del supporto: il 30 settembre 2026, AWS verrà interrotto il supporto per. AWS App Mesh Dopo il 30 settembre 2026, non potrai più accedere alla AWS App Mesh console o alle risorse. AWS App Mesh Per ulteriori informazioni, consulta questo post di blog [Migrazione AWS App Mesh da Amazon ECS Service Connect.](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect) 

Questo argomento descrive i problemi più comuni che potresti riscontrare con la sicurezza App Mesh.

## Impossibile connettersi a un servizio virtuale di backend con una politica client TLS
<a name="ts-security-tls-client-policy"></a>

**Caratteristiche**  
Quando si aggiunge una policy client TLS a un backend di servizio virtuale in un nodo virtuale, la connettività a quel backend fallisce. Quando si tenta di inviare traffico al servizio di backend, le richieste falliscono con un codice di `HTTP 503` risposta e il messaggio di errore:. `upstream connect error or disconnect/reset before headers. reset reason: connection failure`

**Risoluzione**  
Per determinare la causa principale del problema, ti consigliamo di utilizzare i registri dei processi del proxy Envoy per aiutarti a diagnosticare il problema. Per ulteriori informazioni, consulta [Abilita la registrazione di debug di Envoy negli ambienti di preproduzione](troubleshooting-best-practices.md#ts-bp-enable-envoy-debug-logging). Utilizza il seguente elenco per determinare la causa dell'errore di connessione:
+ Assicurati che la connettività al backend funzioni correttamente escludendo gli errori menzionati in. [Impossibile connettersi a un backend di servizio virtuale](troubleshooting-connectivity.md#ts-connectivity-virtual-service-backend)
+ Nei log dei processi di Envoy, cerca i seguenti errori (registrati a livello di debug).

  ```
  TLS error: 268435581:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
  ```

  Questo errore è causato da uno o più dei seguenti motivi:
  + Il certificato non è stato firmato da una delle autorità di certificazione definite nel TLS Client Policy Trust Bundle.
  + Il certificato non è più valido (scaduto).
  + Il nome alternativo del soggetto (SAN) non corrisponde al nome host DNS richiesto.
  + Assicurati che il certificato offerto dal servizio di backend sia valido, che sia firmato da una delle autorità di certificazione incluse nel tuo TLS Client Policies Trust Bundle e che soddisfi i criteri definiti in. [Transport Layer Security (TLS)](tls.md)
  + Se l'errore che ricevi è simile a quello riportato di seguito, significa che la richiesta sta ignorando il proxy Envoy e sta raggiungendo direttamente l'applicazione. Quando si invia traffico, le statistiche su Envoy non cambiano, il che indica che Envoy non è sulla strada giusta per decrittografare il traffico. Nella configurazione proxy del nodo virtuale, assicurati che `AppPorts` contenga il valore corretto che l'applicazione sta ascoltando.

    ```
    upstream connect error or disconnect/reset before headers. reset reason: connection failure, transport failure reason: TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
    ```

[Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'[AWS assistenza](https://aws.amazon.com/premiumsupport/).](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue-bug-report.md&title=Bug%3A+describe+bug+here) Se ritieni di aver trovato una vulnerabilità di sicurezza o hai domande sulla sicurezza di App Mesh, consulta le linee guida per la [segnalazione delle AWS vulnerabilità](https://aws.amazon.com/security/vulnerability-reporting/).

## Impossibile connettersi a un servizio virtuale di backend quando l'applicazione sta originando TLS
<a name="ts-security-originating-tls"></a>

**Caratteristiche**  
Quando si origina una sessione TLS da un'applicazione, anziché dal proxy Envoy, la connettività a un servizio virtuale di backend non funziona.

**Risoluzione**  
Si tratta di un problema noto. Per ulteriori informazioni, consulta il problema relativo alla [richiesta di funzionalità: negoziazione TLS tra l'applicazione downstream e il](https://github.com/aws/aws-app-mesh-roadmap/issues/162) proxy upstream. GitHub In App Mesh, l'origine TLS è attualmente supportata dal proxy Envoy ma non dall'applicazione. Per utilizzare il supporto di origine TLS su Envoy, disabilita l'origine TLS nell'applicazione. Ciò consente all'Envoy di leggere le intestazioni delle richieste in uscita e inoltrare la richiesta alla destinazione appropriata tramite una sessione TLS. Per ulteriori informazioni, consulta [Transport Layer Security (TLS)](tls.md). 

[Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'[AWS assistenza](https://aws.amazon.com/premiumsupport/).](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) Se ritieni di aver trovato una vulnerabilità di sicurezza o hai domande sulla sicurezza di App Mesh, consulta le linee guida per la [segnalazione delle AWS vulnerabilità](https://aws.amazon.com/security/vulnerability-reporting/).

## Impossibile affermare che la connettività tra i proxy Envoy utilizzi TLS
<a name="ts-security-tls-between-proxies"></a>

**Caratteristiche**  
L'applicazione ha abilitato la terminazione TLS sul nodo virtuale o sul listener del gateway virtuale o l'origine TLS sulla policy del client TLS di backend, ma non è possibile affermare che la connettività tra i proxy Envoy avvenga su una sessione negoziata con TLS.

**Risoluzione**  
Le fasi definite in questa risoluzione utilizzano l'interfaccia di amministrazione di Envoy e le statistiche di Envoy. Per informazioni sulla configurazione di questi, consulta e. [Abilita l'interfaccia di amministrazione del proxy Envoy](troubleshooting-best-practices.md#ts-bp-enable-proxy-admin-interface) [Abilita l'integrazione con Envoy DogStats D per l'offload metrico](troubleshooting-best-practices.md#ts-bp-enable-envoy-statsd-integration) I seguenti esempi di statistiche utilizzano l'interfaccia di amministrazione per semplicità.
+ Per il proxy Envoy che esegue la terminazione TLS:
  + Assicurati che il certificato TLS sia stato avviato nella configurazione di Envoy con il seguente comando.

    ```
    curl http://my-app.default.svc.cluster.local:9901/certs
    ```

    Nell'output restituito, dovresti vedere almeno una voce sotto il certificato utilizzato nella terminazione `certificates[].cert_chain` TLS.
  + Assicurati che il numero di connessioni in entrata riuscite al listener del proxy sia esattamente uguale al numero di handshake SSL più il numero di sessioni SSL riutilizzate, come mostrato dai comandi e dall'output di esempio seguenti.

    ```
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "listener.0.0.0.0_15000" | grep downstream_cx_total
    listener.0.0.0.0_15000.downstream_cx_total: 11
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "listener.0.0.0.0_15000" | grep ssl.connection_error
    listener.0.0.0.0_15000.ssl.connection_error: 1
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "listener.0.0.0.0_15000" | grep ssl.handshake
    listener.0.0.0.0_15000.ssl.handshake: 9
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "listener.0.0.0.0_15000" | grep ssl.session_reused
    listener.0.0.0.0_15000.ssl.session_reused: 1
    # Total CX (11) - SSL Connection Errors (1) == SSL Handshakes (9) + SSL Sessions Re-used (1)
    ```
+ Per il proxy Envoy che esegue l'origine TLS:
  + Assicurati che il trust store TLS sia stato avviato nella configurazione di Envoy con il seguente comando.

    ```
    curl http://my-app.default.svc.cluster.local:9901/certs
    ```

    Dovresti vedere almeno una voce sotto `certificates[].ca_certs` per i certificati utilizzati per convalidare il certificato del backend durante l'origine del TLS.
  + Assicurati che il numero di connessioni in uscita riuscite al cluster di backend sia esattamente lo stesso del numero di handshake SSL più il numero di sessioni SSL riutilizzate, come mostrato dai seguenti comandi e output di esempio.

    ```
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "virtual-node-name" | grep upstream_cx_total
    cluster.cds_egress_mesh-name_virtual-node-name_protocol_port.upstream_cx_total: 11
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "virtual-node-name" | grep ssl.connection_error
    cluster.cds_egress_mesh-name_virtual-node-name_protocol_port.ssl.connection_error: 1
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "virtual-node-name" | grep ssl.handshake
    cluster.cds_egress_mesh-name_virtual-node-name_protocol_port.ssl.handshake: 9
    curl -s http://my-app.default.svc.cluster.local:9901/stats | grep "virtual-node-name" | grep ssl.session_reused
    cluster.cds_egress_mesh-name_virtual-node-name_protocol_port.ssl.session_reused: 1
    # Total CX (11) - SSL Connection Errors (1) == SSL Handshakes (9) + SSL Sessions Re-used (1)
    ```

[Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'[AWS assistenza](https://aws.amazon.com/premiumsupport/).](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) Se ritieni di aver trovato una vulnerabilità di sicurezza o hai domande sulla sicurezza di App Mesh, consulta le linee guida per la [segnalazione delle AWS vulnerabilità](https://aws.amazon.com/security/vulnerability-reporting/).

## Risoluzione dei problemi relativi al TLS con Elastic Load Balancing
<a name="ts-security-tls-elb"></a>

**Caratteristiche**  
Quando si tenta di configurare un Application Load Balancer o un Network Load Balancer per crittografare il traffico verso un nodo virtuale, i controlli di connettività e di integrità del load balancer possono fallire.

**Risoluzione**  
Per determinare la causa principale del problema, è necessario verificare quanto segue:
+ Affinché il proxy Envoy esegua la terminazione TLS, è necessario escludere eventuali errori di configurazione. Segui i passaggi indicati sopra in. [Impossibile connettersi a un servizio virtuale di backend con una politica client TLS](#ts-security-tls-client-policy)
+ Per il bilanciamento del carico, è necessario esaminare la configurazione di `TargetGroup:`
  + Assicurati che la `TargetGroup` porta corrisponda alla porta listener definita dal nodo virtuale.
  + Per gli Application Load Balancer che originano connessioni TLS tramite HTTP al tuo servizio, assicurati che il `TargetGroup` protocollo sia impostato su. `HTTPS` Se vengono utilizzati i controlli sanitari, assicurati che sia impostato su. `HealthCheckProtocol` `HTTPS` 
  + Per i Network Load Balancer che originano connessioni TLS tramite TCP al tuo servizio, assicurati che il protocollo sia impostato su. `TargetGroup` `TLS` Se vengono utilizzati controlli sanitari, assicurati che sia impostato su. `HealthCheckProtocol` `TCP`
**Nota**  
Eventuali aggiornamenti che `TargetGroup` richiedono la modifica del `TargetGroup` nome.

Se configurato correttamente, il sistema di bilanciamento del carico dovrebbe fornire una connessione sicura al servizio utilizzando il certificato fornito al proxy Envoy.

[Se il problema persiste, valuta la possibilità di aprirne uno GitHub o di contattare l'[AWS assistenza](https://aws.amazon.com/premiumsupport/).](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) Se ritieni di aver trovato una vulnerabilità di sicurezza o hai domande sulla sicurezza di App Mesh, consulta le linee guida per la [segnalazione delle AWS vulnerabilità](https://aws.amazon.com/security/vulnerability-reporting/).