Latihan 1 dari materi VPS Setup & Configuration di DevOps — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Isi function generateUfwRules(services) yang mengubah array nama service jadi array perintah UFW, dengan urutan aman: semua allow dulu, enable paling akhir.
Buat peta service ke port: ssh 22, http 80, https 443, mysql 3306, postgres 5432, redis 6379.
Untuk tiap service, buat string "sudo ufw allow PORT/tcp" dengan PORT dari peta itu, dalam urutan yang sama dengan array input.
Tambahkan "sudo ufw enable" di akhir array, lalu kembalikan array-nya.
Baris console.log di kode awal biarkan. Yang diuji adalah nilai kembalian function-nya, dibandingkan persis:
Peta-nya memuat port database juga, tapi tester gak meminta port itu dibuka: di server sungguhan, port seperti 5432 dan 6379 jangan dibuka ke semua orang.
Hint
Tiap service jadi satu perintah allow dengan port-nya, dan enable selalu datang paling akhir supaya port SSH sudah terbuka sebelum firewall menyala.
Simpan peta di object, misalnya const portMap = { ssh: 22, http: 80, https: 443, mysql: 3306, postgres: 5432, redis: 6379 }. Pakai services.map untuk membuat string, lalu push "sudo ufw enable".