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