Skenario Server

Sebagai contoh kita memiliki sebuah Ubuntu Server 22.04 yang menjalankan layanan-layanan berikut:

Layanan Port Protokol Fungsi
SSH 22 TCP Akses administrasi jarak jauh
Web Server (HTTP) 80 TCP Menyajikan situs tidak terenkripsi
Web Server (HTTPS) 443 TCP Menyajikan situs terenkripsi
Database Server (MySQL/MariaDB) 3306 TCP Menyimpan data untuk web apps
FTP Server 21 TCP Transfer file (kadang diperlukan untuk web upload)

Hal yang akan di lakukan

  1. Hanya layanan yang perlu diakses publik yang terbuka (HTTP/HTTPS).
  2. SSH hanya boleh diakses oleh admin (IP tertentu).
  3. Database dan FTP hanya boleh diakses dari jaringan internal.
  4. Semua lalu lintas lain diblokir secara default.

Langkah-langkah Konfigurasi UFW:

Langkah 1: Atur kebijakan dasar (default policy)

sudo ufw default deny incoming
sudo ufw default allow outgoing

Artinya: semua koneksi masuk diblokir kecuali ada aturan yang mengizinkan.

Langkah 2: Izinkan SSH dari IP Address tertentu, misalkan dari komputer admin saja Misalnya IP Address komputer admin: 192.168.1.10 maka perintahnya sebagai berikut

sudo ufw allow from 192.168.1.10 to any port 22 proto tcp

Ini lebih aman dibanding sudo ufw allow 22/tcp yang membuka SSH ke seluruh dunia.

Langkah 3: Izinkan web service publik

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

HTTP dan HTTPS boleh diakses siapa saja, karena memang untuk publik.

Langkah 4: Batasi database hanya dari jaringan internal Misalnya IP Network jaringannya adalah 192.168.1.0/24

sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp

Dengan begitu, hanya Client di jaringan internal yang bisa mengakses database.

Langkah 5: Izinkan FTP hanya dari jaringan lokal

sudo ufw allow from 192.168.1.0/24 to any port 21 proto tcp

Jika FTP hanya digunakan antar-server internal, langkah ini mencegah orang luar login via FTP.

Langkah 6: Aktifkan UFW

sudo ufw enable

Langkah 7: Cek status dengan detail

sudo ufw status numbered

Output yang dihasilkan sebagai berikut

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       192.168.1.10
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
3306/tcp                   ALLOW       192.168.1.0/24
21/tcp                     ALLOW       192.168.1.0/24

Langkah 8: (Opsional) Logging dan Monitoring Aktifkan logging untuk melihat aktivitas koneksi:

sudo ufw logging on

Log bisa dilihat di:

/var/log/ufw.log