Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memperbaiki eksposur untuk fungsi Lambda
catatan
Security Hub dalam rilis pratinjau dan dapat berubah sewaktu-waktu.
AWS Security Hub dapat menghasilkan temuan eksposur untuk AWS Lambda fungsi (Lambda).
Pada konsol Security Hub, fungsi Lambda yang terlibat dalam temuan eksposur dan informasi pengidentifikasinya tercantum di bagian Sumber Daya pada detail temuan. Secara terprogram, Anda dapat mengambil detail sumber daya dengan GetFindingsV2pengoperasian Security Hub API.
Setelah mengidentifikasi sumber daya yang terlibat dalam temuan eksposur, Anda dapat menghapus sumber daya jika Anda tidak membutuhkannya. Menghapus sumber daya yang tidak penting dapat mengurangi profil dan AWS biaya eksposur Anda. Jika sumber daya sangat penting, ikuti langkah-langkah remediasi yang direkomendasikan ini untuk membantu mengurangi risiko. Topik remediasi dibagi berdasarkan jenis sifatnya.
Temuan eksposur tunggal berisi masalah yang diidentifikasi dalam beberapa topik remediasi. Sebaliknya, Anda dapat mengatasi temuan eksposur dan menurunkan tingkat keparahannya dengan hanya membahas satu topik remediasi. Pendekatan Anda terhadap remediasi risiko tergantung pada kebutuhan organisasi dan beban kerja Anda.
catatan
Panduan remediasi yang diberikan dalam topik ini mungkin memerlukan konsultasi tambahan dalam AWS sumber daya lain.
catatan
Panduan remediasi yang diberikan dalam topik ini mungkin memerlukan konsultasi tambahan dalam AWS sumber daya lain.
Daftar Isi
Ciri salah konfigurasi untuk fungsi Lambda
Berikut adalah sifat kesalahan konfigurasi untuk fungsi Lambda dan langkah-langkah perbaikan yang disarankan.
Fungsi Lambda menjalankan runtime yang tidak didukung
Lambda memungkinkan pengembang untuk menjalankan kode tanpa menyediakan atau mengelola server melalui runtime yang mengeksekusi kode Anda di lingkungan terkelola. Lambda secara otomatis menerapkan tambalan dan pembaruan keamanan ke runtime terkelola dan gambar dasar kontainer yang sesuai. Ketika versi runtime tidak lagi didukung, ia tidak lagi menerima pembaruan keamanan, perbaikan bug, atau dukungan teknis. Fungsi yang berjalan pada runtime yang tidak digunakan lagi dapat memiliki kerentanan keamanan dan pada akhirnya dapat berhenti berfungsi karena masalah seperti kedaluwarsa sertifikat. Selain itu, runtime yang tidak didukung mungkin rentan terhadap eksploitasi keamanan yang baru ditemukan tanpa patch yang tersedia. Mengikuti praktik terbaik keamanan, sebaiknya gunakan runtime yang ditambal dan didukung untuk fungsi Lambda.
Upgrade fungsi runtime
Di tab Sumber daya eksposur, buka sumber daya dengan hyperlink. Ini akan membuka jendela fungsi Lambda. Untuk memutakhirkan fungsi Anda ke runtime yang didukung, konfigurasikan konfigurasi manajemen runtime. Anda dapat memilih agar fungsi Anda diperbarui secara otomatis ke versi runtime terbaru, tetapi sebelum memilih opsi ini, menilai apakah peningkatan otomatis dapat memengaruhi aplikasi yang sedang berjalan. Untuk informasi selengkapnya, lihat Memahami cara Lambda mengelola pembaruan versi runtime.
Fungsi Lambda digunakan di luar VPC Amazon
Fungsi Lambda secara default digunakan dengan akses ke internet publik. Konfigurasi default ini memberi fungsi Lambda kemampuan untuk mencapai titik akhir AWS layanan dan eksternal APIs, tetapi juga mengekspos mereka pada potensi risiko keamanan. Fungsi dengan akses internet dapat digunakan untuk mengekstrasi data, berkomunikasi dengan server yang tidak sah, atau menjadi titik masuk bagi aktor eksternal jika dikompromikan. Amazon VPC menyediakan isolasi jaringan dengan membatasi fungsi Lambda Anda untuk berkomunikasi hanya dengan sumber daya dalam jaringan pribadi yang Anda tentukan. Mengikuti prinsip keamanan standar, sebaiknya gunakan fungsi Lambda dalam VPC untuk meningkatkan keamanan melalui isolasi jaringan.
Lampirkan fungsi ke VPC
Dalam temuan eksposur, buka sumber daya dengan hyperlink. Ini akan membuka jendela fungsi Lambda. Untuk mengamankan fungsi Lambda Anda dengan membatasi akses jaringannya, lampirkan ke VPC yang memiliki kontrol jaringan yang sesuai. Sebelum melampirkan fungsi Anda ke VPC, rencanakan akses layanan AWS apa pun yang mungkin diperlukan, karena fungsi di subnet pribadi tanpa gateway NAT atau titik akhir VPC tidak akan dapat mencapai layanan. AWS APIs Untuk informasi tentang cara melampirkan fungsi Lambda ke VPC Amazon di akun Anda, lihat Melampirkan fungsi Lambda ke VPC Amazon di akun Anda. Akun AWS Pertimbangkan untuk menggunakan titik akhir VPC untuk konektivitas layanan tanpa akses internet jika fungsi Anda memerlukan akses AWS layanan dari dalam subnet pribadi. Konfigurasikan Gateway NAT jika Anda memerlukan konektivitas internet keluar dari subnet pribadi.
Fungsi Lambda dapat mengambil peran IAM
Fungsi Lambda menggunakan peran IAM untuk berinteraksi dengan layanan. AWS Peran ini memberikan izin untuk fungsi Lambda untuk AWS mengakses sumber daya selama eksekusi. Sementara peran ini kadang-kadang diperlukan untuk fungsi Lambda untuk melakukan tugasnya, peran ini harus mengikuti prinsip hak istimewa yang paling sedikit. Mengikuti prinsip keamanan standar, AWS merekomendasikan agar Anda meninjau apakah izin yang dilampirkan pada peran sesuai berdasarkan fungsionalitas fungsi yang dimaksudkan.
-
Tentukan apakah Peran IAM terlampir diperlukan
Tentukan apakah fungsi Lambda memerlukan peran eksekusi IAM untuk dikonfigurasi. Sebagian besar fungsi Lambda memerlukan izin dasar untuk beroperasi, seperti menulis log ke. CloudWatch Tinjau izin yang dilampirkan pada peran eksekusi fungsi dan tentukan apakah Peran IAM diperlukan untuk fungsi tersebut. Untuk informasi tentang peran eksekusi Lambda, lihat Mendefinisikan izin fungsi Lambda dengan peran eksekusi di Panduan Pengembang.AWS Lambda
-
Menerapkan akses hak istimewa paling sedikit
Ganti kebijakan yang terlalu permisif dengan kebijakan yang hanya memberikan izin khusus yang diperlukan agar fungsi dapat beroperasi. Untuk informasi tentang praktik terbaik keamanan untuk peran IAM, lihat Menerapkan izin hak istimewa terkecil di Panduan Pengguna.AWS Identity and Access Management Untuk mengidentifikasi izin yang tidak perlu, Anda dapat menggunakan IAM Access Analyzer untuk memahami cara mengubah kebijakan berdasarkan riwayat akses. Untuk informasi selengkapnya, lihat Temuan untuk akses eksternal dan tidak terpakai di Panduan AWS Identity and Access Management Pengguna. Atau, Anda dapat membuat peran IAM baru agar tidak memengaruhi fungsi Lambda lain yang menggunakan peran yang ada. Dalam skenario ini, buat peran IAM baru, lalu kaitkan peran IAM baru dengan instance. Untuk petunjuk cara mengganti peran IAM untuk suatu fungsi, lihat Memperbarui peran eksekusi fungsi di Panduan AWS Lambda Pengembang.
Peran IAM yang terkait dengan fungsi Lambda memiliki kebijakan akses Administratif
Kebijakan akses administratif menyediakan fungsi Lambda dengan izin luas untuk AWS layanan dan sumber daya. Kebijakan ini biasanya mencakup izin yang tidak diperlukan untuk fungsionalitas. Memberikan identitas IAM dengan kebijakan akses administratif pada fungsi Lambda, alih-alih set izin minimum yang dibutuhkan peran eksekusi, dapat meningkatkan cakupan serangan jika fungsi tersebut dikompromikan. Mengikuti prinsip keamanan standar, AWS merekomendasikan agar Anda memberikan hak istimewa paling sedikit, yang berarti Anda hanya memberikan izin yang diperlukan untuk melakukan tugas.
-
Meninjau dan mengidentifikasi kebijakan administratif
Dalam temuan eksposur, identifikasi nama peran. Buka dasbor IAM dan temukan peran dengan nama peran yang diidentifikasi sebelumnya. Tinjau kebijakan izin yang dilampirkan pada peran IAM. Jika kebijakan tersebut adalah kebijakan AWS terkelola, cari
AdministratorAccess
atauIAMFullAccess
. Jika tidak, dalam dokumen kebijakan, cari pernyataan yang memiliki pernyataan"Effect": "Allow", "Action": "*"
dan"Resource": "*"
bersama-sama. -
Menerapkan akses hak istimewa paling sedikit
Ganti kebijakan administratif dengan kebijakan yang hanya memberikan izin khusus yang diperlukan agar fungsi dapat beroperasi. Untuk informasi selengkapnya tentang praktik terbaik keamanan untuk peran IAM, lihat Menerapkan izin hak istimewa terkecil di Panduan Pengguna.AWS Identity and Access Management Untuk mengidentifikasi izin yang tidak perlu, Anda dapat menggunakan IAM Access Analyzer untuk memahami cara mengubah kebijakan berdasarkan riwayat akses. Untuk informasi selengkapnya, lihat Temuan untuk akses eksternal dan tidak terpakai di Panduan AWS Identity and Access Management Pengguna. Atau, Anda dapat membuat peran IAM baru agar tidak memengaruhi fungsi Lambda lainnya menggunakan peran yang ada. Dalam skenario ini, buat peran IAM baru. Kemudian kaitkan peran baru dengan instance. Untuk informasi tentang mengganti peran IAM untuk suatu fungsi, lihat Memperbarui peran eksekusi fungsi di Panduan AWS Lambda Pengembang.
-
Pertimbangan konfigurasi yang aman
Jika izin akses administratif diperlukan untuk contoh ini, pertimbangkan untuk menerapkan kontrol keamanan tambahan ini untuk mengurangi risiko:
-
Otentikasi multi-faktor (MFA) — MFA menambahkan lapisan keamanan tambahan dengan memerlukan bentuk otentikasi tambahan. Ini membantu mencegah akses yang tidak sah bahkan jika kredensialnya dikompromikan. Untuk informasi selengkapnya, lihat Memerlukan otentikasi multi-faktor (MFA) di Panduan Pengguna.AWS Identity and Access Management
-
Kondisi IAM - Menyiapkan elemen kondisi memungkinkan Anda membatasi kapan dan bagaimana izin administratif dapat digunakan berdasarkan faktor-faktor seperti IP sumber atau usia MFA. Untuk informasi selengkapnya, lihat Gunakan ketentuan dalam kebijakan IAM untuk membatasi akses lebih lanjut di Panduan Pengguna IAM.
-
Batas izin — Batas izin menetapkan izin maksimum yang dapat dimiliki peran, menyediakan pagar pembatas untuk peran dengan akses administratif. Untuk informasi selengkapnya, lihat Menggunakan batas izin untuk mendelegasikan manajemen izin dalam akun di Panduan Pengguna.AWS Identity and Access Management
-
Peran IAM yang terkait dengan fungsi Lambda memiliki kebijakan dengan akses administratif ke Layanan AWS
Kebijakan admin layanan memungkinkan fungsi Lambda untuk melakukan semua tindakan dalam layanan tertentu AWS . Kebijakan ini biasanya memberikan izin lebih dari yang diperlukan untuk operasi fungsi. Jika fungsi Lambda dengan kebijakan admin layanan disusupi, penyerang dapat menggunakan izin tersebut untuk mengakses atau memodifikasi data atau layanan sensitif di lingkungan Anda. AWS Mengikuti prinsip keamanan standar, kami menyarankan Anda memberikan hak istimewa paling sedikit, yang berarti Anda hanya memberikan izin yang diperlukan untuk melakukan tugas.
-
Meninjau dan mengidentifikasi kebijakan administratif
Dalam temuan eksposur, identifikasi nama peran di ARN. Buka dasbor IAM, dan temukan nama peran. Tinjau kebijakan izin yang dilampirkan pada peran. Jika kebijakan tersebut adalah kebijakan AWS terkelola, cari
AdministratorAccess
atauIAMFullAccess
. Jika tidak, dalam dokumen kebijakan, cari pernyataan yang memiliki pernyataan"Effect": "Allow", "Action": "*"
dan"Resource": "*"
. -
Menerapkan akses hak istimewa paling sedikit
Ganti kebijakan administratif dengan kebijakan yang hanya memberikan izin khusus yang diperlukan agar fungsi dapat beroperasi. Untuk informasi selengkapnya, lihat Menerapkan izin hak istimewa terkecil di Panduan Pengguna.AWS Identity and Access Management Untuk mengidentifikasi izin yang tidak perlu, Anda dapat menggunakan IAM Access Analyzer untuk memahami cara mengubah kebijakan berdasarkan riwayat akses. Untuk informasi selengkapnya, lihat Temuan untuk akses eksternal dan tidak terpakai di Panduan AWS Identity and Access Management Pengguna. Atau, Anda dapat membuat peran IAM baru agar tidak memengaruhi fungsi Lambda lain yang menggunakan peran yang ada. Dalam skenario ini, buat peran IAM baru, lalu kaitkan peran IAM baru dengan instance. Untuk petunjuk cara mengganti peran IAM untuk suatu fungsi, lihat Memperbarui peran eksekusi fungsi di Panduan AWS Lambda Pengembang.
-
Pertimbangan konfigurasi yang aman
Jika izin administratif tingkat layanan diperlukan untuk instans, pertimbangkan untuk menerapkan kontrol keamanan tambahan ini untuk mengurangi risiko:
-
Otentikasi multi-faktor (MFA) — MFA menambahkan lapisan keamanan tambahan dengan memerlukan bentuk otentikasi tambahan. Ini membantu mencegah akses yang tidak sah bahkan jika kredensialnya dikompromikan. Untuk informasi selengkapnya, lihat Memerlukan otentikasi multi-faktor (MFA) di Panduan Pengguna.AWS Identity and Access Management
-
Kondisi IAM - Menyiapkan elemen kondisi memungkinkan Anda membatasi kapan dan bagaimana izin administratif dapat digunakan berdasarkan faktor-faktor seperti IP sumber atau usia MFA. Untuk informasi selengkapnya, lihat Gunakan ketentuan dalam kebijakan IAM untuk membatasi akses lebih lanjut di AWS Identity and Access Management Panduan Pengguna.
-
Batas izin — Batas izin menetapkan izin maksimum yang dapat dimiliki peran, menyediakan pagar pembatas untuk peran dengan akses administratif. Untuk informasi selengkapnya, lihat Menggunakan batas izin untuk mendelegasikan manajemen izin di Panduan Pengguna.AWS Identity and Access Management
-
Ciri-ciri jangkauan untuk fungsi Lambda
Berikut adalah ciri-ciri jangkauan untuk fungsi Lambda dan langkah-langkah remediasi yang disarankan.
Fungsi Lambda dapat dipanggil secara publik
Kebijakan berbasis sumber daya Lambda menentukan siapa yang dapat menjalankan fungsi Anda. Fungsi dengan kebijakan sumber daya yang menyertakan “*” sebagai prinsipal (atau tidak ada prinsipal sama sekali) memungkinkan AWS pengguna yang diautentikasi untuk memanggilnya. Ini menciptakan risiko yang signifikan, terutama untuk fungsi yang memproses data sensitif, memodifikasi sumber daya, atau memiliki izin tinggi. Pengguna yang tidak sah dapat memanfaatkan konfigurasi ini untuk melakukan operasi yang tidak diinginkan, berpotensi mengekspos data, memanipulasi sumber daya, atau menyalahgunakan kemampuan fungsi. Mengikuti praktik terbaik keamanan, kami sarankan untuk membatasi akses fungsi Lambda hanya ke prinsipal resmi.
Ubah kebijakan berbasis sumber daya fungsi
Di tab Sumber daya eksposur, buka sumber daya dengan hyperlink. Ini akan membuka jendela fungsi Lambda. Batasi akses ke fungsi Lambda Anda dengan hanya menentukan IDs akun AWS resmi atau kepala IAM tertentu (pengguna, peran, atau layanan) dalam kebijakan berbasis sumber daya. Anda hanya dapat mengubah kebijakan berbasis sumber daya secara terprogram.
Ciri-ciri kerentanan untuk fungsi Lambda
Berikut adalah ciri-ciri kerentanan untuk fungsi Lambda dan langkah-langkah remediasi yang disarankan.
Fungsi Lambda memiliki kerentanan perangkat lunak yang dapat dieksploitasi jaringan
Paket perangkat lunak yang digunakan dalam kode fungsi Lambda dapat berisi Kerentanan Umum dan Eksposur (CVEs) yang memiliki peluang tinggi untuk dieksploitasi. Kritis CVEs menimbulkan risiko keamanan yang signifikan terhadap AWS lingkungan Anda. Penyerang dapat mengeksploitasi kerentanan yang belum ditambal ini untuk membahayakan kerahasiaan, integritas, atau ketersediaan data, atau untuk mengakses sistem lain. Kerentanan kritis dengan kemungkinan eksploitasi tinggi mewakili ancaman keamanan langsung, karena kode eksploitasi mungkin sudah tersedia untuk umum dan digunakan secara aktif oleh penyerang atau alat pemindaian otomatis. Mengikuti praktik terbaik keamanan, kami sarankan untuk menambal kerentanan ini untuk melindungi fungsi Anda dari serangan.
Perbarui fungsi yang terpengaruh
Tinjau bagian Referensi di tab Kerentanan untuk sifat tersebut. Dokumentasi vendor dapat mencakup panduan remediasi khusus. Perbarui pustaka rentan ke versi aman terbaru mereka mengikuti prosedur yang direkomendasikan vendor. Biasanya, alur kerja remediasi bergantung pada apakah Anda menggunakan paket Lambda dengan mengunggah file zip atau dengan membuat fungsi Lambda dengan gambar kontainer. Setelah memperbarui pustaka, perbarui kode fungsi Lambda untuk menggunakan versi tetap. Setelah itu, gunakan versi yang diperbarui.
Fungsi Lambda memiliki kerentanan perangkat lunak
Fungsi Lambda sering menggunakan pustaka dan dependensi pihak ketiga yang mungkin berisi kerentanan keamanan dengan tingkat keparahan atau eksploitasi yang lebih rendah dibandingkan dengan kritis. CVEs Meskipun kerentanan non-kritis ini mungkin tidak segera dieksploitasi, mereka masih mewakili kelemahan keamanan yang dapat dirantai bersama dengan kerentanan lain untuk membahayakan fungsi Anda. Seiring waktu, teknik eksploitasi baru mungkin juga muncul yang meningkatkan risiko kerentanan ini. Mengikuti prinsip keamanan standar, kami merekomendasikan untuk menambal kerentanan ini untuk menjaga lingkungan yang aman.
Tinjau bagian Referensi di tab Kerentanan untuk sifat tersebut. Dokumentasi vendor dapat mencakup panduan remediasi khusus. Perbarui pustaka rentan ke versi aman terbaru mereka mengikuti prosedur yang direkomendasikan vendor. Biasanya, alur kerja remediasi bergantung pada apakah Anda menggunakan paket Lambda dengan mengunggah file zip atau dengan membuat fungsi Lambda dengan gambar kontainer. Setelah memperbarui pustaka, perbarui kode fungsi Lambda untuk menggunakan versi tetap. Setelah itu, gunakan versi yang diperbarui.