Cara Mengatur Firewall UFW di Ubuntu dan Debian


Firewall yang berfungsi dengan benar adalah bagian terpenting dari keamanan sistem Linux secara keseluruhan. Secara default, distribusi Debian dan Ubuntu dilengkapi dengan alat konfigurasi firewall yang disebut UFW (Firewall Tidak Rumit), merupakan alat baris perintah yang paling populer dan mudah digunakan untuk mengonfigurasi dan mengelola firewall pada distribusi Ubuntu dan Debian.

Dalam artikel ini, kami akan menjelaskan cara memasang dan menyiapkan firewall UFW di distribusi Ubuntu dan Debian.

Prasyarat

Sebelum Anda memulai artikel ini, pastikan Anda telah masuk ke server Ubuntu atau Debian Anda dengan pengguna sudo atau dengan akun root. Jika Anda tidak memiliki pengguna sudo, Anda dapat membuatnya menggunakan petunjuk berikut sebagai pengguna root.

adduser username
usermod -aG sudo username 
su - username
sudo whoami

Instal UFW Firewall di Ubuntu dan Debian

UFW (Firewall Tidak Rumit) harus diinstal secara default di Ubuntu dan Debian, jika tidak, instal menggunakan manajer paket APT menggunakan perintah berikut.

sudo apt install ufw

Periksa Firewall UFW

Setelah instalasi selesai Anda dapat memeriksa status UFW dengan mengetik.

sudo ufw status verbose

Pada instalasi pertama, firewall UFW dinonaktifkan secara default, outputnya akan seperti di bawah ini.

Status: inactive

Aktifkan Firewall UFW

Anda dapat mengaktifkan atau mengaktifkan firewall UFW menggunakan perintah berikut, yang akan memuat firewall dan memungkinkannya untuk memulai saat boot.

sudo ufw enable

Untuk menonaktifkan firewall UFW, gunakan perintah berikut, yang membongkar firewall dan menonaktifkannya agar tidak dimulai saat boot.

sudo ufw disable 

Kebijakan Default UFW

Secara default, firewall UFW menolak setiap koneksi masuk dan hanya mengizinkan semua koneksi keluar ke server. Artinya, tidak ada seorang pun yang dapat mengakses server Anda, kecuali Anda membuka port tersebut secara khusus, sementara semua layanan atau aplikasi yang berjalan di server Anda dapat mengakses jaringan luar.

Kebijakan firewall UFW default ditempatkan di file /etc/default/ufw dan dapat diubah menggunakan perintah berikut.

sudo ufw default deny incoming
sudo ufw default allow outgoing

Profil Aplikasi UFW

Saat menginstal paket perangkat lunak menggunakan manajer paket APT, paket tersebut akan menyertakan profil aplikasi di direktori /etc/ufw/applications.d yang mendefinisikan layanan dan menyimpan pengaturan UFW.

Anda dapat membuat daftar semua profil aplikasi yang tersedia di server Anda menggunakan perintah berikut.

sudo ufw app list

Tergantung pada instalasi paket perangkat lunak pada sistem Anda, hasilnya akan terlihat seperti berikut:

Available applications:
  APACHE
  APACHE Full
  APACHE SECURE
  CUPS
  OpenSSH
  Postfix
  Postfix SMTPS
  Postfix Submission

Jika Anda ingin mendapatkan informasi lebih lanjut tentang profil tertentu dan aturan yang ditentukan, Anda dapat menggunakan perintah berikut.

sudo ufw app info 'Apache'
Profile: Apache
Title: Web Server 
Description: Apache V2 is the next generation f the omnipresent Apache web server.

Ports:
  80/tcp

Aktifkan IPv6 dengan UFW

Jika server Anda dikonfigurasi dengan IPv6, pastikan UFW Anda dikonfigurasi dengan dukungan IPv6 dan IPv4. Untuk memverifikasinya, buka file konfigurasi UFW menggunakan editor favorit Anda.

sudo vi /etc/default/ufw

Kemudian pastikan “IPV6” disetel ke "yes" di file konfigurasi seperti yang ditunjukkan.

IPV6=yes

Simpan dan keluar. Kemudian restart firewall Anda dengan perintah berikut:

sudo ufw disable
sudo ufw enable

Izinkan Koneksi SSH di UFW

Jika Anda sudah mengaktifkan firewall UFW sekarang, itu akan memblokir semua koneksi masuk dan jika Anda terhubung ke server Anda melalui SSH dari lokasi yang jauh, Anda tidak akan dapat menghubungkannya lagi.

Mari aktifkan koneksi SSH ke server kami untuk menghentikan hal itu terjadi menggunakan perintah berikut:

sudo ufw allow ssh

Jika Anda menggunakan port SSH khusus (misalnya port 2222), maka Anda perlu membuka port tersebut di firewall UFW menggunakan perintah berikut.

sudo ufw allow 2222/tcp

Untuk memblokir semua koneksi SSH ketik perintah berikut.

sudo ufw deny ssh/tcp
sudo ufw deny 2222/tcp  [If using custom SSH port]

Aktifkan Port Tertentu di UFW

Anda juga dapat membuka port tertentu di firewall untuk mengizinkan koneksi melalui port tersebut ke layanan tertentu. Misalnya, jika Anda ingin menyiapkan server web yang mendengarkan pada port 80 (HTTP) dan 443 (HTTPS ) secara default.

Di bawah ini adalah beberapa contoh cara mengizinkan koneksi masuk ke layanan Apache.

Buka Port 80 HTTP di UFW
sudo ufw allow http     [By service name]
sudo ufw allow 80/tcp   [By port number]
sudo ufw allow 'Apache' [By application profile]
Buka Port 443 HTTPS di UFW
sudo ufw allow https
sudo ufw allow 443/tcp
sudo ufw allow 'Apache Secure'

Izinkan Rentang Port di UFW

Dengan asumsi Anda memiliki beberapa aplikasi yang ingin dijalankan pada rentang port (5000-5003), Anda dapat menambahkan semua port ini menggunakan perintah berikut.

sudo ufw allow 5000:5003/tcp
sudo ufw allow 5000:5003/udp

Izinkan Alamat IP Tertentu

Jika Anda ingin mengizinkan koneksi pada semua port dari alamat IP tertentu 192.168.56.1, maka Anda perlu menentukan dari sebelum alamat IP.

sudo ufw allow from 192.168.56.1

Izinkan Alamat IP Tertentu pada Port Tertentu

Untuk mengizinkan koneksi pada port tertentu (misalnya port 22) dari mesin rumah Anda dengan alamat IP 192.168.56.1, maka Anda perlu menambahkan port apa pun< dan nomor port setelah alamat IP seperti yang ditunjukkan.

sudo ufw allow from 192.168.56.1 to any port 22

Izinkan Subnet Jaringan ke Port Tertentu

Untuk mengizinkan koneksi untuk alamat IP tertentu mulai dari 192.168.1.1 hingga 192.168.1.254 ke port 22 (SSH) , jalankan perintah berikut.

sudo ufw allow from 192.168.1.0/24 to any port 22

Izinkan Antarmuka Jaringan Tertentu

Untuk mengizinkan koneksi ke antarmuka jaringan tertentu eth2 untuk port tertentu 22 (SSH), jalankan perintah berikut.

sudo ufw allow in on eth2 to any port 22

Tolak Koneksi di UFW

Secara default, semua koneksi masuk diblokir, kecuali Anda secara khusus membuka koneksi di UFW. Misalnya, Anda telah membuka port 80 dan 443 dan server web Anda diserang dari jaringan yang tidak dikenal 11.12.13.0/24.

Untuk memblokir semua koneksi dari rentang jaringan 11.12.13.0/24 tertentu ini, Anda dapat menggunakan perintah berikut.

sudo ufw deny from 11.12.13.0/24

Jika Anda hanya ingin memblokir koneksi pada port 80 dan 443, Anda dapat menggunakan perintah berikut.

sudo ufw deny from 11.12.13.0/24 to any port 80
sudo ufw deny from 11.12.13.0/24 to any port 443

Hapus Aturan UFW

Ada 2 cara untuk menghapus aturan UFW, berdasarkan nomor aturan dan aturan sebenarnya.

Untuk menghapus aturan UFW dengan menggunakan nomor aturan, pertama-tama Anda perlu membuat daftar aturan berdasarkan nomor menggunakan perintah berikut.

sudo ufw status numbered
Contoh Keluaran
Status: active

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

Untuk menghapus aturan nomor 1, gunakan perintah berikut.

sudo ufw delete 1

Cara kedua adalah menghapus aturan dengan menggunakan aturan sebenarnya, misalnya untuk menghapus aturan, tentukan nomor port dengan protokol seperti yang ditunjukkan.

sudo ufw delete allow 22/tcp

Aturan UFW Lari Kering

Anda dapat menjalankan perintah ufw apa pun tanpa benar-benar membuat perubahan apa pun pada firewall sistem menggunakan flag --dry-run, ini hanya menunjukkan perubahan yang seharusnya terjadi.

sudo ufw --dry-run enable

Setel ulang Firewall UFW

Karena satu dan lain hal, jika Anda ingin menghapus/mereset semua aturan firewall, ketikkan perintah berikut, ini akan mengembalikan semua perubahan Anda dan memulai dari awal.

sudo ufw reset
sudo ufw status

Fungsi Lanjutan UFW

Firewall UFW dapat melakukan apa pun yang dilakukan iptables. Hal ini dapat dilakukan dengan kumpulan file aturan yang berbeda, yang tidak lain hanyalah file teks iptables-restore sederhana.

Penyetelan firewall UFW atau menambahkan perintah iptables tambahan tidak diizinkan melalui perintah ufw, hanya masalah mengubah file teks berikut

  • /etc/default/ufw: File konfigurasi utama dengan aturan yang telah ditentukan sebelumnya.
  • /etc/ufw/before[6].rules: Dalam file ini aturan dihitung sebelum ditambahkan melalui perintah ufw.
  • /etc/ufw/after[6].rules: Dalam file ini aturan dihitung setelah ditambahkan melalui perintah ufw.
  • /etc/ufw/sysctl.conf: File ini digunakan untuk menyetel jaringan kernel.
  • /etc/ufw/ufw.conf: File ini mengaktifkan ufw saat boot.

Itu dia! UFW adalah front-end luar biasa untuk iptables dengan antarmuka ramah pengguna untuk mendefinisikan aturan kompleks dengan satu perintah ufw.

Jika Anda memiliki pertanyaan atau pemikiran untuk dibagikan tentang artikel ufw ini, gunakan formulir komentar di bawah untuk menghubungi kami.