

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 interromperà 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 del blog [ Migrazione da AWS App Mesh ad 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 di 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 non riesce. Quando si tenta di inviare traffico al servizio di backend, le richieste hanno esito negativo 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 del processo del proxy Envoy per aiutarti a diagnosticare il problema. Per ulteriori informazioni, consulta [Abilita la registrazione di debug di Envoy negli ambienti di pre-produzione](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 sia corretta escludendo gli errori menzionati in. [Impossibile connettersi al backend di un servizio virtuale](troubleshooting-connectivity.md#ts-connectivity-virtual-service-backend)
+ Nei log del processo 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 pacchetto TLS Client Policy Trust.
  + Il certificato non è più valido (scaduto).
  + Il Subject Alternative Name (SAN) non corrisponde al nome host DNS richiesto.
  + Assicuratevi che il certificato offerto dal servizio di backend sia valido, che sia firmato da una delle autorità di certificazione incluse nel pacchetto di fiducia delle politiche client TLS e che soddisfi i criteri definiti in. [Transport Layer Security (TLS)](tls.md)
  + Se l'errore che ricevi è come quello riportato di seguito, significa che la richiesta sta bypassando il proxy Envoy e sta raggiungendo direttamente l'applicazione. Quando si invia traffico, le statistiche su Envoy non cambiano, indicando che Envoy non è sulla buona strada per decrittografare il traffico. Nella configurazione del proxy del nodo virtuale, assicurati che `AppPorts` contenga il valore corretto su cui l'applicazione è in ascolto.

    ```
    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 ](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue-bug-report.md&title=Bug%3A+describe+bug+here) o contatta l'[AWS assistenza](https://aws.amazon.com/premiumsupport/). 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 genera 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 riesce.

**Risoluzione**  
Si tratta di un problema noto. Per ulteriori informazioni, consulta la sezione [ Feature Request: negoziazione TLS tra l'applicazione downstream e il proxy upstream. ](https://github.com/aws/aws-app-mesh-roadmap/issues/162) GitHub In App Mesh, l'origine TLS è attualmente supportata dal proxy Envoy ma non dall'applicazione. Per utilizzare il supporto per l'originazione TLS su Envoy, disabilita l'origine TLS nell'applicazione. Ciò consente a 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 contatta l'assistenza. ](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) [AWS](https://aws.amazon.com/premiumsupport/) 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 durante una sessione. TLS-negotiated 

**Risoluzione**  
I passaggi definiti in questa risoluzione utilizzano l'interfaccia di amministrazione di Envoy e le statistiche di Envoy. Per assistenza nella 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 di 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 `certificates[].cert_chain` relativa al certificato utilizzato nella terminazione 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 protocollo TLS.
  + Assicurati che il numero di connessioni in uscita riuscite al cluster di backend sia esattamente uguale al 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 o contatta l'assistenza. [ GitHub ](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) [AWS](https://aws.amazon.com/premiumsupport/) 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 a TLS con Elastic Load Balancing
<a name="ts-security-tls-elb"></a>

**Caratteristiche**  
Quando si tenta di configurare un Application Load Balancer o Network Load Balancer per crittografare il traffico verso un nodo virtuale, i controlli di integrità della connettività e 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 qualsiasi configurazione errata. Segui i passaggi indicati sopra nel. [Impossibile connettersi a un servizio virtuale di backend con una politica client TLS](#ts-security-tls-client-policy)
+ Per il load balancer, è 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 generano connessioni TLS tramite HTTP al tuo servizio, assicurati che il `TargetGroup` protocollo sia impostato su. `HTTPS` Se vengono utilizzati i controlli di integrità, assicurati che sia impostato su. `HealthCheckProtocol` `HTTPS` 
  + Per i Network Load Balancer che generano connessioni TLS tramite TCP al tuo servizio, assicurati che il protocollo sia impostato su. `TargetGroup` `TLS` Se vengono utilizzati i controlli di integrità, assicurati che sia impostato su. `HealthCheckProtocol` `TCP`
**Nota**  
Eventuali aggiornamenti che `TargetGroup` richiedano la modifica del `TargetGroup` nome.

Una volta configurato correttamente, il load balancer dovrebbe fornire una connessione sicura al servizio utilizzando il certificato fornito al proxy Envoy.

Se il problema persiste, valuta la possibilità di aprirne uno [ o contatta l'](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here)GitHub assistenza. [AWS](https://aws.amazon.com/premiumsupport/) 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/)