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 bidang data yang terdefinisi dengan baik dan arus lalu lintas bidang kontrol antar layanan. Arus lalu lintas menggunakan protokol jaringan yang diautentikasi dan dienkripsi jika memungkinkan secara teknis.
Anti-pola 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-entitas yang diautentikasi.
-
Meningkatkan pemisahan layanan dengan menentukan dan menerapkan antarmuka transfer data yang diinginkan secara jelas.
-
Meningkatkan pemantauan, pembuatan log, dan respons insiden melalui atribusi permintaan dan antarmuka komunikasi yang ditentukan 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 diterapkan: Rendah
Panduan implementasi
Pola lalu lintas jaringan beban kerja Anda dapat dikelompokkan ke dalam dua kategori:
-
Lalu lintas timur-barat mewakili arus lalu lintas yang terjadi antara layanan-layanan yang membentuk sebuah beban kerja.
-
Lalu lintas utara-selatan mewakili arus lalu lintas yang terjadi antara beban kerja Anda dan konsumen.
Mengenkripsi lalu lintas utara-selatan adalah praktik yang umum, sedangkan 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 batasan jaringan yang sama, sebaiknya enkripsi, autentikasi, dan otorisasi komunikasi di antara layanan-layanan tersebut tetap dilakukan, itulah praktik terbaiknya.
Sebagai contoh, API layanan AWS menggunakan protokol tanda tangan AWS Signature Version 4 (SigV4) untuk mengautentikasi pemanggil, tidak peduli dari jaringan mana permintaan itu berasal. Autentikasi ini memastikan bahwa API AWS dapat memverifikasi identitas yang meminta tindakan, dan identitas tersebut kemudian dapat digabungkan dengan kebijakan untuk membuat sebuah keputusan otorisasi guna menentukan apakah tindakan tersebut harus diizinkan atau tidak.
Layanan-layanan seperti Amazon VPC Lattice dan Amazon API Gateway akan memungkinkan Anda untuk menggunakan protokol tanda tangan SigV4 yang sama untuk menambahkan autentikasi dan otorisasi ke lalu lintas timur-barat yang ada di 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 dengan 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 dengan menggunakan 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 untuk menyediakan autentikasi mTLS untuk komunikasi antar atau intra-beban kerja. Penyeimbang Beban Aplikasi juga mendukung mTLS untuk beban kerja internal atau eksternal. 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 mengendalikan akses ke layanan oleh pengguna, tetapi sekarang keduanya menjadi populer untuk lalu lintas layanan-ke-layanan juga. API Gateway menyediakan pemberi otorisasi JSON Web Token (JWT), yang memungkinkan beban kerja membatasi akses ke rute API dengan menggunakan JWT yang dikeluarkan dari penyedia identitas OIDC atau OAuth 2.0. Cakupan OAuth2 dapat digunakan sebagai sebuah 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-langkah implementasi
-
Tentukan dan dokumentasikan alur jaringan beban kerja Anda: Langkah pertama yang harus dilakukan untuk menerapkan strategi pertahanan mendalam adalah menentukan arus lalu lintas beban kerja Anda.
-
Buatlah sebuah diagram alur data yang secara jelas menentukan bagaimana data ditransmisikan antara berbagai layanan yang membentuk beban kerja Anda. Diagram ini merupakan langkah pertama untuk menerapkan alur-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 alir data juga dapat berguna saat Anda melakukan latihan pemodelan ancaman, seperti yang dijelaskan dalam SEC01-BP07 Mengidentifikasi ancaman dan memprioritaskan mitigasi dengan menggunakan sebuah model ancaman.
-
-
Tetapkan kontrol jaringan: Pertimbangkan kemampuan AWS untuk membuat kontrol jaringan yang selaras dengan aliran data Anda. Meskipun batasan-batasan jaringan seharusnya tidak menjadi satu-satunya kontrol keamanan, batasan-batasan tersebut menyediakan lapisan pada strategi pertahanan mendalam untuk melindungi beban kerja Anda.
-
Gunakan grup keamanan untuk menetapkan definisi dan membatasi aliran data antar sumber daya.
-
Pertimbangkan untuk menggunakan AWS PrivateLink untuk berkomunikasi dengan layanan AWS dan layanan pihak ketiga yang mendukung AWS PrivateLink. Data yang dikirim melalui suatu titik akhir antarmuka AWS PrivateLink tetap berada di dalam tulang punggung jaringan AWS dan tidak melintasi Internet publik.
-
-
Menerapkan autentikasi dan otorisasi di seluruh layanan dalam beban kerja Anda: Pilih rangkaian layanan AWS yang paling tepat untuk menyediakan arus lalu lintas terautentikasi dan terenkripsi dalam beban kerja Anda.
-
Pertimbangkan Amazon VPC Lattice untuk mengamankan komunikasi layanan-ke-layanan. VPC Lattice dapat menggunakan autentikasi SigV4 yang dikombinasikan dengan kebijakan autentikasi untuk mengontrol akses layanan-ke-layanan.
-
Untuk komunikasi layanan-ke-layanan menggunakan mTLS, pertimbangkan API Gateway atau Penyeimbang Beban Aplikasi. AWS Private CA dapat digunakan untuk membuat hierarki CA privat yang mampu mengeluarkan sertifikat untuk digunakan dengan mTLS.
-
Saat mengintegrasikan dengan layanan menggunakan OAuth 2.0 atau OIDC, pertimbangkan API Gateway yang menggunakan pemberi otorisasi JWT.
-
Untuk komunikasi antara beban kerja Anda dan perangkat IoT, pertimbangkan untuk menggunakan AWS IoT Core, yang menyediakan beberapa opsi untuk enkripsi dan autentikasi lalu lintas jaringan.
-
-
Memantau akses yang tidak sah: Lakukan pemantauan secara terus-menerus terhadap saluran komunikasi yang tidak diinginkan, principal yang tidak sah yang mencoba mengakses sumber daya yang dilindungi, dan pola akses yang tidak tepat lainnya.
-
Jika Anda menggunakan VPC Lattice 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 aliran VPC untuk merekam metadata pada alur jaringan dan meninjau anomali secara berkala.
-
Lihat Panduan Respons Insiden Keamanan AWS dan bagian Respons Insiden pilar keamanan Kerangka Kerja AWS Well-Architected untuk membaca panduan lebih lanjut tentang perencanaan, simulasi, dan penanggulangan insiden keamanan.
-
Sumber daya
Praktik-praktik terbaik terkait:
Dokumen terkait:
Video terkait:
Contoh terkait: