Tutorial Konfigurasi Firewall dengan UFW

UFW (Uncomplicated Firewall) merupakan frontend (versi sederhana) dari iptables yang berfungsi untuk mengonfigurasi firewall di Linux.

Dengan UFW, kalian dapat melakukan berbagai hal terkait firewall, seperti hanya memperbolehkan akses untuk layanan tertentu seperti SSH, website, dan VPN.

Instalasi

Jika UFW belum terinstal di Debian/Ubuntu, jalankan perintah berikut untuk menginstalnya:

$ sudo apt install ufw

Setelah terinstal, periksa status UFW.

$ sudo ufw status

Jika statusnya belum aktif (inactive), aktifkan koneksi masuk melalui SSH terlebih dahulu agar dapat login ke server melalui SSH (aktfikan jika kalian mengontrol server/komputer melalui SSH).

$ sudo ufw allow ssh

Kemudian aktifkan service UFW dan dengan menjalankan perintah berikut:

$ sudo ufw enable

Periksa kembali status UFW dan pastikan sudah aktif.

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)

Cara Menggunakan UFW

Konfigurasi default UFW adalah menutup semua akses koneksi masuk dan membuka semua akses koneksi keluar.

Jika kalian ingin menambahkan layanan lain, seperti website dan VPN, kalian perlu membuka port terlebih dahulu.

Misalnya, untuk membuka akses port 8080, jalankan perintah berikut:

$ sudo ufw allow 8080

Untuk menutup akses pada port 8080, gunakan perintah berikut:

$ sudo ufw deny 8080

Untuk menambahkan rule pada rentang port antara 8000 hingga 8080, jalankan perintah berikut:

$ sudo ufw allow 8000:8080

Kalian juga dapat menambahkan komentar pada rule, seperti pada perintah berikut.

$ sudo ufw allow 2222 comment 'port alternatif ssh'

Default-nya, UFW akan menambahkan rule untuk koneksi UDP dan TCP. kalian dapat menambahkan rule hanya untuk UDP atau TCP, seperti pada perintah berikut:

$ sudo ufw allow 80/tcp comment 'http'
$ sudo ufw allow 51820/ucp

Profil UFW

UFW menyediakan beberapa rule untuk port yang umum digunakan, seperti rule untuk website HTTP dan HTTPS.

Misalnya, untuk menambahkan rule HTTP & HTTPS, jalankan perintah berikut:

$ sudo ufw allow http
$ sudo ufw allow https

Selain itu, kalian juga dapat menambahkan rule berdasarkan profil yang telah disediakan.

Misalnya, untuk menambahkan rule HTTP & HTTPS, kalian dapat menggunakan profil WWW Full.

$ sudo ufw allow in 'WWW Full'

Daftar profil yang telah disediakan oleh UFW dapat dilihat dengan perintah berikut:

$ sudo ufw app list

Menghapus Rule UFW

Untuk menghapus rule, pertama-tama periksa nomor rule yang telah ditambahkan.

$ sudo ufw status numbered
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 8080                       ALLOW IN    Anywhere
[ 3] 22/tcp (v6)                ALLOW IN    Anywhere (v6)
[ 4] 8080 (v6)                  ALLOW IN    Anywhere (v6)

Kemudian hapus rule dengan argumen delete seperti pada perintah berikut:

$ sudo ufw delete 4

Ada alternatif lain untuk menghapus rule firewall berdasarkan rule yang telah ditentukan sebelumnya..

Misalnya, jika tadinya kalian menambahkan rule seperti pada perintah berikut:

$ sudo ufw allow 80

Rule yang telah ditambahkan tersebut dapat dihapus dengan perintah berikut:

$ sudo ufw delete allow 80

Blacklist IP

Salah satu fungsi dari UFW ini bisa untuk mem-blacklist IP tertentu agar tidak bisa mengakses server/komputer yang terekspos di internet.

$ sudo ufw deny from 192.168.1.100

Bisa juga menggunakan rentang IP.

$ sudo ufw allow from 192.168.1.1/24

Rate Limiting dengan UFW

Dengan ufw ini kalian dapat mengaktifkan rate limit untuk mengatasi serangan brute-force.

Misalnya, untuk mengaktifkan rate limiting pada koneksi SSH, gunakan perintah berikut:

$ sudo ufw limit ssh

Reset Konfigurasi UFW

Untuk meresetnya, kalian dapat menjalankan perintah berikut:

$ sudo ufw reset

Kemudian nonaktifkan UFW jika kalian tidak menggunakannya lagi.

$ sudo ufw disable

Lalu, seperti biasanya artikel ini hanya membahas penggunaan dasar UFW, untuk penjelasan lebih lanjut mengenai penggunaan UFW ini, silakan baca manual UFW.

$ man ufw