Blog AWS Indonesia

10 Tips Terbaik Untuk Meningkatkan Keamanan Akun AWS Anda

Untuk meningkatkan keamanan cloud Anda, Anda bisa memulai dengan mengikuti 10 tips keamanan cloud paling penting yang dijelaskan oleh Stephen Schmidt, Chief Information Security Officer AWS, di acara AWS re:Invent 2019. Berikut ini adalah daftar tips tersebut, disertai penjabaran untuk mempermudah Anda menerapkannya.

1. Informasi akun yang akurat

Saat AWS perlu menghubungi Anda terkait akun AWS Anda, kami menggunakan informasi kontak yang ada di AWS Management Console, termasuk alamat email yang digunakan untuk membuat akun dan yang terdaftar di bagian Alternate Contacts. Semua alamat email tersebut sebaiknya diatur untuk masuk ke alias yang tidak bergantung pada satu orang. Anda juga harus memiliki proses untuk secara teratur memastikan alamat-alamat email ini berfungsi, dan juga memastikan Anda menanggapi email yang masuk — terutama pemberitahuan keamanan dari abuse@amazon.com yang mungkin Anda terima. Pelajari cara mengatur kontak alternatif untuk membantu memastikan selalu ada orang yang bisa menerima pesan penting.

2. Gunakan Multi-Factor Authentication (MFA)

MFA adalah cara terbaik untuk melindungi akun dari akses yang tidak diizinkan. Pastikan Anda mengatur MFA sebagai root user dan semua Identity and Access Management (IAM) users Anda. Jika Anda menggunakan AWS Single Sign-On (SSO) untuk mengontrol akses ke AWS atau untuk menggabungkan identity store perusahaan Anda, Anda juga dapat menerapkan MFA di sana. Dengan menerapkan MFA di federated identity provider (IdP), Anda dapat memanfaatkan proses MFA eksisting yang ada di organisasi Anda. Untuk memulai dengan MFA, lihat panduan menggunakan Multi-Factor Authentication (MFA) di AWS.

3. Jangan hard-code data rahasia

Saat Anda membangun aplikasi di AWS, Anda dapat menggunakan AWS IAM role untuk mendapatkan kredensial sementara yang berlaku secara singkat untuk menggunakan layanan AWS. Namun, beberapa aplikasi memerlukan kredensial yang berlaku lebih lama, misalnya kredensial untuk database password atau API key. Jika situasinya seperti ini, Anda tidak boleh melakukan hard-code kredensial rahasia ini dalam aplikasi atau pun menyimpannya dalam source code Anda.

Anda dapat menggunakan AWS Secrets Manager untuk mengontrol informasi dalam aplikasi Anda. Secrets Manager memungkinkan Anda untuk merotasi, mengelola, dan mengambil kredensial database, API key, dan data rahasia lainnya sesuai siklus hidup data rahasia tersebut. Pengguna dan aplikasi dapat mengambil data kredensial rahasia dengan memanggil API Secrets Manager, sehingga menghilangkan kebutuhan untuk melakukan hard-code informasi sensitif dalam teks.

Anda juga sebaiknya mempelajari cara menggunakan AWS IAM roles untuk aplikasi yang berjalan di Amazon EC2. Selain itu, pelajari juga cara memberikan kredensial database secara aman ke AWS Lambda function dengan menggunakan AWS Secrets Manager.

4. Batasi security groups

Security groups adalah cara utama agar Anda dapat membatasi akses jaringan ke sumber daya Anda di AWS. Memastikan bahwa hanya port yang diperlukan yang terbuka dan bahwa koneksi diizinkan hanya dari jaringan yang diketahui, merupakan pendekatan keamanan mendasar. Anda dapat menggunakan layanan seperti AWS Config atau AWS Firewall Manager untuk memastikan secara terprogram bahwa konfigurasi security group virtual private cloud (VPC) Anda sesuai dengan yang Anda inginkan. Anda juga dapat menggunakan rules package Network Reachability untuk menganalisis konfigurasi jaringan Amazon Virtual Private Cloud (Amazon VPC) Anda untuk menentukan apakah instans Amazon EC2 Anda dapat dijangkau dari jaringan eksternal seperti Internet, virtual private gateway, atau AWS Direct Connect. Selain itu, AWS Firewall Manager juga dapat digunakan untuk secara otomatis menerapkan rules AWS WAF ke sumber daya yang terhubung ke internet di seluruh akun AWS Anda. Pelajari lebih lanjut cara mendeteksi dan merespons perubahan di VPC security groups.

5. Kebijakan data yang disengaja

Tidak semua data memiliki tingkat kepentingan yang sama, dan mengklasifikasikan data dengan benar sangat penting untuk menjaga keamanannya. Anda perlu membuat kompromi yang tepat antara postur keamanan yang ketat dengan lingkungan yang fleksibel dan gesit. Postur keamanan yang ketat, dengan prosedur kontrol akses yang panjang, menciptakan jaminan yang lebih kuat terhadap keamanan data. Namun, proses keamanan seperti itu dapat menghalangi terciptanya lingkungan development yang gesit dan serba cepat, di mana developer memerlukan akses ke data. Sehingga, Anda harus merancang cara klasifikasi data yang dapat memenuhi berbagai persyaratan akses.

Data tidak harus diklasifikasikan hanya secara biner sebagai data publik atau privat saja. Data memiliki berbagai tingkat sensitivitas, dan Anda mungkin memiliki data yang tergolong dalam berbagai tingkat sensitivitas dan kerahasiaan yang berbeda. Rancang kendali keamanan data Anda dengan campuran tindakan preventif dan detektif yang tepat sesuai dengan sensitivitas datanya. Pada saran-saran di bawah ini, kami utamanya membahas perbedaan penanganan untuk data publik dan privat. Jika Anda saat ini belum memiliki kebijakan klasifikasi data, klasifikasi data sebagai data publik dan privat adalah titik yang baik untuk memulai.

Untuk melindungi data Anda setelah diklasifikasikan, atau selagi Anda mengklasifikasikannya:

  1. Jika Anda memiliki bucket Amazon Simple Storage Service (Amazon S3) yang ditujukan untuk penggunaan publik, pindahkan semua data tersebut ke akun AWS terpisah yang diperuntukkan untuk akses publik. Buat kebijakan yang hanya mengizinkan proses otomatis — bukan manusia — untuk memindahkan data ke dalam bucket tersebut. Ini memungkinkan Anda memblokir kemampuan untuk membuat bucket Amazon S3 publik di akun AWS lainnya.
  2. Gunakan Amazon S3 untuk memblokir akses publik di akun mana pun yang tidak diizinkan berbagi data melalui Amazon S3.
  3. Gunakan dua IAM role yang berbeda untuk enkripsi dan dekripsi dengan KMS. Hal ini memungkinkan Anda memisahkan proses entri data (enkripsi) dan tinjau data (dekripsi), dan juga memungkinkan Anda melakukan deteksi ancaman pada upaya dekripsi yang gagal dengan cara menganalisis IAM role terkait.

6. Pusatkan data log CloudTrail

Logging dan monitoring adalah bagian penting dari rencana keamanan yang kokoh. Kemampuan untuk menyelidiki perubahan yang tidak direncanakan di sistem Anda atau untuk melakukan analisis demi meningkatkan postur keamanan Anda bergantung pada kepemilikan akses terhadap data. AWS merekomendasikan agar Anda menulis log, terutama AWS CloudTrail, ke bucket S3 di akun AWS yang ditujukan khusus untuk logging (Log Archive). Pengaturan permissions pada bucket harus mencegah penghapusan log, dan data juga harus dienkripsi. Setelah log dipusatkan, Anda dapat mengintegrasikan solusi Security Information and Event Management (SIEM) atau menggunakan layanan AWS untuk menganalisisnya. Pelajari cara menggunakan layanan AWS untuk memvisualisasikan log AWS CloudTrail. Setelah log CloudTrail dipusatkan, Anda juga dapat menggunakan akun Log Archive yang sama untuk memusatkan log dari sumber lain, seperti CloudWatch Logs dan Elastic Load Balancing (ELB).

7. Validasi IAM roles

Saat Anda menggunakan akun AWS Anda untuk membangun dan mengembangkan kapabilitas, Anda mungkin membuat beberapa IAM roles yang belakangan ternyata tidak diperlukan. Gunakan AWS IAM Access Analyzer untuk meninjau akses ke sumber daya AWS internal Anda dan melihat di mana saja Anda memberikan akses tersebut selain kepada akun AWS Anda. Mengevaluasi ulang AWS IAM roles dan permissions secara rutin dengan Security Hub atau produk open source seperti Prowler akan memberi Anda visibilitas yang diperlukan untuk memvalidasi kepatuhan terhadap kebijakan Tata Kelola, Risiko, dan Kepatuhan (Governance, Risk, and Compliance / GRC) Anda. Jika Anda sudah melewati titik ini, dan telah membuat beberapa IAM roles, Anda dapat mencari IAM roles yang tidak digunakan dan menghapusnya.

8. Lakukan tindakan terhadap temuan keamanan (bukan hanya dari GuardDuty!)

AWS Security Hub, Amazon GuardDuty, dan AWS Identity and Access Management Access Analyzer adalah layanan AWS yang dikelola sepenuhnya yang memberi Anda temuan keamanan yang dapat ditindaklanjuti di akun AWS Anda. Layanan-layanan ini mudah diaktifkan dan dapat diintegrasikan lintas akun. Namun, mengaktifkannya hanyalah langkah pertama. Anda juga perlu mengambil tindakan ketika Anda mendapati temuan. Tindakan yang harus diambil bergantung pada kebijakan respons insiden Anda sendiri. Untuk setiap temuan, pastikan bahwa Anda telah menentukan tindakan respons yang diperlukan.

Contoh tindakan misalnya mengirim notifikasi agar seseorang dapat menindaklanjuti temuan lebih lanjut, tetapi seiring dengan semakin berpengalamannya Anda dengan layanan AWS, Anda akan ingin mengotomatisasi respons terhadap temuan yang dihasilkan oleh Security Hub atau GuardDuty. Pelajari lebih lanjut tentang cara mengotomatiskan respons dan tindakan perbaikan dari Security Hub findings.

9. Rotasi keys

Salah satu fitur yang disediakan oleh Security Hub adalah postur compliance akun AWS Anda menggunakan CIS Benchmarks. Salah satu hal yang diperiksa adalah keberadaan IAM user dengan access key yang berusia lebih dari 90 hari. Jika Anda perlu menggunakan access key dan tidak bisa menggunakan IAM role, Anda harus merotasinya secara teratur. Lihat praktik terbaik untuk mengelola access key AWS untuk panduan lebih lanjut. Jika users Anda mengakses AWS melalui federasi otentikasi, maka Anda tidak perlu memberikan access key AWS untuk users Anda. Users hanya perlu mengautentikasi ke IdP dan mengambil sebuah IAM role di akun AWS tujuan. Sehingga, kredensial jangka panjang tidak lagi diperlukan, dan user Anda akan memiliki kredensial jangka pendek yang terkait dengan sebuah IAM role.

10. Terlibat dalam siklus development

Seluruh tips sebelum ini berfokus pada konfigurasi teknologi yang dapat Anda terapkan. Tips terakhir ini, “terlibat dalam siklus development,” terkait dengan aspek manusia, dan dapat diringkas sebagai “meningkatkan budaya keamanan organisasi Anda.” Peran setiap orang di semua bagian organisasi/perusahaan adalah untuk membantu bisnis meluncurkan solusi/produk dengan aman. Sebagai pihak yang fokus pada keamanan, kita dapat membimbing dan mendidik orang-orang lain untuk memahami apa yang perlu mereka lakukan untuk meningkatkan standar keamanan dalam segala hal yang mereka bangun. Keamanan adalah tanggung jawab semua orang — bukan hanya tanggung jawab orang-orang yang nama jabatannya terkait dengan keamanan.

Hal yang dapat dilakukan oleh tim keamanan di setiap organisasi adalah menjadikan peningkatan keamanan menjadi lebih mudah, dengan cara mengubah proses sehingga tindakan termudah dan paling diinginkan juga sekaligus merupakan tindakan yang paling aman. Contoh: setiap tim tidak boleh membangun federasi identitas atau solusi logging mereka sendiri. Kita lebih kuat saat bekerja sama, dan prinsip ini juga berlaku dalam mengamankan sistem kita di cloud. Tujuan kita adalah membuat aspek keamanan lebih membumi, dan orang-orang merasa nyaman untuk berbicara dengan tim keamanan karena mereka tahu itu adalah tempat untuk mendapatkan bantuan. Untuk mempelajari lebih lanjut tentang membuat jenis tim keamanan ini, baca Menumbuhkan Kepemimpinan Keamanan.

Sekarang setelah Anda meninjau kembali 10 tips teratas untuk membuat cloud Anda lebih aman, pastikan Anda telah menerapkannya di akun AWS Anda — dan mulai membangun dengan aman!


Tulisan ini diterjemahkan dari tulisan asli berjudul Top 10 security items to improve in your AWS account yang ditulis oleh Nathan Case, Senior Security Specialist Solutions Architect di AWS. Jika Anda memiliki umpan balik tentang tulisan ini, kirimkan komentar di bagian Comment di tulisan asli.

Ingin lebih banyak konten petunjuk, berita, dan pengumuman fitur AWS Security? Ikuti kami di Twitter.

Riza Saputra

Riza Saputra

Solutions architect at AWS focusing on helping startups in Indonesia growing their business by leveraging modern technology.