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:
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.