Hari 51: Fix 132 Temuan jadi 106 dengan 2 Perintah Saja
3 min read

Hari 51: Fix 132 Temuan jadi 106 dengan 2 Perintah Saja

Kemarin Prowler nemu 132 masalah di akun AWS saya. Hari ini cuma butuh 2 perintah untuk fix 26 temuan. Rahasianya: S3 Block Public Access di level akun — 1 setting, 15 masalah hilang.

devsecops
prowler
cspm
aws security
remediation
cloud security
Share

Kemarin saya scan akun AWS dengan Prowler. Hasilnya: 132 masalah keamanan. Hari ini saya duduk, pilih yang paling berdampak, dan jalankan 2 perintah.

Hasilnya? 26 masalah hilang. Dari 132 jadi 106.

Strategi: Pilih yang Domino Effect

132 masalah itu banyak. Nggak mungkin fix semua sehari. Jadi saya pikir: mana 1 perintah yang bisa fix paling banyak masalah?

Jawabannya: S3 Block Public Access.

Fix 1: S3 Block Public Access (1 perintah, 15 masalah hilang)

Prowler nemu 15 masalah terkait S3 — bucket public, no encryption, no versioning, ACL enabled, dll. Ternyata semua itu bisa di-fix dengan 1 setting di level akun:

aws s3control put-public-access-block \
  --account-id <REDACTED> \
  --public-access-block-configuration \
    BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true

Apa ini lakukan? Bayangkan kamu punya pagar rumah. S3 Block Public Access di level akun = kamu pasang gerbang di kompleks. Nggak peduli pintu rumah mana yang terbuka, gerbang kompleks tetap nutup akses dari luar.

Hasil: 15 S3 findings dari FAIL → PASS. Semua. Sekaligus.

Ini yang saya sebut cascade effect — 1 setting di level yang lebih tinggi, fix banyak masalah di level yang lebih rendah.

Fix 2: Default Security Group (1 perintah, 1 masalah hilang)

Security Group default di VPC saya ternyata buka semua port ke seluruh internet (0.0.0.0/0). Itu artinya siapa saja di internet bisa coba konek ke EC2 manapun yang pakai SG ini.

aws ec2 revoke-security-group-ingress \
  --group-id <REDACTED> \
  --ip-permissions 'IpProtocol=-1,IpRanges=[{CidrIp=0.0.0.0/0}],Ipv6Ranges=[{CidrIpv6=::/0}]'

Apa ini lakukan? Hapus aturan "biarkan semua masuk dari internet". Default SG sekarang jadi default-deny — nggak ada yang bisa masuk kecuali di-allow explicitly.

Hasil: 1 HIGH finding dari FAIL → PASS.

Before vs After

Sebelum Sesudah
Total FAIL 132 106
S3 findings 15 0
Default SG Open Closed

Yang Saya Skip (dan Kenapa)

CloudTrail — audit log untuk semua API calls di AWS. Penting untuk production, tapi di lab challenge cukup didokumentasikan sebagai rekomendasi. Butuh create S3 bucket + bucket policy + trail + start logging — 4 steps. Cost ~$0.05/bulan.

IAM Password Policy — aturan password untuk console users. 1 perintah, tapi mayoritas user di akun sandbox saya API-only (nggak login console). Impact minimal di lab.

Keduanya saya tulis sebagai rekomendasi best practice di dokumentasi, bukan dieksekusi. Production? Wajib. Lab? Opsional.

Pelajaran Hari Ini

Cari domino effect. Sebelum fix masalah satu-satu, tanya: "Ada nggak 1 setting di level lebih tinggi yang bisa fix banyak masalah sekaligus?" S3 Block Public Access = 1 perintah, 15 masalah. ROI tertinggi.

Lab vs production. Nggak semua rekomendasi perlu dieksekusi di lab. CloudTrail dan password policy penting untuk production, tapi di lab cukup paham konsepnya. Yang penting: tahu KENAPA dan BAGAIMANA.

CSPM = siklus. Scan (Day 50) → Fix (Day 51) → Re-scan → Verify. Bukan sekali jalan. Cloud terus berubah, posture keamanan perlu di-cek berkala.

Repo

Semua code dan dokumentasi: https://github.com/stayrelevantid/chalange-devsecops

Enjoyed this article? Share it!

Share

Diskusi & Komentar

Artikel Terkait