SEC09-BP03 Autentikasikan komunikasi jaringan - Pilar Keamanan

SEC09-BP03 Autentikasikan komunikasi jaringan

Verifikasikan identitas komunikasi menggunakan protokol yang mendukung autentikasi, seperti Keamanan Lapisan Pengangkutan (TLS) atau IPsec.

Rancang beban kerja Anda untuk menggunakan protokol jaringan yang aman dan terautentikasi setiap kali berkomunikasi antara layanan, aplikasi, atau ke pengguna. Menggunakan protokol jaringan yang mendukung autentikasi dan otorisasi memberikan kontrol yang lebih kuat atas alur jaringan dan mengurangi dampak akses yang tidak sah.

Hasil yang diinginkan: Beban kerja dengan arus lalu lintas bidang data dan bidang kontrol yang jelas antara layanan. Arus lalu lintas menggunakan protokol jaringan yang diautentikasi dan dienkripsi jika memungkinkan secara teknis.

Antipola umum:

  • Arus lalu lintas yang tidak dienkripsi atau tidak diautentikasi dalam beban kerja Anda.

  • Penggunaan kembali kredensial autentikasi oleh beberapa pengguna atau entitas.

  • Hanya mengandalkan kontrol jaringan sebagai mekanisme kontrol akses.

  • Membuat mekanisme autentikasi kustom, bukan mengandalkan mekanisme autentikasi standar industri.

  • Arus lalu lintas yang terlalu permisif antara komponen layanan atau sumber daya lain di VPC.

Manfaat menjalankan praktik terbaik ini:

  • Membatasi cakupan dampak untuk akses tidak sah ke satu bagian dari beban kerja.

  • Memberikan tingkat jaminan yang lebih tinggi bahwa tindakan hanya dilakukan oleh entitas yang diautentikasi.

  • Meningkatkan pemisahan layanan dengan menggambarkan dengan jelas dan menerapkan antarmuka transfer data yang diinginkan.

  • Meningkatkan pemantauan, pembuatan log, dan respons insiden melalui atribusi permintaan dan antarmuka komunikasi yang digambarkan dengan jelas.

  • Memberikan pertahanan mendalam untuk beban kerja Anda dengan menggabungkan kontrol jaringan dengan kontrol autentikasi dan otorisasi.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak dijalankan: Rendah

Panduan implementasi

Pola lalu lintas jaringan beban kerja Anda dapat dikelompokkan ke dalam dua kategori:

  • Lalu lintas timur-barat merepresentasikan arus lalu lintas antar-layanan yang membentuk beban kerja.

  • Lalu lintas utara-selatan merepresentasikan arus lalu lintas antara beban kerja Anda dan konsumen.

Meskipun enkripsi lalu lintas utara-selatan merupakan praktik umum, pengamanan lalu lintas timur-barat menggunakan protokol yang diautentikasi merupakan hal yang kurang umum. Praktik keamanan modern menyebutkan bahwa desain jaringan saja tidak cukup untuk memberikan hubungan yang dapat dipercaya antara dua entitas. Ketika dua layanan dapat berada dalam batas jaringan yang sama, sebaiknya enkripsi, autentikasi, dan otorisasi komunikasi di antara layanan-layanan tersebut tetap dilakukan.

Sebagai contoh, API layanan AWS menggunakan protokol tanda tangan Signature Version 4 (SIGv4) AWS untuk mengautentikasi pemanggil, dari jaringan mana pun permintaan tersebut berasal. Autentikasi ini memastikan bahwa API AWS dapat memverifikasi identitas yang meminta tindakan, dan identitas tersebut kemudian dapat digabungkan dengan kebijakan untuk membuat keputusan otorisasi guna menentukan apakah tindakan tersebut harus diizinkan atau tidak.

Layanan seperti Amazon VPC Lattice dan Amazon API Gateway memungkinkan Anda menggunakan protokol tanda tangan SigV4 yang sama untuk menambahkan autentikasi dan otorisasi ke lalu lintas timur-barat dalam beban kerja Anda sendiri. Jika sumber daya di luar lingkungan AWS Anda perlu berkomunikasi dengan layanan yang memerlukan autentikasi dan otorisasi berbasis SigV4, Anda dapat menggunakan AWS Identity and Access Management (IAM) Roles Anywhere pada sumber daya non-AWS untuk memperoleh kredensial AWS sementara. Kredensial ini dapat digunakan untuk menandatangani permintaan ke layanan menggunakan SigV4 untuk memberi otorisasi akses.

Mekanisme umum lainnya untuk mengautentikasi lalu lintas timur-barat adalah autentikasi timbal balik TLS (mTLS). Banyak Internet untuk Segala (IoT), aplikasi bisnis-ke-bisnis, dan layanan mikro menggunakan mTLS untuk memvalidasi identitas kedua sisi komunikasi TLS melalui penggunaan sertifikat X.509 sisi klien dan server. Sertifikat ini dapat dikeluarkan oleh AWS Private Certificate Authority (AWS Private CA). Anda dapat menggunakan layanan seperti Amazon API Gateway dan AWS App Mesh untuk menyediakan autentikasi mTLS untuk komunikasi antar- atau intra-beban kerja. Meskipun mTLS menyediakan informasi autentikasi untuk kedua sisi komunikasi TLS, mekanisme untuk otorisasi tidak disediakan.

Akhirnya, OAuth 2.0 dan OpenID Connect (OIDC) adalah dua protokol yang biasanya digunakan untuk mengontrol akses ke layanan oleh pengguna, tetapi kini juga mulai populer untuk lalu lintas antar-layanan. API Gateway menyediakan pemberi otorisasi JSON Web Token (JWT), yang memungkinkan beban kerja membatasi akses ke rute API menggunakan JWT yang dikeluarkan dari penyedia identitas OIDC atau OAuth 2.0. Cakupan OAuth2 dapat digunakan sebagai sumber untuk keputusan otorisasi dasar, tetapi pemeriksaan otorisasi masih perlu diimplementasikan di lapisan aplikasi, dan cakupan OAuth2 saja tidak dapat mendukung kebutuhan otorisasi yang lebih kompleks.

Langkah implementasi

  • Tentukan dan dokumentasikan alur jaringan beban kerja Anda: Langkah pertama dalam mengimplementasikan strategi pertahanan mendalam adalah menentukan arus lalu lintas beban kerja Anda.

    • Buat diagram alur data yang secara jelas menggambarkan bagaimana data ditransmisikan antara berbagai layanan yang membentuk beban kerja Anda. Diagram ini merupakan langkah pertama untuk menerapkan alur tersebut melalui saluran jaringan yang diautentikasi.

    • Instrumentasikan beban kerja Anda dalam fase pengembangan dan pengujian untuk memvalidasi bahwa diagram alur data mencerminkan perilaku beban kerja secara akurat pada saat runtime.

    • Diagram alur data juga dapat berguna saat melakukan latihan pemodelan ancaman, seperti yang dijelaskan dalam SEC01-BP07 Identifikasikan ancaman dan prioritaskan mitigasi menggunakan model ancaman.

  • Tetapkan kontrol jaringan: Pertimbangkan kemampuan AWS untuk menetapkan kontrol jaringan yang selaras dengan alur data Anda. Meskipun batas jaringan seharusnya tidak menjadi satu-satunya kontrol keamanan, batas tersebut menyediakan lapisan pada strategi pertahanan mendalam untuk melindungi beban kerja Anda.

    • Gunakan grup keamanan untuk menetapkan dan membatasi alur data antarsumber daya.

    • Pertimbangkan penggunaan AWS PrivateLink untuk berkomunikasi dengan layanan AWS dan layanan pihak ketiga yang mendukung AWS PrivateLink. Data yang dikirim melalui titik akhir antarmuka AWS PrivateLink tetap berada di dalam tulang punggung jaringan AWS dan tidak melintasi Internet publik.

  • Implementasikan autentikasi dan otorisasi di seluruh layanan dalam beban kerja Anda: Pilih kumpulan layanan AWS yang paling tepat untuk menyediakan arus lalu lintas yang dienkripsi dan diautentikasi dalam beban kerja Anda.

  • Pantau akses yang tidak sah: Terus pantau saluran komunikasi yang tidak diinginkan, prinsipal tidak sah yang mencoba mengakses sumber daya yang dilindungi, dan pola akses yang tidak tepat lainnya.

    • Jika VPC Lattice digunakan untuk mengelola akses ke layanan Anda, pertimbangkan untuk mengaktifkan dan memantau log akses VPC Lattice. Log akses ini mencakup informasi tentang entitas yang meminta, informasi jaringan termasuk VPC sumber dan tujuan, dan metadata permintaan.

    • Pertimbangkan untuk mengaktifkan log alur VPC untuk mencatat metadata pada alur jaringan dan meninjau anomali secara berkala.

    • Lihat Panduan Respons Insiden Keamanan AWS dan bagian Respons Insiden dari pilar keamanan Kerangka Kerja AWS Well-Architected untuk panduan lebih lanjut tentang merencanakan, menyimulasikan, dan menanggapi insiden keamanan.

Sumber daya

Praktik terbaik terkait:

Dokumen terkait:

Video terkait:

Contoh terkait: