Dalam Model Tanggung Jawab Bersama AWS (Shared Responsibility Model), sementara AWS mengelola "Keamanan PADA Cloud" (pusat data fisik, perangkat keras host, hypervisor), pelanggan memegang akuntabilitas penuh atas "Keamanan DI DALAM Cloud"—khususnya tata kelola identitas, higienitas kredensial, dan kontrol akses. Kompromi akun AWS Root tanpa batas atau kredensial IAM dengan hak istimewa memungkinkan aktor ancaman meluncurkan ribuan dolar instans penambangan kripto GPU ilegal, mengeksfiltrasi data lake S3 privat, atau menjalankan penghapusan tebusan (ransomware) yang menghancurkan.
MFA wajib bagi seluruh pengguna konsol administratif dan tidak dapat ditawar untuk akun AWS Root.
AWS memungkinkan pendaftaran hingga 8 token FIDO2 dan TOTP virtual yang berbeda per akun, meniadakan titik kegagalan tunggal.
Kebijakan tolak kondisional IAM global memblokir semua panggilan API tanpa otorisasi hingga validasi MFA aktif tercapai.
Garis Dasar Kepatuhan Cloud: Tolok Ukur CIS & Kerangka Regulasi
Baik organisasi rekayasa Anda mengejar atestasi SOC 2 Tipe II, sertifikasi ISO 27001, validasi PCI DSS 4.0, maupun menyelaraskan dengan Pilar Keamanan AWS Well-Architected, penerapan MFA di seluruh identitas IAM adalah persyaratan gerbang fundamental:
| Standar / Kepatuhan Regulasi | Spesifikasi Kontrol | Tingkat Keparahan / Mandat | Mekanisme Validasi Audit |
|---|---|---|---|
| CIS AWS Foundations Benchmark v3.0 | 1.5 / 1.6 / 1.10 | Level 1 (Wajib) | Penilaian otomatis AWS Security Hub / Prowler |
| PCI DSS 4.0 | Persyaratan 8.4.2 | Wajib | Audit konsol & API Cardholder Data Environment (CDE) |
| SOC 2 Tipe II (Kriteria Kepercayaan) | CC6.1 / CC6.2 | Kontrol Kunci | Pemeriksaan independen CPA atas Laporan Kredensial IAM |
| Peluncuran Wajib MFA AWS | Kebijakan AWS 2024–2026 | Penegakan Platform | Pemblokiran gerbang masuk login Root hingga pendaftaran MFA selesai |
Keharusan Mutlak Mengamankan Akun AWS Root
Di dalam batas sebuah akun AWS, akun Root mewakili identitas serba berkuasa yang diciptakan saat pembuatan akun. Tidak seperti peran (role) atau pengguna IAM, tindakan akun Root tidak dapat dibatasi oleh kebijakan berbasis identitas IAM atau Service Control Policies (SCP) dalam akun mandiri (standalone).
Radius Ledakan Katastropik dari Akun Root yang Dikompromikan:
- Penutupan Akun yang Tidak Dapat Dibatalkan: Pelaku ancaman dapat mengeklik "Close Account", menjadwalkan penghancuran infrastruktur secara permanen.
- Pembajakan Tagihan & Finansial: Mengalihkan rute faktur tagihan, mengganti kartu pembayaran perusahaan, dan meluncurkan ratusan instans spot GPU di 30+ wilayah AWS untuk penambangan mata uang kripto ilegal.
- Memutuskan Struktur AWS Organizations: Menghapus akun anggota dari hierarki manajemen, melumpuhkan pemantauan kepatuhan organisasi.
- Mengubah Kontak Keamanan Utama: Mengubah email root dan nomor telepon secara permanen memutuskan saluran intervensi dukungan resmi AWS.
- Nol Kunci Akses Root (Zero Root Access Keys): Audit Laporan Kredensial IAM untuk memastikan bahwa access key akun Root tidak ada. Jika ada, segera hapus.
- Penyimpanan Kata Sandi Berasas Kustodi Ganda (Dual-Custody Vaulting): Buat kata sandi acak 32+ karakter, bagi frasa sandi antara CISO dan Penasihat Hukum Perusahaan (General Counsel), dan simpan masing-masing bagian dalam brankas fisik tahan api yang terpisah.
- Redundansi Multi-Perangkat (Hingga 8 Perangkat): Daftarkan setidaknya dua kunci perangkat keras fisik FIDO2 (YubiKey) ditambah satu perangkat fallback TOTP Virtual offline yang disimpan secara dingin (cold-stored).
Matriks Pemilihan MFA: TOTP Virtual vs. FIDO2 Perangkat Keras (YubiKey)
AWS mendukung tiga kelas perangkat MFA utama. Arsitek cloud harus menyelaraskan pilihan berdasarkan model ancaman dan tingkat hak istimewa administratif:
Aplikasi TOTP Virtual
Token standar RFC 6238 (Google Authenticator, 1Password, 2FA-Tool). Proses onboarding cepat, nol hambatan pengadaan barang. Ideal untuk pengembang standar.
YubiKey 5 Series
Kriptografi Tahan Phishing (Phishing-Resistant). Asersi kunci publik terikat-asal (origin-bound) menggagalkan kit phishing proksi terbalik (reverse-proxy). Wajib untuk akun Root & Administrator.
Kartu Gemalto / Thales
Kartu TOTP bertenaga mandiri, beroperasi secara air-gapped dengan layar LCD. Sangat penting untuk fasilitas dengan keamanan tinggi terisolasi (SCIF) di mana ponsel cerdas dan perangkat USB dilarang.
MFA Perangkat Keras Enterprise FIPS 140-2 Level 3 & Protokol Brankas Kustodi Ganda:
Bagi perusahaan Fortune 500 dan kontraktor pertahanan, keamanan akun Root mewajibkan fob kunci perangkat keras khusus (misalnya SafeNet/Gemalto IDPrime fobs) yang tersertifikasi FIPS 140-2 Level 3. Berbeda dengan aplikasi ponsel, fob fisik ini tidak memiliki antarmuka nirkabel, tidak ada radio bluetooth, dan tidak dapat dibajak melalui spyware seluler.
Tata Kelola Kustodi Ganda Fisik: Dalam protokol pusat data enterprise, akses Root memerlukan dua individu berbeda: satu kustodian memegang kredensial email master, sementara pejabat keamanan independen memegang kunci fisik ke brankas aman yang berisi token perangkat keras Root. Tidak ada pihak yang dapat mengakses akun AWS Root secara sepihak.
Menegakkan MFA melalui Kebijakan IAM (Implementasi JSON)
Garis dasar keamanan tidak boleh bergantung pada tindakan sukarela karyawan. Tata kelola cloud membutuhkan penegakan di tingkat kebijakan: pengguna tanpa autentikasi MFA aktif harus secara sistematis ditolak dari semua tindakan API dan Konsol AWS, kecuali kemampuan untuk mendaftarkan perangkat MFA mereka sendiri.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowViewAccountInfo",
"Effect": "Allow",
"Action": [
"iam:GetAccountPasswordPolicy",
"iam:ListVirtualMFADevices"
],
"Resource": "*"
},
{
"Sid": "AllowManageOwnVirtualMFADevice",
"Effect": "Allow",
"Action": [
"iam:CreateVirtualMFADevice",
"iam:DeleteVirtualMFADevice"
],
"Resource": "arn:aws:iam::*:mfa/${aws:username}"
},
{
"Sid": "AllowManageOwnUserMFA",
"Effect": "Allow",
"Action": [
"iam:DeactivateMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ResyncMFADevice"
],
"Resource": "arn:aws:iam::*:user/${aws:username}"
},
{
"Sid": "BlockAllAccessUnlessMFAAuthenticated",
"Effect": "Deny",
"NotAction": [
"iam:CreateVirtualMFADevice",
"iam:EnableMFADevice",
"iam:ListMFADevices",
"iam:ListVirtualMFADevices",
"iam:ResyncMFADevice",
"iam:GetUser"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
Pernyataan 4 mengevaluasi kunci kondisi global "aws:MultiFactorAuthPresent": "false" menggunakan Deny eksplisit. Karena Deny eksplisit selalu mengesampingkan semua pernyataan Allow, sesi tanpa MFA akan langsung diblokir di semua API AWS, mengarahkan pengguna secara langsung ke layar pendaftaran mandiri.
Autentikasi MFA AWS CLI & SDK: Token Sesi Sementara STS
Ketika kebijakan IAM menegakkan MFA, pengembang yang menjalankan perintah seperti aws s3 ls atau mengeksekusi kode Terraform akan menerima galat AccessDenied. Kunci akses jangka panjang tidak dapat meminta kode OTP secara interaktif.
Insinyur harus menggunakan AWS STS (Security Token Service) untuk menukar kunci jangka panjang + TOTP 6 digit dengan kredensial fana (ephemeral):
Skrip Otomatisasi (aws-mfa-session.sh):
Simpan skrip pembantu ini di lingkungan lokal Anda (~/.aws/aws-mfa-session.sh) untuk mengotomatiskan perolehan token:
# Tukar Kunci Jangka Panjang AWS + Kode MFA untuk Token Sesi STS
MFA_ARN="arn:aws:iam::123456789012:mfa/alex-dev"
echo -n "Masukkan Kode OTP 2FA 6 digit: "
read -r TOKEN_CODE
SESSION_JSON=$(aws sts get-session-token \
--serial-number "$MFA_ARN" \
--token-code "$TOKEN_CODE" \
--duration-seconds 43200 \
--output json)
if [ $? -eq 0 ]; then
export AWS_ACCESS_KEY_ID=$(echo "$SESSION_JSON" | jq -r '.Credentials.AccessKeyId')
export AWS_SECRET_ACCESS_KEY=$(echo "$SESSION_JSON" | jq -r '.Credentials.SecretAccessKey')
export AWS_SESSION_TOKEN=$(echo "$SESSION_JSON" | jq -r '.Credentials.SessionToken')
echo "✅ Terautentikasi! Sesi sementara diekspor (Berlaku selama 12 jam)."
else
echo "❌ Autentikasi gagal. Periksa kode token atau pergeseran waktu perangkat."
fi
AssumeRole Lintas Akun dengan Batasan MFA
Dalam arsitektur multi-akun enterprise, insinyur berwenang biasanya mengautentikasi ke akun Identitas (Identity account) terpusat dan beralih ke akun target (Produksi, Pementasan/Staging) melalui sts:AssumeRole. Untuk memastikan bahwa izin produksi yang ditingkatkan tidak dapat dibajak melalui kredensial yang bocor, hubungan kepercayaan (trust relationship) dari peran produksi harus menegakkan kondisi MFA:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "sts:AssumeRole",
"Condition": {
"Bool": {
"aws:MultiFactorAuthPresent": "true"
}
}
}
]
}
Pola arsitektur ini memastikan bahwa bahkan jika penyerang mengompromikan kredensial di akun Identitas pusat, upaya untuk mengambil peran target tanpa memenuhi MFA akan memicu galat AccessDenied seketika pada batas token keamanan.
Audit CloudTrail & Peringatan Waktu Nyata EventBridge
Validasi kepatuhan otomatis memerlukan deteksi seketika ketika ada pengguna yang mengakses Konsol Manajemen AWS tanpa autentikasi multifaktor. Dengan menangkap peristiwa AWS CloudTrail dan merutekannya melalui Amazon EventBridge, tim SecOps memperoleh peringatan waktu nyata (real-time):
{
"source": ["aws.signin"],
"detail-type": ["AWS Console Sign In via CloudTrail"],
"detail": {
"eventName": ["ConsoleLogin"],
"additionalEventData": {
"MFAUsed": ["No"]
}
}
}
Setelah menerima peristiwa tersebut, EventBridge memicu notifikasi Amazon SNS ke pager petugas on-call Security Operations Center (SOC) atau menjalankan fungsi AWS Lambda yang langsung mencabut sesi pengguna IAM yang sedang aktif.
Tata Kelola Multi-Akun: AWS Organizations & IAM Identity Center
Dalam lingkungan enterprise yang mengelola puluhan atau ratusan akun AWS di seluruh Landing Zone, menyediakan pengguna IAM individual di setiap akun merupakan sebuah anti-pola (anti-pattern).
Federasi Identitas Terpusat:
Terapkan AWS IAM Identity Center (sebelumnya AWS SSO) di Akun Manajemen yang ditunjuk. Federasikan identitas terhadap IdP perusahaan (Okta, Microsoft Entra ID, PingFederate). Tegakkan MFA perusahaan di lapisan IdP, sambil melampirkan Service Control Policies (SCP) di root Organisasi untuk menolak tindakan root anggota:
"Condition": { "StringLike": { "aws:PrincipalArn": ["arn:aws:iam::*:root"] } }
SCP Tingkat Produksi: Menegakkan Batasan MFA di Seluruh Akun Anggota
Dalam organisasi besar, administrator akun individual mungkin secara tidak sengaja memberikan hak istimewa yang berlebihan. Dengan melampirkan Service Control Policy (SCP) pada tingkat Root Organisasi atau Unit Organisasi (OU), tim tata kelola cloud menetapkan batasan pengaman (guardrail) yang tidak dapat diubah: panggilan API berdampak tinggi ditolak tanpa syarat kecuali diotorisasi oleh sesi MFA aktif:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyCriticalActionsWithoutMFA",
"Effect": "Deny",
"Action": [
"iam:CreateAccessKey",
"iam:CreateLoginProfile",
"s3:DeleteBucket",
"kms:ScheduleKeyDeletion",
"ec2:TerminateInstances"
],
"Resource": "*",
"Condition": {
"BoolIfExists": {
"aws:MultiFactorAuthPresent": "false"
}
}
}
]
}
Batasan Role Chaining & Masa Pakai Token STS:
Ketika identitas IAM mengasumsikan peran perantara yang kemudian mengasumsikan peran sekunder ("role chaining"), AWS STS menghapus konteks asli aws:MultiFactorAuthPresent dari token sesi hilir! Untuk menjaga kepatuhan ketat dari ujung ke ujung di seluruh alur lintas akun, rancang grafik pengambilan peran langsung dari sesi IAM Identity Center yang terautentikasi daripada merangkai beberapa peran IAM perantara secara berturut-turut.
Pemulihan Bencana: Protokol Kehilangan Perangkat MFA Root
Apa yang terjadi jika semua token perangkat keras dan perangkat virtual MFA Root yang terdaftar musnah dalam suatu bencana?
Urutan Pemulihan Out-of-Band Resmi:
- Mulai Masuk sebagai Root: Masukkan email akun Root dan kata sandi master di Konsol AWS.
- Pecahkan Masalah MFA: Pada jendela permintaan MFA, klik "Troubleshoot MFA".
- Verifikasi Email Utama: AWS mengirimkan tautan verifikasi berbatas waktu ke alamat email utama akun Root. Lakukan validasi tantangan email tersebut.
- Panggilan Suara Otomatis: Klik "Call me now". Sistem verifikasi otomatis AWS akan menelepon nomor telepon akun utama yang terdaftar dan membacakan 6 digit PIN konfirmasi.
Jika organisasi Anda berganti nomor telepon atau penanggung jawab keluar tanpa memperbarui Pengaturan Akun AWS, pemulihan otomatis akan gagal. Penyelesaian manual memerlukan pengajuan dokumen akta pendaftaran perusahaan yang dilegalisasi notaris ke tim AWS Trust & Safety, dengan waktu peninjauan memerlukan 3–7 hari kerja.
FAQ Arsitek Cloud Enterprise
Bisakah token MFA Root AWS dibagikan di seluruh tim DevOps? ▼
Sangat dilarang. Berbagi kredensial MFA Root menggagalkan semua audit kepatuhan (SOC 2, ISO 27001). Administrasi rutin harus dilakukan melalui peran IAM Identity Center dengan akuntabilitas individu. Kredensial Root harus tetap terkunci di brankas fisik dengan pengawasan ganda (dual-custody) dan hanya digunakan untuk keadaan darurat bencana (break-glass).
Bagaimana kunci kondisi aws:MultiFactorAuthAge meningkatkan keamanan? ▼
Kunci ini menegakkan kesegaran sesi (session freshness). Mengonfigurasi "NumericLessThan": {"aws:MultiFactorAuthAge": "3600"} mengharuskan token MFA diserahkan dalam waktu 3.600 detik (1 jam) sebelumnya. Tindakan berisiko tinggi (misalnya menghapus kluster RDS) akan diblokir jika sesi lebih lama dari itu, melindungi dari pembajakan sesi berumur panjang.
Bisakah saya menggunakan autentikator online 2FA-Tool untuk menyiapkan MFA Virtual AWS? ▼
Ya. MFA Virtual AWS sepenuhnya mematuhi spesifikasi TOTP RFC 6238 (HMAC-SHA1, interval 30 detik, 6 digit). Anda dapat memasukkan string rahasia Base32 ke dalam 2FA-Tool.com untuk menghasilkan dua kode autentikasi berurutan yang diperlukan untuk pendaftaran, 100% secara lokal di browser Anda.
Uji Token TOTP Enterprise dengan Aman
Hasilkan kode verifikasi TOTP standar RFC 6238 secara instan dengan W3C Web Crypto API. Tanpa panggilan server, penahanan memori mutlak, nol kebocoran.