

# Melindungi komputasi
<a name="protecting-compute"></a>

Sumber daya komputasi meliputi instans EC2, kontainer, fungsi AWS Lambda, layanan basis data, perangkat IoT, dan banyak lagi lainnya. Untuk mengamankan tiap-tiap tipe sumber daya komputasi ini, diperlukan pendekatan yang berbeda-beda. Namun demikian, semuanya memiliki strategi yang sama yang perlu Anda pertimbangkan: pertahanan yang mendalam, manajemen kerentanan, pengurangan permukaan serangan, otomatisasi konfigurasi dan operasi, dan melakukan tindakan dari jarak jauh. Pada bagian ini, Anda akan menemukan panduan umum yang bisa dilakukan untuk memproteksi sumber daya komputasi untuk layanan-layanan utama Anda. Untuk tiap-tiap layanan AWS yang digunakan, Anda harus memeriksa saran keamanan spesifik yang diuraikan dalam dokumentasi layanan.

**Topics**
+ [SEC06-BP01 Melakukan manajemen kerentanan](sec_protect_compute_vulnerability_management.md)
+ [SEC06-BP02 Komputasi ketentuan dari gambar yang diperkeras](sec_protect_compute_hardened_images.md)
+ [SEC06-BP03 Kurangi manajemen manual dan akses interaktif](sec_protect_compute_reduce_manual_management.md)
+ [SEC06-BP04 Validasi integritas perangkat lunak](sec_protect_compute_validate_software_integrity.md)
+ [SEC06-BP05 Otomatiskan perlindungan komputasi](sec_protect_compute_auto_protection.md)

# SEC06-BP01 Melakukan manajemen kerentanan
<a name="sec_protect_compute_vulnerability_management"></a>

Seringlah memindai dan mem-patch kerentanan pada kode, dependensi, dan infrastruktur Anda untuk membantu mencegah ancaman baru.

 **Hasil yang diinginkan:** Anda memiliki solusi yang terus-menerus memindai beban kerja Anda untuk menemukan kerentanan perangkat lunak, potensi kerusakan, dan paparan jaringan yang tidak diinginkan. Anda telah menetapkan proses dan prosedur untuk mengidentifikasi, memprioritaskan, dan memulihkan kerentanan ini berdasarkan kriteria penilaian risiko. Selain itu, Anda telah menerapkan manajemen patch otomatis untuk instans komputasi Anda. Program manajemen kerentanan Anda terintegrasi ke dalam siklus hidup pengembangan perangkat lunak Anda, dengan solusi untuk memindai kode sumber Anda selama pipeline CI/CD. 

 **Anti-pola umum:** 
+  Tidak memiliki program manajemen kerentanan. 
+  Menjalankan patching sistem tanpa mempertimbangkan tingkat keparahan atau penghindaran risiko. 
+  Menggunakan perangkat lunak yang sudah lewat tanggal akhir masa pakainya (EOL) dari vendor. 
+  Melakukan deployment kode ke dalam lingkungan produksi sebelum menganalisis masalah keamanan. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Tinggi 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Manajemen kerentanan adalah aspek kunci untuk mempertahankan lingkungan cloud yang aman dan andal. Hal ini memerlukan proses komprehensif yang mencakup pemindaian keamanan, identifikasi dan prioritisasi masalah, serta operasi patch untuk mengatasi kerentanan yang teridentifikasi. Otomatisasi memainkan peran penting dalam proses ini karena memfasilitasi pemindaian beban kerja secara terus-menerus untuk menemukan potensi masalah dan paparan jaringan yang tidak diinginkan, serta upaya remediasi. 

 [Model Tanggung Jawab Bersama AWS](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/shared-responsibility.html) adalah konsep mendasar yang mendukung manajemen kerentanan. Menurut model ini, AWS bertanggung jawab untuk mengamankan infrastruktur yang mendasari, termasuk perangkat keras, perangkat lunak, jaringan, dan fasilitas yang menjalankan layanan AWS. Sebaliknya, Anda bertanggung jawab untuk mengamankan data, konfigurasi keamanan, dan tugas manajemen yang terkait dengan layanan, seperti instans Amazon EC2 dan objek Amazon S3. 

 AWS menawarkan berbagai layanan untuk mendukung program manajemen kerentanan. [Amazon Inspector](https://aws.amazon.com/inspector/) terus memindai beban kerja AWS untuk mencari kerentanan perangkat lunak dan akses jaringan yang tidak diinginkan, sementara [Manajer Patch AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) membantu mengelola patching di seluruh instans Amazon EC2. Layanan-layanan ini dapat diintegrasikan dengan [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/), layanan manajemen postur keamanan cloud yang mengotomatiskan pemeriksaan keamanan AWS, memusatkan peringatan keamanan, dan memberikan gambaran komprehensif tentang postur keamanan organisasi. Selain itu, [Keamanan Amazon CodeGuru](https://aws.amazon.com/codeguru/) menggunakan analisis kode statis untuk mengidentifikasi potensi masalah dalam aplikasi Java dan Python selama fase pengembangan. 

 Dengan menggabungkan praktik manajemen kerentanan ke dalam siklus hidup pengembangan perangkat lunak, Anda dapat secara proaktif mengatasi kerentanan sebelum diteruskan ke lingkungan produksi, sehingga mengurangi risiko peristiwa keamanan dan meminimalkan potensi dampak kerentanan. 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>

1.  **Pahami model tanggung jawab bersama:** Tinjau model tanggung jawab bersama AWS untuk memahami tanggung jawab Anda dalam mengamankan beban kerja dan data Anda di cloud. AWS bertanggung jawab untuk mengamankan infrastruktur cloud yang mendasar, sementara Anda bertanggung jawab untuk mengamankan aplikasi, data, dan layanan yang Anda gunakan. 

1.  **Terapkan pemindaian kerentanan**: Konfigurasikan layanan pemindaian kerentanan, seperti Amazon Inspector, untuk memindai instans komputasi Anda secara otomatis (misalnya, mesin virtual, kontainer, atau fungsi nirserver) untuk menemukan kerentanan perangkat lunak, potensi kerusakan, dan paparan jaringan yang tidak diinginkan. 

1.  **Tetapkan proses manajemen kerentanan:** Tentukan proses dan prosedur untuk mengidentifikasi, memprioritaskan, dan memulihkan kerentanan. Hal ini mungkin mencakup pengaturan jadwal pemindaian kerentanan reguler, penetapan kriteria penilaian risiko, dan penentuan jadwal remediasi berdasarkan tingkat keparahan kerentanan. 

1.  **Siapkan manajemen patch:** Gunakan layanan manajemen patch untuk mengotomatiskan proses patching instans komputasi Anda, baik untuk sistem operasi maupun aplikasi. Anda dapat mengonfigurasi layanan untuk memindai instans guna mengetahui patch yang belum diterapkan dan menginstalnya secara otomatis sesuai jadwal. Pertimbangkan Manajer Patch AWS Systems Manager untuk menyediakan fungsi ini. 

1.  **Konfigurasikan perlindungan malware:** Terapkan mekanisme untuk mendeteksi perangkat lunak berbahaya di lingkungan Anda. Misalnya, Anda dapat menggunakan alat seperti [Amazon GuardDuty](https://aws.amazon.com/guardduty/) untuk menganalisis, mendeteksi, dan memperingatkan tentang malware dalam volume EC2 dan EBS. GuardDuty juga dapat memindai objek yang baru diunggah ke Amazon S3 untuk mencari potensi malware atau virus dan mengambil tindakan untuk mengisolasinya sebelum terserap ke dalam proses hilir. 

1.  **Integrasikan pemindaian kerentanan dalam pipeline CI/CD:** Jika Anda menggunakan pipeline CI/CD untuk deployment aplikasi, integrasikan alat pemindaian kerentanan ke dalam pipeline Anda. Alat seperti Keamanan Amazon CodeGuru dan opsi sumber terbuka dapat memindai kode sumber, dependensi, dan artefak Anda untuk mencari potensi masalah keamanan. 

1.  **Konfigurasikan layanan pemantauan keamanan:** Siapkan layanan pemantauan keamanan, seperti AWS Security Hub CSPM, untuk mendapatkan gambaran komprehensif tentang postur keamanan Anda di beberapa layanan cloud. Layanan tersebut harus mengumpulkan temuan keamanan dari berbagai sumber dan menyajikannya dalam format standar untuk mempermudah prioritisasi dan remediasi. 

1.  **Terapkan uji penetrasi aplikasi web**: Jika aplikasi Anda adalah aplikasi web, dan organisasi Anda memiliki keterampilan yang diperlukan atau dapat menyewa bantuan dari luar, pertimbangkan untuk menerapkan pengujian penetrasi aplikasi web untuk mengidentifikasi potensi kerentanan dalam aplikasi Anda. 

1.  **Otomatiskan dengan infrastruktur sebagai kode**: Gunakan alat infrastruktur sebagai kode (IaC), seperti [AWS CloudFormation](https://aws.amazon.com/cloudformation/), untuk mengotomatiskan deployment dan konfigurasi sumber daya Anda, termasuk layanan keamanan yang disebutkan sebelumnya. Praktik ini membantu Anda membuat arsitektur sumber daya yang lebih konsisten dan terstandardisasi di beberapa akun dan lingkungan. 

1.  **Pantau dan terus tingkatkan**: Terus pantau efektivitas program manajemen kerentanan Anda, dan lakukan peningkatan sesuai kebutuhan. Tinjau temuan keamanan, evaluasi efektivitas upaya remediasi Anda, serta sesuaikan proses dan alat Anda sesuai dengan itu. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 
+  [Gambaran Umum Keamanan AWS Lambda](https://pages.awscloud.com/rs/112-TZM-766/images/Overview-AWS-Lambda-Security.pdf) 
+ [ Amazon CodeGuru ](https://docs.aws.amazon.com/codeguru/latest/reviewer-ug/welcome.html)
+ [ Manajemen Kerentanan Otomatis dan Ditingkatkan untuk Beban Kerja Cloud dengan Amazon Inspector Baru ](https://aws.amazon.com/blogs/aws/improved-automated-vulnerability-management-for-cloud-workloads-with-a-new-amazon-inspector/)
+ [ Mengotomatiskan manajemen kerentanan dan remediasi dalam AWS menggunakan Amazon Inspector dan AWS Systems Manager – Bagian 1 ](https://aws.amazon.com/blogs/mt/automate-vulnerability-management-and-remediation-in-aws-using-amazon-inspector-and-aws-systems-manager-part-1/)

 **Video terkait:** 
+  [Mengamankan Layanan Kontainer dan Nirserver](https://youtu.be/kmSdyN9qiXY) 
+  [Praktik terbaik keamanan untuk layanan metadata instans Amazon EC2](https://youtu.be/2B5bhZzayjI) 

# SEC06-BP02 Komputasi ketentuan dari gambar yang diperkeras
<a name="sec_protect_compute_hardened_images"></a>

 Kurangi peluang untuk akses yang tidak diinginkan ke lingkungan runtime Anda dengan melakukan deployment-nya dari citra yang diperkeras (hardened images). Dapatkan dependensi runtime, seperti citra kontainer dan pustaka aplikasi, hanya dari registri tepercaya dan verifikasikan tanda tangannya. Buat registri privat Anda sendiri untuk menyimpan citra dan pustaka tepercaya yang akan digunakan dalam proses build dan deployment Anda. 

 **Hasil yang diinginkan:** Sumber daya komputasi Anda disediakan dari image dasar yang diperkeras. Anda mengambil dependensi eksternal, seperti citra kontainer dan pustaka aplikasi, hanya dari registri tepercaya dan memverifikasi tanda tangannya. Image dan pustaka ini disimpan dalam registri privat untuk dirujuk oleh proses build dan deployment Anda. Anda memindai dan memperbarui citra dan dependensi secara rutin untuk membantu Anda melindungi terhadap kerentanan yang baru ditemukan. 

 **Anti-pola umum:** 
+  Mendapatkan citra dan pustaka dari registri tepercaya, tetapi tidak memverifikasi tanda tangannya atau melakukan pemindaian kerentanan sebelum menggunakannya. 
+  Melakukan pengerasan citra, tetapi tidak mengujinya secara rutin untuk menemukan kerentanan baru atau memperbaruinya ke versi terkini. 
+  Menginstal atau tidak menghapus paket-paket perangkat lunak yang tidak diperlukan selama perkiraan siklus hidup citra. 
+  Hanya mengandalkan patching untuk menjaga sumber daya komputasi produksi tetap mutakhir. Patching saja masih dapat menyebabkan sumber daya komputasi menyimpang dari standar yang diperkeras dari waktu ke waktu. Patching juga dapat gagal menghapus malware yang mungkin telah diinstal oleh pelaku ancaman selama terjadi peristiwa keamanan. 

 **Manfaat menerapkan praktik terbaik ini:** Pengerasan gambar akan membantu mengurangi jumlah jalur yang tersedia di lingkungan runtime Anda yang dapat memungkinkan akses yang tidak diinginkan ke pengguna atau layanan yang tidak sah. Hal ini juga dapat mengurangi cakupan dampak jika terjadi akses yang tidak diinginkan. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Tinggi 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Untuk melakukan pengerasan terhadap sistem Anda, mulailah dari versi sistem operasi, citra kontainer, dan pustaka aplikasi terbaru. Terapkan patch untuk masalah yang diketahui. Minimalkan sistem dengan menghapus aplikasi-aplikasi, layanan, driver perangkat, pengguna default, dan kredensial lainnya yang tidak diperlukan. Lakukan tindakan-tindakan lain yang diperlukan, seperti menonaktifkan port untuk membuat lingkungan yang hanya memiliki sumber daya dan kemampuan yang dibutuhkan oleh beban kerja Anda. Dari acuan dasar ini, Anda kemudian dapat menginstal perangkat lunak, agen, atau proses lain yang Anda butuhkan untuk berbagai tujuan, seperti pemantauan beban kerja atau manajemen kerentanan. 

 Anda dapat mengurangi beban sistem pengerasan dengan menggunakan panduan yang disediakan sumber tepercaya, seperti [Center for Internet Security (CIS) dan Defense Information Systems Agency () Security](https://www.cisecurity.org/) [Technical Implementation Guides (STIGs)](https://public.cyber.mil/stigs/). DISA Kami menyarankan Anda memulai dengan [Amazon Machine Image](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) (AMI) yang diterbitkan oleh AWS atau APN mitra, dan menggunakan AWS [EC2Image Builder](https://aws.amazon.com/image-builder/) untuk mengotomatiskan konfigurasi sesuai dengan kombinasi CIS dan STIG kontrol yang sesuai. 

 Meskipun ada gambar keras yang tersedia dan resep EC2 Image Builder yang menerapkan CIS atau DISA STIG rekomendasi, Anda mungkin menemukan konfigurasi mereka mencegah perangkat lunak Anda berjalan dengan sukses. Dalam situasi ini, Anda dapat memulai dari gambar dasar yang tidak dikeraskan, menginstal perangkat lunak Anda, dan kemudian secara bertahap menerapkan CIS kontrol untuk menguji dampaknya. Untuk CIS kontrol apa pun yang mencegah perangkat lunak Anda berjalan, uji apakah Anda dapat menerapkan rekomendasi pengerasan berbutir halus sebagai gantinya. DISA Lacak berbagai CIS kontrol dan DISA STIG konfigurasi yang dapat Anda terapkan dengan sukses. Gunakan ini untuk menentukan resep pengerasan gambar Anda di EC2 Image Builder yang sesuai. 

 [Untuk beban kerja kontainer, gambar yang dikeraskan dari Docker tersedia di repositori publik [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) (). ECR](https://gallery.ecr.aws/docker) Anda dapat menggunakan EC2 Image Builder untuk mengeraskan gambar kontainer di sampingnyaAMIs. 

 Mirip dengan sistem operasi dan gambar kontainer, Anda dapat memperoleh paket kode (atau *pustaka*) dari repositori publik, melalui perkakas seperti pip, npm, Maven, dan. NuGet Kami menyarankan Anda untuk mengelola paket kode dengan mengintegrasikan repositori pribadi, seperti dalam [AWS CodeArtifact](https://aws.amazon.com/codeartifact/), dengan repositori publik tepercaya. Integrasi ini dapat menangani pengambilan, penyimpanan, dan penyimpanan paket up-to-date untuk Anda. Proses pembuatan aplikasi Anda kemudian dapat memperoleh dan menguji versi terbaru dari paket-paket ini bersama aplikasi Anda, menggunakan teknik seperti Analisis Komposisi Perangkat Lunak (SCA), Pengujian Keamanan Aplikasi Statis (SAST), dan Pengujian Keamanan Aplikasi Dinamis (DAST). 

 [Untuk beban kerja tanpa server yang digunakan AWS Lambda, sederhanakan pengelolaan dependensi paket menggunakan lapisan Lambda.](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html) Gunakan lapisan Lambda untuk mengonfigurasi sekumpulan dependensi standar yang ada di berbagai fungsi ke dalam arsip mandiri. Anda dapat membuat dan memelihara lapisan melalui proses pembuatannya sendiri, menyediakan cara sentral agar fungsi Anda tetap ada up-to-date. 

## Langkah-langkah implementasi
<a name="implementation-steps"></a>
+  Lakukan pengerasan terhadap sistem operasi. Gunakan gambar dasar dari sumber tepercaya sebagai fondasi untuk membangun pengerasan Anda. AMIs Gunakan [EC2Image Builder](https://aws.amazon.com/image-builder/) untuk membantu menyesuaikan perangkat lunak yang diinstal pada gambar Anda. 
+  Lakukan pengerasan terhadap sumber daya terkontainerisasi. Konfigurasikan sumber daya terkontainerisasi untuk memenuhi praktik-praktik terbaik keamanan. Saat menggunakan kontainer, terapkan [Pemindaian ECR Gambar](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) di pipeline build Anda dan secara teratur terhadap repositori gambar Anda untuk dicari CVEs di container Anda.  
+  Saat menggunakan implementasi tanpa server dengan AWS Lambda, gunakan [lapisan Lambda](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html) untuk memisahkan kode fungsi aplikasi dan pustaka dependen bersama. Konfigurasikan [penandatanganan kode](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) untuk Lambda untuk memastikan bahwa hanya kode tepercaya yang berjalan dalam fungsi Lambda Anda. 

## Sumber daya
<a name="resources"></a>

 **Praktik-praktik terbaik terkait:** 
+  [OPS05-BP05 Lakukan manajemen tambalan](https://docs.aws.amazon.com/wellarchitected/latest/framework/ops_dev_integ_patch_mgmt.html) 

 **Video terkait:** 
+  [Menyelam jauh ke dalam AWS Lambda keamanan](https://www.youtube.com/watch?v=FTwsMYXWGB0) 

 **Contoh terkait:** 
+  [Membangun STIG -compliant dengan cepat AMI menggunakan EC2 Image Builder](https://aws.amazon.com/blogs/security/quickly-build-stig-compliant-amazon-machine-images-using-amazon-ec2-image-builder/) 
+  [Membangun image kontainer yang lebih baik](https://aws.amazon.com/blogs/containers/building-better-container-images/) 
+  [Menggunakan lapisan Lambda untuk menyederhanakan proses pengembangan Anda](https://aws.amazon.com/blogs/compute/using-lambda-layers-to-simplify-your-development-process/) 
+  [Mengembangkan & Menyebarkan AWS Lambda Layers menggunakan Serverless Framework](https://github.com/aws-samples/aws-serverless-lambda-layers) 
+  [Membangun pipa end-to-end AWS DevSecOps CI/CD dengan open sourceSCA, SAST dan alat DAST](https://aws.amazon.com/blogs/devops/building-end-to-end-aws-devsecops-ci-cd-pipeline-with-open-source-sca-sast-and-dast-tools/) 

# SEC06-BP03 Kurangi manajemen manual dan akses interaktif
<a name="sec_protect_compute_reduce_manual_management"></a>

 Gunakan otomatisasi sebisa mungkin untuk melakukan tugas deployment, konfigurasi, pemeliharaan, dan investigasi. Pertimbangkan akses manual ke sumber daya komputasi saat melakukan prosedur darurat atau berada dalam lingkungan yang aman (sandbox), ketika otomatisasi tidak tersedia. 

 **Hasil yang diinginkan:** Skrip terprogram dan dokumen otomatisasi (runbook) merekam tindakan resmi pada sumber daya komputasi Anda. Runbook ini dimulai baik secara otomatis, melalui sistem deteksi perubahan, maupun secara manual, ketika penilaian oleh manusia diperlukan. Akses langsung ke sumber daya komputasi hanya tersedia dalam situasi darurat ketika otomatisasi tidak tersedia. Semua aktivitas manual dicatat lognya dan dimasukkan ke dalam proses peninjauan untuk terus meningkatkan kemampuan-kemampuan otomatisasi Anda. 

 **Anti-pola umum:** 
+  Akses interaktif ke instans Amazon EC2 dengan protokol seperti SSH atau RDP. 
+  Mempertahankan login pengguna individu seperti `/etc/passwd` atau pengguna lokal Windows. 
+  Berbagi kata sandi atau kunci privat untuk mengakses instans di antara beberapa pengguna. 
+  Menginstal perangkat lunak dan membuat atau memperbarui file konfigurasi secara manual. 
+  Memperbarui atau melakukan patching perangkat lunak secara manual. 
+  Masuk ke instans untuk memecahkan masalah. 

 **Manfaat menerapkan praktik terbaik ini:** Melakukan tindakan dengan otomatisasi dapat membantu Anda mengurangi risiko operasional dari perubahan dan kesalahan konfigurasi yang tidak diinginkan. Penghentian penggunaan Secure Shell (SSH) dan Remote Desktop Protocol (RDP) untuk akses interaktif akan mengurangi cakupan akses ke sumber daya komputasi Anda. Hal ini akan menghilangkan jalur umum yang memungkinkan tindakan tidak sah. Pencatatan tugas manajemen sumber daya komputasi Anda dalam dokumen otomatisasi dan skrip programatis akan menyediakan sebuah mekanisme untuk menentukan dan mengaudit cakupan penuh aktivitas yang sah secara lebih mendetail. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Masuk ke instans adalah pendekatan klasik untuk administrasi sistem. Setelah menginstal sistem operasi server, pengguna biasanya akan masuk log in secara manual untuk mengonfigurasi sistem dan menginstal perangkat lunak yang diinginkan. Selama masa pakai server, pengguna mungkin masuk log in untuk melakukan pembaruan perangkat lunak, menerapkan patch, mengubah konfigurasi, dan memecahkan masalah. 

 Namun demikian, akses secara manual dapat menimbulkan sejumlah risiko. Hal ini membutuhkan server yang mendengarkan permintaan, seperti layanan SSH atau RDP, yang dapat memberikan jalur potensial untuk terjadinya akses tidak sah. Ini juga meningkatkan risiko kesalahan manusia yang terkait dengan pelaksanaan langkah-langkah secara manual. Hal ini dapat mengakibatkan insiden beban kerja, kerusakan atau pemusnahan data, atau masalah-masalah keamanan lainnya. Akses manusia juga memerlukan perlindungan dari tindakan berbagi kredensial, yang bisa menimbulkan biaya overhead manajemen tambahan.  

 [Untuk mengurangi risiko ini, Anda dapat menerapkan solusi akses jarak jauh berbasis agen, seperti AWS Systems Manager](https://aws.amazon.com/systems-manager/). AWS Systems Manager Agen (Agen SSM) memulai sebuah saluran terenkripsi, sehingga tidak perlu mendengarkan permintaan yang dimulai secara eksternal. Pertimbangkan untuk mengonfigurasi Agen SSM untuk [membuat saluran ini melalui sebuah titik akhir VPC](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-create-vpc.html). 

 Systems Manager memberikan Anda kontrol terperinci tentang cara berinteraksi dengan instans terkelola. Anda dapat menentukan otomatisasi yang akan dijalankan, siapa yang bisa menjalankannya, dan kapan mereka bisa menjalankannya. Systems Manager dapat menerapkan patch, menginstal perangkat lunak, dan membuat perubahan konfigurasi tanpa akses interaktif ke instans. Systems Manager juga dapat menyediakan akses ke shell jarak jauh dan mencatat log dari setiap perintah yang diinvokasi, dan outputnya, selama sesi ke log dan [Amazon S3](https://aws.amazon.com/s3/). [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) merekam invokasi API Systems Manager untuk inspeksi. 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>

1.  [Instal Agen AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html) (SSM Agent) di instans Amazon EC2 Anda. Periksa untuk melihat apakah Agen SSM disertakan dan dimulai secara otomatis sebagai bagian dari konfigurasi AMI dasar Anda. 

1.  Verifikasi bahwa Peran IAM yang dikaitkan dengan profil instans EC2 Anda menyertakan kebijakan [IAM terkelola](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSSMManagedInstanceCore.html) `AmazonSSMManagedInstanceCore`. 

1.  Non-aktifkan SSH, RDP, dan layanan akses jarak jauh lainnya yang berjalan di instans Anda. Anda dapat melakukannya dengan menjalankan skrip yang dikonfigurasi di bagian data pengguna untuk templat peluncuran Anda atau dengan membuat AMI yang disesuaikan dengan alat seperti EC2 Image Builder. 

1.  Pastikan bahwa aturan lalu lintas masuk grup keamanan yang berlaku untuk instans EC2 Anda tidak mengizinkan akses pada port 22/tcp (SSH) atau port 3389/tcp (RDP). Implementasikan deteksi dan peringatan terkait grup keamanan yang salah konfigurasi dengan menggunakan layanan-layanan seperti AWS Config. 

1.  Tentukan otomatisasi dan runbook yang sesuai, lalu jalankan perintah di Systems Manager. Gunakan kebijakan IAM untuk menentukan siapa yang dapat melakukan tindakan ini dan kondisi yang akan membuat mereka diizinkan. Uji otomatisasi ini secara menyeluruh di sebuah lingkungan non-produksi. Lakukan invokasi terhadap otomatisasi ini jika diperlukan, bukan mengakses instans secara interaktif. 

1.  Gunakan [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) untuk menyediakan akses interaktif ke instans bila diperlukan. Aktifkan pencatatan log aktivitas sesi untuk mempertahankan jejak audit di [Log Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) atau [Amazon S3](https://aws.amazon.com/s3/).  

## Sumber daya
<a name="resources"></a>

 **Praktik-praktik terbaik terkait:** 
+  [REL08-BP04 Melakukan deployment dengan menggunakan infrastruktur yang tidak bisa diubah](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_tracking_change_management_immutable_infrastructure.html) 

 **Contoh terkait:** 
+  [Mengganti akses SSH untuk mengurangi overhead manajemen dan keamanan dengan AWS Systems Manager](https://aws.amazon.com/blogs/mt/vr-beneficios-session-manager/) 

 **Alat terkait:** 
+  [AWS Systems Manager](https://aws.amazon.com/systems-manager/) 

 **Video terkait:** 
+  [Mengontrol Akses Sesi Pengguna ke Instans di Manajer Sesi AWS Systems Manager](https://www.youtube.com/watch?v=nzjTIjFLiow) 

# SEC06-BP04 Validasi integritas perangkat lunak
<a name="sec_protect_compute_validate_software_integrity"></a>

 Gunakan verifikasi kriptografis untuk memvalidasi integritas artefak perangkat lunak (termasuk citra) yang digunakan beban kerja Anda.  Tanda tangani perangkat lunak Anda secara kriptografis sebagai perlindungan terhadap perubahan-perubahan tidak sah yang berjalan di lingkungan komputasi Anda. 

 **Hasil yang diinginkan:** Semua artefak diperoleh dari sumber-sumber yang tepercaya. Sertifikat situs web vendor divalidasi.  Artefak yang diunduh sudah diverifikasi secara kriptografis berdasarkan tanda tangannya. Perangkat lunak Anda sendiri ditandatangani secara kriptografis dan diverifikasi oleh lingkungan-lingkungan komputasi Anda. 

 **Anti-pola umum:** 
+  Memercayai situs web vendor terkemuka untuk mendapatkan artefak perangkat lunak, tetapi mengabaikan pemberitahuan tentang sertifikat yang kedaluwarsa.  Melanjutkan pengunduhan tanpa mengonfirmasi bahwa sertifikatnya valid. 
+  Memvalidasi sertifikat situs web vendor, tetapi tidak secara kriptografis memverifikasi artefak yang diunduh dari situs web ini. 
+  Hanya mengandalkan digest atau hash untuk memvalidasi integritas perangkat lunak.  Hash menetapkan bahwa artefak belum dimodifikasi dari versi aslinya, tetapi tidak memvalidasi sumbernya. 
+  Tidak menandatangani perangkat lunak, kode, atau pustaka Anda sendiri, meskipun hanya digunakan dalam deployment Anda sendiri.  

 **Manfaat menerapkan praktik terbaik ini:** Memvalidasi integritas artefak yang bergantung pada beban kerja Anda akan membantu Anda dalam mencegah malware memasuki lingkungan komputasi Anda.  Menandatangani perangkat lunak Anda akan membantu melindungi dari eksekusi yang tidak sah di lingkungan komputasi Anda.   Amankan rantai pasokan perangkat lunak Anda dengan menandatangani dan memverifikasi kodenya. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Citra sistem operasi, citra kontainer, dan artefak kode sering kali didistribusikan dengan pemeriksaan integritas yang tersedia, seperti melalui digest atau hash.  Hal ini memungkinkan klien untuk memverifikasi integritas dengan melakukan komputasi hash atas payload mereka sendiri dan memastikan itu sama dengan yang dipublikasikan.  *Meskipun pemeriksaan ini membantu Anda untuk memverifikasi bahwa muatan belum dirusak, namun pemeriksaan tersebut tidak memvalidasi muatan yang berasal dari sumber aslinya (asalnya*).  Verifikasi asal-usul mengharuskan adanya sertifikat yang dikeluarkan oleh otoritas tepercaya untuk menandatangani artefaknya secara digital. 

 Jika Anda menggunakan sebuah perangkat lunak atau artefak unduhan dalam beban kerja Anda, periksa apakah penyedianya menyediakan kunci publik untuk verifikasi tanda tangan digital.  Berikut ini adalah beberapa contoh cara AWS menyediakan kunci publik dan instruksi verifikasi untuk perangkat lunak yang kami publikasikan: 
+  [EC2Image Builder: Verifikasi tanda tangan unduhan AWS TOE instalasi](https://docs.aws.amazon.com/imagebuilder/latest/userguide/awstoe-verify-sig.html) 
+  [AWS Systems Manager: Memverifikasi tanda tangan SSM Agen](https://docs.aws.amazon.com/systems-manager/latest/userguide/verify-agent-signature.html) 
+  [Amazon CloudWatch: Memverifikasi tanda tangan paket CloudWatch agen](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/verify-CloudWatch-Agent-Package-Signature.html) 

 Masukkan verifikasi tanda tangan digital ke dalam proses yang Anda gunakan untuk memperoleh dan mengeraskan gambar, seperti yang dibahas dalam [SEC06-BP02 Komputasi ketentuan](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_hardened_images.html) dari gambar yang diperkeras. 

 Anda dapat menggunakannya [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html) untuk membantu Anda mengelola verifikasi tanda tangan, serta siklus hidup penandatanganan kode Anda sendiri untuk perangkat lunak dan artefak Anda sendiri.  Keduanya, [AWS Lambda](https://aws.amazon.com/lambda/) dan [Amazon Elastic Container Registry](https://aws.amazon.com/ecr/) menyediakan integrasi dengan Signer untuk memverifikasi tanda tangan kode dan image Anda.  Menggunakan contoh di bagian Sumber Daya, Anda dapat menerapkan Signer ke dalam pipeline integrasi dan pengiriman berkelanjutan (CI/CD) untuk mengotomatiskan verifikasi tanda tangan serta penandatanganan kode dan image Anda sendiri. 

## Sumber daya
<a name="resources"></a>

 **Dokumen terkait:** 
+  [Penandatanganan Kriptografi untuk Kontainer](https://aws.amazon.com/blogs/containers/cryptographic-signing-for-containers/) 
+  [Praktik Terbaik untuk membantu mengamankan pipeline build image container Anda dengan menggunakan AWS Signer](https://aws.amazon.com/blogs/security/best-practices-to-help-secure-your-container-image-build-pipeline-by-using-aws-signer/) 
+  [Mengumumkan Penandatanganan Gambar Kontainer dengan AWS Signer dan Amazon EKS](https://aws.amazon.com/blogs/containers/announcing-container-image-signing-with-aws-signer-and-amazon-eks/) 
+  [Mengkonfigurasi penandatanganan kode untuk AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html) 
+  [Praktik-praktik terbaik dan pola lanjutan untuk penandatanganan kode Lambda](https://aws.amazon.com/blogs/security/best-practices-and-advanced-patterns-for-lambda-code-signing/) 
+  [Penandatanganan kode menggunakan CA AWS Certificate Manager Pribadi dan kunci AWS Key Management Service asimetris](https://aws.amazon.com/blogs/security/code-signing-aws-certificate-manager-private-ca-aws-key-management-service-asymmetric-keys/) 

 **Contoh terkait:** 
+  [Otomatiskan penandatanganan kode Lambda dengan Amazon dan CodeCatalyst AWS Signer](https://aws.amazon.com/blogs/devops/automate-lambda-code-signing-with-amazon-codecatalyst-and-aws-signer/) 
+  [Menandatangani dan Memvalidasi OCI Artefak dengan AWS Signer](https://aws.amazon.com/blogs/containers/signing-and-validating-oci-artifacts-with-aws-signer/) 

 **Alat terkait:** 
+  [AWS Lambda](https://aws.amazon.com/lambda/) 
+  [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html) 
+  [AWS Certificate Manager](https://aws.amazon.com/certificate-manager/) 
+  [AWS Key Management Service](https://aws.amazon.com/kms/) 
+  [AWS CodeArtifact](https://aws.amazon.com/codeartifact/) 

# SEC06-BP05 Otomatiskan perlindungan komputasi
<a name="sec_protect_compute_auto_protection"></a>

 Lakukan otomatisasi terhadap operasi perlindungan komputasi untuk mengurangi kebutuhan akan intervensi manusia. Gunakan pemindaian otomatis untuk mendeteksi adanya potensi masalah yang mungkin terjadi dalam sumber daya komputasi Anda, dan lakukan remediasi dengan respons programatis otomatis atau operasi manajemen armada.  Tambahkan otomatisasi dalam proses CI/CD Anda untuk melakukan deployment beban kerja tepercaya dengan dependensi terkini. 

 **Hasil yang diinginkan:** Sistem otomatis melakukan semua pemindaian dan penambalan atas sumber daya komputasi. Anda menggunakan verifikasi otomatis untuk memeriksa apakah image dan dependensi perangkat lunak berasal dari sumber tepercaya, dan belum dirusak. Beban kerja secara otomatis akan diperiksa apakah dependensi-nya sudah menggunakan yang terbaru atau tidak, dan ditandatangani untuk membangun kepercayaan di lingkungan komputasi AWS.  Remediasi otomatis dimulai ketika ada sumber daya yang tidak mematuhi persyaratan terdeteksi.  

 **Anti-pola umum:** 
+  Mengikuti praktik infrastruktur tak dapat diubah, tetapi tidak memiliki solusi untuk melakukan patching atau penggantian darurat sistem produksi. 
+  Menggunakan otomatisasi untuk memperbaiki sumber daya yang salah konfigurasi, tetapi tidak memiliki mekanisme untuk melakukan penimpaan secara manual.  Kesulitan mungkin akan muncul saat Anda perlu menyesuaikan persyaratan, dan Anda mungkin perlu menangguhkan otomatisasi sampai Anda membuat perubahan-perubahan ini. 

 **Manfaat menerapkan praktik terbaik ini:** Otomatisasi dapat mengurangi risiko akses dan penggunaan sumber daya komputasi Anda yang tidak sah.  Hal ini akan membantu Anda mencegah terjadinya kesalahan konfigurasi yang masuk ke lingkungan produksi, serta mendeteksi dan memperbaiki kesalahan konfigurasi jika terjadi.  Otomatisasi juga akan membantu Anda mendeteksi akses dan penggunaan yang tidak sah atas sumber daya komputasi untuk mempercepat waktu respons Anda.  Hal ini pada gilirannya dapat mengurangi cakupan dampak yang ditimbulkan masalah secara keseluruhan. 

 **Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan:** Sedang 

## Panduan implementasi
<a name="implementation-guidance"></a>

 Anda dapat menerapkan otomatisasi yang dijelaskan dalam praktik Pilar Keamanan untuk memberikan proteksi terhadap melindungi sumber daya komputasi Anda. [SEC06-BP01 Melakukan manajemen kerentanan](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_vulnerability_management.html) menjelaskan cara-cara yang dapat Anda lakukan untuk menggunakan [Amazon Inspector](https://aws.amazon.com/inspector/) di pipeline CI/CD Anda dan untuk selalu memindai lingkungan runtime Anda untuk mencari Kerentanan Umum dan Eksposur (CVE) yang diketahui.  Anda dapat menggunakan [AWS Systems Manager](https://aws.amazon.com/systems-manager/) untuk menerapkan pacth atau melakukan deployment ulang atas image gambar baru melalui runbook otomatis agar armada komputasi Anda diperbarui dengan perangkat lunak dan pustaka terbaru.  Gunakan teknik-teknik ini untuk mengurangi kebutuhan akan proses-proses manual dan akses interaktif ke sumber daya komputasi Anda.  Lihat [SEC06-BP03 Kurangi manajemen manual dan akses interaktif](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_reduce_manual_management.html) untuk mempelajari lebih lanjut. 

 Otomatisasi juga berperan dalam melakukan deployment beban kerja yang dapat dipercaya, sebagaimana dijelaskan dalam [SEC06-BP02 Penyediaan komputasi dari image yang diperkeras](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_hardened_images.html) dan [SEC06-BP04 Memvalidasi integritas perangkat lunak](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_protect_compute_validate_software_integrity.html).  Anda dapat menggunakan layanan seperti [EC2 Image Builder](https://aws.amazon.com/image-builder/), [AWS Signer](https://docs.aws.amazon.com/signer/latest/developerguide/Welcome.html), [AWS CodeArtifact](https://aws.amazon.com/codeartifact/), dan [Amazon Elastic Container Registry (ECR](https://aws.amazon.com/ecr/)) untuk mengunduh, memverifikasi, membuat konsep, dan menyimpan kode image dan dependensi yang diperkeras dan sudah disetujui.   Bersama Inspector, masing-masing layanan ini dapat memainkan peran dalam proses CI/CD Anda sehingga beban kerja Anda akan memasuki produksi hanya ketika dikonfirmasi bahwa dependensinya sudah terbaru dan berasal dari sumber tepercaya.  Beban kerja Anda juga ditandatangani sehingga lingkungan komputasi AWS, seperti [AWS Lambda](https://aws.amazon.com/lambda/) dan [Amazon Elastic Kubernetes Service (EKS)](https://aws.amazon.com/eks/) dapat memverifikasi bahwa beban kerja belum dirusak sebelum mengizinkannya dijalankan. 

 Selain kontrol-kontrol preventif ini, Anda juga dapat menggunakan otomatisasi dalam kontrol-kontrol detektif untuk sumber daya komputasi Anda.  Sebagai salah satu contoh, [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/) menawarkan standar [NIST 800-53 Rev. 5](https://docs.aws.amazon.com/securityhub/latest/userguide/nist-standard.html) yang mencakup pemeriksaan seperti [instans EC2 [EC2.8] harus menggunakan Instans Metadata Service Version 2 (IMDSv2)](https://docs.aws.amazon.com/securityhub/latest/userguide/ec2-controls.html#ec2-8).  IMDSv2 menggunakan teknik autentikasi sesi, yang dapat memblokir permintaan yang berisi header HTTP X-Forwarded-For, dan TTL jaringan 1 untuk menghentikan lalu lintas yang berasal dari sumber eksternal yang hendak mengambil informasi tentang instans EC2. Pemeriksaan dalam CSPM Security Hub ini dapat mendeteksi kapan instans EC2 menggunakan IMDSv1 dan memulai remediasi otomatis. Pelajari lebih lanjut tentang deteksi dan remediasi otomatis di [SEC04-BP04 Mulai melakukan remediasi untuk sumber daya yang tidak mematuhi persyaratan](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_detect_investigate_events_noncompliant_resources.html). 

### Langkah-langkah implementasi
<a name="implementation-steps"></a>

1.  Otomatiskan pembuatan AMI yang aman, sesuai ketentuan, dan diperkeras dengan [EC2 Image Builder](https://docs.aws.amazon.com/imagebuilder/latest/userguide/integ-compliance-products.html).  Anda dapat menghasilkan citra yang menambahkan kontrol dari Tolok Ukur Center for Internet Security (CIS) atau standar Security Technical Implementation Guide (STIG) dari citra dasar AWS dan partner APN. 

1.  Melakukan otomatisasi manajemen konfigurasi. Berlakukan dan validasikan konfigurasi-konfigurasi yang aman di sumber daya komputasi Anda secara otomatis dengan menggunakan layanan atau alat manajemen konfigurasi.  

   1.  Manajemen konfigurasi otomatis menggunakan [AWS Config](https://aws.amazon.com/config/) 

   1.  Keamanan otomatis dan manajemen postur kepatuhan dengan menggunakan [AWS Security Hub CSPM](https://aws.amazon.com/security-hub/) 

1.  Otomatiskan patching dan penggantian instans Amazon Elastic Compute Cloud (Amazon EC2). AWS Manajer Patch Systems Manager mengotomatiskan proses patching instans terkelola dengan pembaruan terkait keamanan dan jenis pembaruan lainnya. Anda dapat menggunakan Patch Manager untuk menerapkan patch untuk kedua sistem operasi dan aplikasi. 

   1.  [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) 

1.  Lakukan otomatisasi terhadap pemindaian sumber daya komputasi untuk menemukan kerentanan dan paparan umum (CVE), serta sematkan solusi pemindaian keamanan dalam pipeline build Anda. 

   1.  [Amazon Inspector](https://aws.amazon.com/inspector/) 

   1.  [Pemindaian Image ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) 

1.  Pertimbangkan Amazon GuardDuty untuk mendeteksi malware dan ancaman otomatis untuk memberikan proteksi terhadap sumber daya komputasi. GuardDuty juga dapat mengidentifikasi masalah-masalah potensial ketika suatu fungsi [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) diinvokasi di lingkungan AWS Anda.  

   1.  [Amazon GuardDuty](https://aws.amazon.com/guardduty/) 

1.  Pertimbangkan solusi Partner AWS. AWS Partner menawarkan berbagai produk yang terkemuka di industri yang setara, identik, atau dapat diintegrasikan dengan kontrol yang sudah ada di lingkungan on-premise Anda. Produk-produk ini akan melengkapi layanan-layanan AWS yang ada untuk memungkinkan Anda melakukan deployment arsitektur keamanan yang menyeluruh dan pengalaman yang lebih lancar di seluruh lingkungan cloud dan on-premise Anda. 

   1.  [Keamanan infrastruktur](https://aws.amazon.com/security/partner-solutions/#infrastructure_security) 

## Sumber daya
<a name="resources"></a>

 **Praktik-praktik terbaik terkait:** 
+  [SEC01-BP06 Otomatiskan deployment kontrol keamanan standar](https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_securely_operate_automate_security_controls.html) 

 **Dokumen terkait:** 
+  [Dapatkan manfaat penuh dari IMDSv2 dan nonaktifkan IMDSv1 di seluruh infrastruktur AWS Anda](https://aws.amazon.com/blogs/security/get-the-full-benefits-of-imdsv2-and-disable-imdsv1-across-your-aws-infrastructure/) 

 **Video terkait:** 
+  [Praktik terbaik keamanan untuk layanan metadata instans Amazon EC2](https://youtu.be/2B5bhZzayjI) 