Beberapa waktu lalu saya develop satu unit virtual machine (VM) pada cloud infrastructure dengan sistem operasi Ubuntu 20.04 Minimal. Setelah selesai installasi sistem operasinya, saya cek firewallnya belum ada terinstall aplikasi UFW. UFW atau Uncomplicated Firewall adalah sebuah program frontend untuk IPTABLES agar memudahkan pengelolaan firewall netfilter.
Jadi simplenya dengan UFW kita bisa membuat list firewall dengan cepat dan mudah dipahami bahkan bagi pemula sekalipun. Berikut ini langkah demi langkah install UFW Firewall di Ubuntu 20.04 :
$ sudo apt install ufw
Jika proses installasi berhasil, selanjutnya tambahkan kongiruasi dasar untuk sistem, dalam hal ini saya akan membuka port 22, 80 dan 443 saja terlebih dahulu.
$ sudo ufw allow 22/tcp $ sudo ufw allow 80/tcp $ sudo ufw allow 443/tcp $ sudo ufw default reject $ sudo ufw enable
Untuk melihat status dari firewall, lakukan perintah
$ sudo ufw status
Sampai dengan saat ini UWF sudah berjalan dengan baik di sistem, saya untuk pengetesan apakah UFW dapat auto start setelah sistem reboot, maka saya coba test untuk reboot virtaul machine. Dan, hasilnya ufw statusnya inactive setelah reboot.
$ sudo ufw status Status: inactive
Cek status service UFW.
sudo systemctl status ufw ● ufw.service - Uncomplicated firewall Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled) Active: active (exited)
Pada kasus saya service ufw aktif dan exited, selanjutnya cek kembali semua service yang berjalan di sistem.
$ sudo service --status-all [ + ] netfilter-persistent [ - ] ufw
Terlihat service netfilter-persistent berjalan, ini adalah service untuk mengelola IPTABLES. Hal yang bisa dilakukan untuk meperbaiki ini agar service UFW dapat berjalan setelah sistem startup / reboot adalah memberi tahu sistem operasi untuk melakukan load UFW setelah netfilter-persistent.
Hal pertama yang harus dilakukan adalah cari dan backup terlebih dulu file ufw.service
$ ls -l /lib/systemd/system/ufw.service -rw-r--r-- 1 root root 301 Sep 20 18:37 /lib/systemd/system/ufw.service
$ cd /lib/systemd/system/ $ sudo cp ufw.service ufw.service.original
Edit file ufw.service kemudian tambahkan baris yang diberi warna merah
$ sudo nano /lib/systemd/system/ufw.service
[Unit]
Description=Uncomplicated firewall
Documentation=man:ufw(8)
DefaultDependencies=no
Before=network.target
After=netfilter-persistent.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/ufw/ufw-init start quiet
ExecStop=/lib/ufw/ufw-init stop
[Install]
WantedBy=multi-user.target
Simpan perubahan kemudian reboot.
$ sudo reboot
Setelah selesai reboot untuk memastikan apakah ufw sudah berjalan lakukan perintah ufw status seperti diatas dan bisa juga menambahkan verbose untuk melihat status dari ufw yang lebih lengkap.
$ sudo ufw status verbose Status: active Logging: on (low) Default: reject (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22 ALLOW IN Anywhere 80 ALLOW IN Anywhere 443 ALLOW IN Anywhere 22 (v6) ALLOW IN Anywhere (v6) 80 (v6) ALLOW IN Anywhere (v6) 443 (v6) ALLOW IN Anywhere (v6)
Atau bisa juga menambahkan numbered untuk melihat penomoran list dari firewall yang sudah dibuat, biasanya perintah ini saya gunakan untuk melakukan penghapusan rule firewall dengan perintah sudo ufw delete diikuti dengan nomor rule-nya.
$ sudo ufw status numbered Status: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 80 ALLOW IN Anywhere [ 3] 443 ALLOW IN Anywhere [ 4] 22 (v6) ALLOW IN Anywhere (v6) [ 5] 80 (v6) ALLOW IN Anywhere (v6) [ 6] 443 (v6) ALLOW IN Anywhere (v6)