Firewall yang dikonfigurasi dengan benar adalah salah satu aspek terpenting dari keamanan sistem secara keseluruhan.

UFW adalah front-end yang mudah digunakan untuk mengelola aturan firewall iptables dan tujuan utamanya adalah membuat pengelolaan iptables lebih mudah, seperti namanya uncomplicated (tidak rumit) Firewall, karena pengaturan firewall ini memang tidak rumit.

Artikel ini menjelaskan cara mengatur firewall dengan UFW di Debian 10.

Prasyarat

Hanya root atau user dengan hak sudo yang dapat mengelola firewall sistem.

Install UFW

Uncomplicated Firewall harusnya sudah terinstal secara default di Ubuntu dan sistem berbasis Debian lainnya, tetapi jika belum terinstal pada sistem, Anda dapat install paket UFW dengan mengetik:

sudo apt update && sudo apt install ufw

Periksa Status UFW

Setelah instalasi selesai, Anda dapat memeriksa status UFW dengan perintah berikut:

sudo ufw status verbose
Status: inactive

Jika UFW diaktifkan, output akan terlihat mirip dengan yang berikut:

ubuntu status UFW

Kebijakan Default UFW di Linux

Secara default, UFW akan memblokir semua koneksi yang masuk dan memungkinkan semua koneksi keluar. Ini berarti siapa pun yang mencoba mengakses server, mereka tidak akan dapat terhubung kecuali Anda secara khusus membuka port, sementara semua aplikasi dan layanan yang berjalan di server akan dapat mengakses dunia luar.

Kebijakan default didefinisikan dalam file /etc/default/ufw dan dapat diubah menggunakan perintah sudo ufw default <policy> <chain>.

Firewall policies, atau Kebijakan firewall adalah dasar untuk membangun aturan yang lebih rinci yang ditetapkan sendiri oleh pengguna. Dalam kebanyakan kasus, Kebijakan Default UFW adalah sudah cukup baik. Kita hanya perlu menambahkan sedikit perintah agar sesuai dengan kebutuhan kita.

Profil Aplikasi di belakang Firewall

Ketika menginstal paket dengan perintah apt, UFW akan menambahkan profil aplikasi ke /etc/ufw/applications.d. Profil ini menjelaskan layanan dan berisi pengaturan UFW.

Untuk membuat daftar semua profil aplikasi yang tersedia di jenis sistem Anda:

sudo ufw utf --help

Bergantung pada paket yang diinstal pada sistem Anda, output akan terlihat mirip dengan yang berikut:

Available applications:
  DNS
  IMAP
  IMAPS
  OpenSSH
  POP3
  POP3S
  Postfix
  Postfix SMTPS
  Postfix Submission
  ...

Untuk menemukan informasi lebih lanjut tentang profil tertentu dan aturan yang disertakan, gunakan perintah app info, diikuti dengan nama profil. Misalnya untuk mendapatkan info tentang profil OpenSSH , maka perintah yang akan Anda gunakan:

sudo ufw app info OpenSSH
Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp

Outputnya termasuk nama profil, judul, deskripsi, dan aturan firewall.

Izinkan Koneksi SSH di UFW

Sebelum mengaktifkan firewall UFW kita perlu menambahkan aturan yang akan memungkinkan koneksi SSH yang masuk.

Kebanyakan kasus yang terjadi adalah pengguna terhubung ke server dari lokasi yang jauh, dan kemudian mengaktifkan UFW firewall sebelum secara eksplisit mengatur koneksi untuk SSH.

Akibat yang terjadi, pengguna tidak lagi dapat terhubung ke server. Dengan kata lain UFW memblokir koneksi apa pun dari luar menuju ke server.

Untuk mengkonfigurasi UFW firewall untuk memungkinkan koneksi SSH yang masuk, ketikkan perintah berikut:

sudo ufw allow OpenSSH
Rules updated
Rules updated (v6)

Jika Anda mengubah port SSH ke port lain selain port 22, Anda harus membuka port baru untuk akses SSH tersebut.

Misalnya, jika daemon ssh Anda listen pada port 7722, maka Anda dapat menggunakan perintah berikut untuk mengizinkan koneksi pada port tersebut:

sudo ufw allow 7722/tcp

Cara Aktifkan UFW di Debian 10

Sekarang firewall UFW dikonfigurasi untuk memungkinkan koneksi SSH yang masuk, aktifkan dengan menjalankan:

sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

Anda akan diperingatkan bahwa mengaktifkan firewall dapat mengganggu koneksi ssh yang ada. Ketik “y” dan tekan “Enter”.

Cara Membuka Ports

Bergantung pada aplikasi yang berjalan di server, Anda harus membuka port tempat layanan dijalankan.

Berikut adalah beberapa contoh cara mengizinkan koneksi masuk ke beberapa layanan paling umum:

Buka port 80 – HTTP

Izinkan koneksi HTTP:

sudo ufw allow http

Alih-alih profil http, Anda juga dapat menggunakan nomor port, 80:

sudo ufw allow 80/tcp

Buka port 443 – HTTPS

Izinkan koneksi HTTPS:

sudo ufw allow https

Anda juga dapat menggunakan nomor port, 443:

sudo ufw allow 443/tcp

Buka port 8080

Jika Anda menjalankan Tomcat atau aplikasi lain yang mendengarkan pada port 8080, buka port dengan:

sudo ufw allow 8080/tcp

Membuka Port Ranges

Dengan UFW, Anda juga dapat mengizinkan akses ke port range (rentang port) tertentu. Saat membuka rentang port, Anda harus menentukan protokol untuk port tersebut.

Misalnya, untuk mengizinkan port dari 7100 hingga 7200 pada tcp dan udp, jalankan perintah berikut:

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

Mengizinkan Alamat IP Khusus

Untuk mengizinkan akses pada semua port dari alamat IP tertentu, gunakan perintah ufw allow from yang diikuti oleh alamat IP:

sudo ufw allow from 64.63.62.61

Mengizinkan Alamat IP Khusus pada port Khusus

Untuk mengizinkan akses pada port tertentu, misalkan port 22 dari mesin kantor Anda dengan alamat IP 64.63.62.61 gunakan perintah berikut:

sudo ufw allow from 64.63.62.61 to any port 22

Mengizinkan Subnet

Perintah untuk mengizinkan koneksi ke subnet alamat IP sama dengan ketika menggunakan satu alamat IP, satu-satunya perbedaan adalah bahwa Anda perlu menentukan netmask. Misalnya, jika ingin mengizinkan akses untuk alamat IP mulai dari 192.168.1.1 hingga 192.168.1.254 ke port 3360 (MySQL) Anda dapat menggunakan perintah ini:

sudo ufw allow from 192.168.1.0/24 to any port 3306

Izinkan Koneksi ke Interface Jaringan Tertentu

Untuk mengizinkan akses pada port tertentu, misalkan port 3360 hanya untuk antarmuka jaringan tertentu eth2, maka Anda perlu menentukan pengaturan firewall dengan pernyataan allow in on dan nama antarmuka jaringan:

sudo ufw allow in on eth2 to any port 3306

Cara Blokir Koneksi dengan UFW

Kebijakan default untuk semua koneksi masuk diatur untuk di tolak (deny), yang berarti bahwa UFW akan memblokir semua koneksi masuk kecuali Anda secara khusus membuka koneksi.

Katakanlah Anda membuka port 80 dan 443, dan server Anda mendapat serangan DDoS dari jaringan 123.124.25.0/24. Untuk menolak semua koneksi dari 123.124.25.0/24, gunakan perintah berikut:

sudo ufw deny from 123.124.25.0/24

Jika Anda hanya ingin menolak akses ke port 80 dan 443 dari 123.124.25.0/24 gunakan:

sudo ufw deny from 123.124.25.0/24 to any port 80
>sudo ufw deny from 123.124.25.0/24 to any port 443

Menulis aturan deny (tolak) sama dengan menulis aturan allow (izinkan), Anda hanya perlu mengganti pernyataan allow menjadi deny.

Cara Menghapus UFW rules

Ada dua cara berbeda untuk menghapus aturan UFW, dengan nomor aturan dan dengan menentukan aturan yang sebenarnya.

Menghapus aturan UFW dengan nomor aturan memang lebih mudah, terutama jika Anda baru mengenal UFW. Untuk menghapus aturan dengan nomor aturan terlebih dahulu, Anda perlu menemukan nomor aturan yang ingin di hapus, Anda bisa melihat nomor aturan dengan menjalankan perintah berikut:

sudo ufw status numbered
Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 8080/tcp                   ALLOW IN    Anywhere

Untuk menghapus aturan nomor 3, aturan yang memungkinkan koneksi ke port 8080, gunakan perintah berikut:

sudo ufw delete 3

Metode kedua adalah menghapus aturan dengan menentukan aturan yang sebenarnya, misalnya jika menambahkan aturan untuk membuka port 8069 Anda dapat menghapusnya dengan:

sudo ufw delete allow 8069

Disable UFW

If for any reason you want to stop UFW and deactivate all rules run:

Nonaktifkan UFW
Jika karena alasan apa pun Anda ingin menghentikan UFW dan menonaktifkan semua aturan, jalankan:

sudo ufw disable

Later if you want to re-enable UTF and activate all rules just type:

Nanti jika Anda ingin mengaktifkan kembali UTF dan mengaktifkan semua aturan cukup ketik:

sudo ufw enable

Cara Nonaktifkan UFW

Jika karena suatu alasan Anda ingin menghentikan UFW dan menonaktifkan semua aturan yang ada, Perintah ini dapat Anda gunakan:

sudo ufw disable

Ketika sudah selesai, dan Anda ingin mengaktifkan kembali UFW dan mengaktifkan semua aturan, cukup ketik:

sudo ufw enable

Reset UFW

Reset UFW akan menonaktifkan UFW, dan menghapus semua aturan yang aktif. Hal ini bermanfaat jika Anda ingin mengembalikan semua perubahan dan mulai dengan yang baru.

Untuk mereset pengaturan UFW dan menghapus semua rule yang telah Anda buat ketik perintah :

sudo ufw reset

Kesimpulan

Anda telah belajar cara menginstal dan mengkonfigurasi firewall UFW di Debian 10. Pastikan untuk mengizinkan semua koneksi yang masuk untuk koneksi diperlukan dan yang Anda butuhkan untuk memfungsikan sistem dengan optimal. Gunakan Firewall untuk membatasi semua koneksi yang tidak perlu.

Jika Anda merasa “tersiksa” dengan semua pengaturan yang harus di lakukan dengan baris perintah. Anda dapat menggunakan web kontrol panel GUI gratis Webmin.

Webmin tersedia secara bebas dan dapat berjalan di Ubuntu, debian, maupun CentOS dan Fedora.