

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Pemecahan masalah keamanan App Mesh
<a name="troubleshooting-security"></a>

**penting**  
Pemberitahuan akhir dukungan: Pada 30 September 2026, AWS akan menghentikan dukungan untuk. AWS App Mesh Setelah 30 September 2026, Anda tidak lagi dapat mengakses AWS App Mesh konsol atau AWS App Mesh sumber daya. Untuk informasi lebih lanjut, kunjungi posting blog ini [Migrasi dari AWS App Mesh ke Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect). 

Topik ini merinci masalah umum yang mungkin Anda alami dengan keamanan App Mesh.

## Tidak dapat terhubung ke layanan virtual backend dengan kebijakan klien TLS
<a name="ts-security-tls-client-policy"></a>

**Gejala**  
Saat menambahkan kebijakan klien TLS ke backend layanan virtual di node virtual, konektivitas ke backend tersebut gagal. Saat mencoba mengirim lalu lintas ke layanan backend, permintaan gagal dengan kode `HTTP 503` respons dan pesan kesalahan:. `upstream connect error or disconnect/reset before headers. reset reason: connection failure`

**Resolusi**  
Untuk menentukan akar penyebab masalah, sebaiknya gunakan log proses proxy Envoy untuk membantu Anda mendiagnosis masalah. Untuk informasi selengkapnya, lihat [Aktifkan logging debug Envoy di lingkungan pra-produksi](troubleshooting-best-practices.md#ts-bp-enable-envoy-debug-logging). Gunakan daftar berikut untuk menentukan penyebab kegagalan koneksi:
+ Pastikan konektivitas ke backend berhasil dengan mengesampingkan kesalahan yang disebutkan di. [Tidak dapat terhubung ke backend layanan virtual](troubleshooting-connectivity.md#ts-connectivity-virtual-service-backend)
+ Di log proses Envoy, cari kesalahan berikut (dicatat pada tingkat debug).

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

  Kesalahan ini disebabkan oleh satu atau lebih alasan berikut:
  + Sertifikat tidak ditandatangani oleh salah satu otoritas sertifikat yang ditentukan dalam paket kepercayaan kebijakan klien TLS.
  + Sertifikat tidak lagi valid (kedaluwarsa).
  + Nama Alternatif Subjek (SAN) tidak cocok dengan nama host DNS yang diminta.
  + Pastikan bahwa sertifikat yang ditawarkan oleh layanan backend valid, yang ditandatangani oleh salah satu otoritas sertifikat dalam paket kepercayaan kebijakan klien TLS Anda, dan memenuhi kriteria yang ditentukan. [Keamanan Lapisan Pengangkutan (TLS)](tls.md)
  + Jika kesalahan yang Anda terima seperti yang di bawah ini, maka itu berarti permintaan tersebut melewati proxy Utusan dan mencapai aplikasi secara langsung. Saat mengirim lalu lintas, statistik di Envoy tidak berubah yang menunjukkan bahwa Utusan tidak berada di jalur untuk mendekripsi lalu lintas. Dalam konfigurasi proxy node virtual, pastikan `AppPorts` berisi nilai yang benar yang didengarkan aplikasi.

    ```
    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
    ```

Jika masalah Anda masih belum teratasi, pertimbangkan untuk membuka [GitHub masalah](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue-bug-report.md&title=Bug%3A+describe+bug+here) atau hubungi [AWS Support](https://aws.amazon.com/premiumsupport/). Jika Anda yakin telah menemukan kerentanan keamanan atau memiliki pertanyaan tentang keamanan App Mesh, lihat pedoman [pelaporan AWS kerentanan](https://aws.amazon.com/security/vulnerability-reporting/).

## Tidak dapat terhubung ke layanan virtual backend saat aplikasi berasal dari TLS
<a name="ts-security-originating-tls"></a>

**Gejala**  
Saat memulai sesi TLS dari aplikasi, bukan dari proxy Envoy, konektivitas ke layanan virtual backend gagal.

**Resolusi**  
Ini adalah masalah yang diketahui. Untuk informasi selengkapnya, lihat [Permintaan Fitur: negosiasi TLS antara aplikasi hilir dan masalah proksi hulu](https://github.com/aws/aws-app-mesh-roadmap/issues/162). GitHub Di App Mesh, originasi TLS saat ini didukung dari proxy Envoy tetapi tidak dari aplikasi. Untuk menggunakan dukungan originasi TLS di Utusan, nonaktifkan originasi TLS dalam aplikasi. Hal ini memungkinkan Utusan untuk membaca header permintaan keluar dan meneruskan permintaan ke tujuan yang sesuai melalui sesi TLS. Untuk informasi selengkapnya, lihat [Keamanan Lapisan Pengangkutan (TLS)](tls.md). 

Jika masalah Anda masih belum teratasi, pertimbangkan untuk membuka [GitHub masalah](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) atau hubungi [AWS Support](https://aws.amazon.com/premiumsupport/). Jika Anda yakin telah menemukan kerentanan keamanan atau memiliki pertanyaan tentang keamanan App Mesh, lihat pedoman [pelaporan AWS kerentanan](https://aws.amazon.com/security/vulnerability-reporting/).

## Tidak dapat menegaskan bahwa konektivitas antara proxy Utusan menggunakan TLS
<a name="ts-security-tls-between-proxies"></a>

**Gejala**  
Aplikasi Anda telah mengaktifkan penghentian TLS pada node virtual atau pendengar gateway virtual, atau originasi TLS pada kebijakan klien TLS backend, tetapi Anda tidak dapat menegaskan bahwa konektivitas antara proxy Envoy terjadi selama sesi yang dinegosiasikan TLS.

**Resolusi**  
Langkah-langkah yang ditentukan dalam resolusi ini menggunakan antarmuka administrasi Utusan dan statistik Utusan. Untuk bantuan mengonfigurasi ini, lihat [Aktifkan antarmuka administrasi proxy Envoy](troubleshooting-best-practices.md#ts-bp-enable-proxy-admin-interface) dan[Aktifkan integrasi Envoy DogStats D untuk pembongkaran metrik](troubleshooting-best-practices.md#ts-bp-enable-envoy-statsd-integration). Contoh statistik berikut menggunakan antarmuka administrasi untuk kesederhanaan.
+ Untuk proxy Utusan yang melakukan penghentian TLS:
  + Pastikan bahwa sertifikat TLS telah di-bootstrap dalam konfigurasi Envoy dengan perintah berikut.

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

    Dalam output yang dikembalikan, Anda harus melihat setidaknya satu entri di bawah `certificates[].cert_chain` untuk sertifikat yang digunakan dalam penghentian TLS.
  + Pastikan bahwa jumlah koneksi masuk yang berhasil ke pendengar proxy sama persis dengan jumlah jabat tangan SSL ditambah jumlah sesi SSL yang digunakan kembali, seperti yang ditunjukkan oleh contoh perintah dan output berikut.

    ```
    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)
    ```
+ Untuk proxy Envoy yang melakukan originasi TLS:
  + Pastikan bahwa toko kepercayaan TLS telah di-bootstrap dalam konfigurasi Envoy dengan perintah berikut.

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

    Anda harus melihat setidaknya satu entri di bawah `certificates[].ca_certs` untuk sertifikat yang digunakan dalam memvalidasi sertifikat backend selama originasi TLS.
  + Pastikan bahwa jumlah koneksi keluar yang berhasil ke cluster backend persis sama dengan jumlah jabat tangan SSL ditambah jumlah sesi SSL yang digunakan kembali, seperti yang ditunjukkan oleh contoh perintah dan output berikut.

    ```
    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)
    ```

Jika masalah Anda masih belum teratasi, pertimbangkan untuk membuka [GitHub masalah](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) atau hubungi [AWS Support](https://aws.amazon.com/premiumsupport/). Jika Anda yakin telah menemukan kerentanan keamanan atau memiliki pertanyaan tentang keamanan App Mesh, lihat pedoman [pelaporan AWS kerentanan](https://aws.amazon.com/security/vulnerability-reporting/).

## Memecahkan Masalah TLS dengan Elastic Load Balancing
<a name="ts-security-tls-elb"></a>

**Gejala**  
Saat mencoba mengonfigurasi Application Load Balancer atau Network Load Balancer untuk mengenkripsi lalu lintas ke node virtual, pemeriksaan kesehatan konektivitas dan penyeimbang beban dapat gagal.

**Resolusi**  
Untuk menentukan akar penyebab masalah, Anda perlu memeriksa yang berikut ini:
+ Untuk proxy Envoy yang melakukan penghentian TLS, Anda harus mengesampingkan kesalahan konfigurasi apa pun. Ikuti langkah-langkah yang diberikan di atas di[Tidak dapat terhubung ke layanan virtual backend dengan kebijakan klien TLS](#ts-security-tls-client-policy).
+ Untuk penyeimbang beban, Anda perlu melihat konfigurasi `TargetGroup:`
  + Pastikan `TargetGroup` port cocok dengan port pendengar yang ditentukan node virtual.
  + Untuk Application Load Balancers yang berasal dari koneksi TLS melalui HTTP ke layanan Anda, pastikan bahwa `TargetGroup` protokol diatur ke. `HTTPS` Jika pemeriksaan kesehatan sedang digunakan, pastikan itu `HealthCheckProtocol` diatur ke`HTTPS`. 
  + Untuk Network Load Balancer yang berasal dari koneksi TLS melalui TCP ke layanan Anda, pastikan bahwa protokol diatur ke`TargetGroup`. `TLS` Jika pemeriksaan kesehatan sedang digunakan, pastikan itu `HealthCheckProtocol` diatur ke`TCP`.
**catatan**  
Setiap pembaruan yang `TargetGroup` memerlukan perubahan `TargetGroup` nama.

Dengan konfigurasi ini dengan benar, penyeimbang beban Anda harus menyediakan koneksi aman ke layanan Anda menggunakan sertifikat yang diberikan kepada proxy Envoy.

Jika masalah Anda masih belum teratasi, pertimbangkan untuk membuka [GitHub masalah](https://github.com/aws/aws-app-mesh-roadmap/issues/new?assignees=&labels=Bug&template=issue--bug-report.md&title=Bug%3A+describe+bug+here) atau hubungi [AWS Support](https://aws.amazon.com/premiumsupport/). Jika Anda yakin telah menemukan kerentanan keamanan atau memiliki pertanyaan tentang keamanan App Mesh, lihat pedoman [pelaporan AWS kerentanan](https://aws.amazon.com/security/vulnerability-reporting/).