Pengetahuan

Mengamankan server dengan UFW di ubuntu

UFW yang merupakan singkatan dari Uncomplicated Firewall adalah salah satu aplikasi untuk mengamankan sistem kita. Kalau teman-teman menggunakan iptables sebenarnya ini sama saja, karena UFW bekerja dengan membuat skrip iptables. Namun dengan UFW kita bisa melakukannya dengan lebih mudah.

Tetapi sebelumnya pastikan teman-teman sudah melakukan instalasi aplikasi ini, untuk caranya bisa via terminal lalu ketik apt-get install ufw. Sekedar tambahan bahwa kalian juga harus mengetahui port dari services yang bekerja.

1. Aktifkan IPv6

UFW telah mendukung IPv6 tetapi tidak langsung aktif. Nah bagi kalian yang ingin menggunakan juga IPv6 bisa melakukan perubahan pada /etc/default/ufw dan ubah seperti di bawah ini

...
IPV6=yes
...

Jika sudah maka ke depannya jika kita memasukkan aturan maka aturan tersebut otomasi berlaku pada 2 jenis IP yaitu IPv4 & IPv6.

2. Buat Aturan Default

Kita membuat aturan otomatis atau default yang akan digunakan oleh UFW. Secara bawaannya UFW mengizinkan paket keluar namun menolak paket masuk. Jadi ketika ada seseorang yang coba mengakses server maka secara aturan bawaan tidak akan bisa karena terblokir. Nah untuk jaga-jaga dan sekalian memastikan kita masukkan kembali perintahnya

sudo ufw default deny incoming
sudo ufw default allow outgoing

3. Operasional UFW

Ketika kita melakukan instalasi sebenarnya UFW tidak langsung aktif karena secara otomatis dia bisa melakukan pemblokiran. Untuk teman-teman yang melakukan tatap muka dengan server secara langsung sih tidak masalah, namun bagi teman-teman yang melakukan konfigurasi via remote maka sambungannya akan langsung terputus. Sehingga sebelum mengatifkan UFW alangkah baiknya jika kalian mengizinkan terlebih dahulu services yang kalian lakukan untuk remote.

# Mengaktifkan UFW
sudo ufw enable

# Menonaktifkan UFW
sudo ufw disable

# Reset UFW
sudo ufw reset

# Melihat aturan yang aktif
sudo ufw status

4. Mengizinkan atau Menolak

Perintah standar untuk mengizinkan paket pada UFW bisa dengan mendefinisian nama services atau port yang digunakan. Contoh kita akan mengizinkan services web jadi perintah yang digunakan bisa 2 jenis perintah di bawah ini (silahkan pilih salah satunya).

ufw allow http
ufw allow 80

Sedikit catatan, penggunaan nama services seperti http berlaku jika port yang digunakan adalah default, jika tidak maka gunakan port saja. Saya sendiri lebih senang menggunakan port daripada nama services ?. Untuk menolak paket tinggal ganti allow menjadi deny. 

Perintah yang telah kita sebelumnya adalah untuk melakukan izin & tolak untuk semua IP Address saja. Nah kita bisa memodifikasi perintah tersebut untuk aturan yang lebih variatif.

Berdasarkan IP Address

Melakukan pengizinan paket bisa berdasarkan IP Address yang diizinkan, contohnya jika kita ingin mengizinkan IP Address 16.3.19.94 mengakses ke server kita, maka perintah yang digunakan adalah

sudo ufw allow from 16.3.19.94

Berdasarkan Port & IP

Menggunakan port dan IP sudah, mengapa tidak kita mencoba menggabungkan ke duanya? Implementasi nyata dari hal ini adalah beberapa services hanya bisa diakses dari IP tertentu saja. Contohnya adalah pada database server, demi keamanan maka IP yang diperbolehkan mengakses hanyalah IP Web Server yang memang menggunakan database tersebut. IP lain yang diperbolehkan adalah IP komputer para developer yang biasanya diakses hanya via LAN.

$ sudo ufw allow from 16.3.19.94 to any port 3306
$ sudo ufw allow from 192.16.1.1 to any port 3306

Berdasarkan Subnet

Selain berdasarkan IP Address kita juga bisa melakukan pengizinan atau penolakan berdasarkan subnet. Caranya sama dengan IP Address namun ditambahkan prefix dari subnet IP tersebut. Sebagai contoh saya akan melakukan pemblokiran terhadap paket yang berasal dari 16.3.19.80/28 (16.3.19.81 – 16.3.19.94). Maka perintah yang saya gunakan adalah

ufw allow from 16.3.19.80/28

Berdasarkan Jarak Port

Ada kalanya kita ingin memblokir atau mengizinkan berdasarkan jarak port. Seperti akan memblokir port 7000 sampai 7100, maka perintah yang digunakan adalah

sudo ufw allow 7000:7100/tcp
sudo ufw allow 7000:7100/udp

5. Menghapus Aturan

Ada 3 cara yang digunakan untuk menghapus aturan yaitu menghapus berdasarkan nomor urut, nama, dan port services. Untuk nomor urut dimulai dengan memasukkan perintah status bernomor, lalu hapus berdasarkan nomor. Contohnya jika ingin menghapus aturan web services bisa menggunakan seperti di bawah ini

# Melihat status berdasarkan nomor
$ sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22                         ALLOW IN    Anywhere
[ 2] 80                         ALLOW IN    Anywhere
[ 3] 110                        ALLOW IN    Anywhere

# Menghapus sesuai nomor
$ sudo ufw delete 2

Untuk 2 perintah lainnya yaitu port atau nama services bisa menggunakan cara di bawah ini

# Berdasarkan nama services
$ sudo ufw delete allow http

# Berdasarkan port
sudo ufw delete allow 80

Itu dia cara mengamankan server dengan firewall dari UFW, jika teman-teman ada saran, pertanyaan, atau bahkan cara lain silahkan memberikan komentar di bawah yaa ?

Topik

Related Articles

Close