Cara Memasang dan Mengonfigurasi UFW - FireWall Tidak Rumit di Debian/Ubuntu


Sejak komputer terhubung satu sama lain, layanan berkembang pesat. Email, Media Sosial, Toko Online, Obrolan hingga Konferensi Web adalah layanan yang digunakan oleh pengguna. Namun di sisi lain konektivitas ini seperti pisau dua sisi. Dimungkinkan juga untuk mengirim pesan buruk ke komputer seperti Virus, malware, trojan-apps adalah salah satunya.

Internet, sebagai jaringan komputer terbesar, tidak selalu diisi oleh orang-orang baik. Untuk memastikan komputer/server kita aman, kita perlu melindunginya.

Salah satu komponen yang wajib ada di komputer/server Anda adalah Firewall. Dari Wikipedia, definisinya adalah:

Dalam komputasi, firewall adalah sistem keamanan jaringan berbasis perangkat lunak atau perangkat keras yang mengontrol lalu lintas jaringan masuk dan keluar dengan menganalisis paket data dan menentukan apakah paket tersebut boleh masuk atau tidak, berdasarkan kumpulan aturan yang diterapkan.

Iptables adalah salah satu firewall yang banyak digunakan oleh server. Ini adalah program yang digunakan untuk mengatur lalu lintas masuk dan keluar di server berdasarkan seperangkat aturan. Umumnya hanya koneksi tepercaya yang diperbolehkan masuk ke server. Namun IPTables berjalan pada mode konsol dan ini rumit. Bagi yang sudah familiar dengan aturan dan perintah iptables, bisa membaca artikel berikut yang menjelaskan cara menggunakan firewall iptables.

  1. Panduan Dasar IPTable (Linux Firewall).

Pemasangan Firewall UFW di Debian/Ubuntu

Untuk mengurangi kerumitan cara menyetel IPTables, ada banyak hal yang perlu diperhatikan. Jika Anda menjalankan Ubuntu Linux, Anda akan menemukan ufw sebagai alat firewall default. Mari mulai menjelajahi tentang firewall ufw.

Apa itu ufw

ufw (Firewall Tidak Rumit) adalah frontend untuk firewall iptables yang paling banyak digunakan dan cocok untuk firewall berbasis host. ufw memberikan kerangka kerja untuk mengelola netfilter, serta menyediakan antarmuka baris perintah untuk mengendalikan firewall. Ini menyediakan antarmuka yang ramah pengguna dan mudah digunakan untuk pemula Linux yang tidak terlalu akrab dengan konsep firewall.

Sementara, di sisi lain, perintah rumit yang sama membantu administrator menetapkan aturan rumit menggunakan antarmuka baris perintah. ufw adalah upstream untuk distribusi lain seperti Debian, Ubuntu dan Linux Mint.

Penggunaan Dasar ufw

Pertama, periksa apakah ufw diinstal menggunakan perintah berikut.

sudo dpkg --get-selections | grep ufw

ufw 		install

Jika belum terpasang, Anda dapat menginstalnya menggunakan perintah apt seperti gambar di bawah ini.

sudo apt-get install ufw

Sebelum menggunakannya, Anda harus memeriksa apakah ufw sedang berjalan atau tidak. Gunakan perintah berikut untuk memeriksanya.

sudo ufw status

Jika Anda menemukan Status: tidak aktif, berarti tidak aktif atau nonaktif.

BARU! Sebuah eBook yang sangat diperlukan untuk setiap administrator Linux!

Unduh eBook 696 Halaman Gratis

Mengaktifkan/Menonaktifkan ufw

Untuk mengaktifkannya, Anda hanya perlu mengetikkan perintah berikut di terminal.

sudo ufw enable

Firewall is active and enabled on system startup

Untuk menonaktifkannya, ketik saja.

sudo ufw disable

Buat daftar aturan ufw saat ini

Setelah firewall diaktifkan Anda dapat menambahkan aturan Anda ke dalamnya. Jika Anda ingin melihat apa saja aturan defaultnya, Anda bisa mengetik.

sudo ufw status verbose
Contoh Keluaran
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip
$

Cara Menambahkan aturan ufw

Seperti yang Anda lihat, secara default setiap koneksi masuk ditolak. Jika Anda ingin meremote mesin Anda maka Anda harus mengizinkan port yang tepat. Misalnya Anda ingin mengizinkan koneksi ssh. Inilah perintah untuk mengizinkannya.

Izinkan Akses
sudo ufw allow ssh

[sudo] password for pungki :
Rule added
Rule added (v6)
$

Jika Anda memeriksa statusnya lagi, Anda akan melihat output seperti ini.

sudo ufw status

To 		Action 			From
-- 		----------- 		------
22 		ALLOW 			Anywhere
22 		ALLOW 			Anywhere (v6)

Jika Anda memiliki banyak aturan, dan ingin memberi angka pada setiap aturan dengan cepat, gunakan parameter bernomor.

sudo ufw status numbered

To 		Action 			From
------ 		----------- 		------
[1] 22 		ALLOW 			Anywhere
[2] 22 		ALLOW 			Anywhere (v6)

Aturan pertama mengatakan bahwa koneksi masuk ke port 22 dari Di mana saja, baik paket tcp atau udp diperbolehkan. Bagaimana jika Anda ingin mengizinkan paket tcp saja? Kemudian Anda dapat menambahkan parameter tcp setelah nomor port. Berikut ini contoh dengan contoh keluaran.

sudo ufw allow ssh/tcp

To 		Action 			From
------ 		----------- 		------
22/tcp 		ALLOW 			Anywhere
22/tcp 		ALLOW 			Anywhere (v6)
Akses ditolak

Trik yang sama diterapkan pada aturan Tolak. Katakanlah Anda ingin menolak aturan ftp. Jadi Anda hanya perlu mengetik saja.

sudo ufw deny ftp

To 		Action 			From
------ 		----------- 		------
21/tcp 		DENY 			Anywhere
21/tcp 		DENY 			Anywhere (v6)

Menambahkan Port Tertentu

Terkadang kami memiliki port khusus yang tidak mengikuti standar apa pun. Katakanlah kita mengubah ssh port pada mesin kita dari 22, menjadi 2290. Kemudian untuk mengizinkan port 2290, kita bisa menambahkannya seperti ini.

sudo ufw allow

To 		Action 			From
-- 		----------- 		------
2290 		ALLOW 			Anywhere
2290 		ALLOW 			Anywhere (v6)

Anda juga dapat menambahkan port-range ke dalam aturan. Jika kita ingin membuka port dari 22902300 dengan protokol tcp, maka perintahnya akan seperti ini.

sudo ufw allow 2290:2300/tcp

To 			Action 			From
------ 			----------- 		------
2290:2300/tcp 		ALLOW 			Anywhere
2290:2300/tcp 		ALLOW			Anywhere (v6)

sedangkan jika ingin menggunakan udp cukup gunakan perintah berikut.

sudo ufw allow 2290:2300/udp

To 			Action 			From
------ 			----------- 		------
2290:2300/udp 		ALLOW 			Anywhere
2290:2300/udp 		ALLOW			Anywhere (v6)

Harap diingat bahwa Anda harus memasukkan 'tcp' atau 'udp' secara eksplisit jika tidak, Anda akan mendapatkan pesan kesalahan seperti di bawah ini.

ERROR: Must specify ‘tcp’ or ‘udp’ with multiple ports

Menambahkan IP Tertentu

Sebelumnya kami telah menambahkan aturan berdasarkan layanan atau pelabuhan. Ufw juga memungkinkan Anda menambahkan aturan berdasarkan Alamat IP. Berikut contoh perintahnya.

sudo ufw allow from 192.168.0.104

Anda juga dapat menggunakan subnet mask untuk memperluas jangkauan.

sudo ufw allow form 192.168.0.0/24

To 		Action 			From
-- 		----------- 		------
Anywhere	ALLOW 			192.168.0.104
Anywhere	ALLOW 			192.168.0.0/24

Seperti yang Anda lihat, parameter from hanya akan membatasi sumber koneksi. Sedangkan tujuan – yang diwakili oleh kolom Kepada – adalah Di Mana Saja. Anda juga dapat mengelola tujuan menggunakan parameter 'Kepada'. Mari kita lihat contoh untuk mengizinkan akses ke port 22 (ssh).

sudo ufw allow to any port 22

Perintah di atas akan mengizinkan akses dari mana saja dan dari protokol apa pun ke port 22.

Menggabungkan Parameter

Untuk aturan yang lebih spesifik, Anda juga dapat menggabungkan Alamat IP, protokol dan port. Katakanlah kita ingin membuat aturan yang membatasi koneksi hanya dari IP 192.168.0.104, hanya protokol tcp dan ke port 22. Maka perintahnya akan seperti di bawah ini.

sudo ufw allow from 192.168.0.104 proto tcp to any port 22

Sintaks untuk membuat aturan tolak mirip dengan aturan izinkan. Anda hanya perlu mengubah parameter dari izinkan menjadi tolak.

Menghapus Aturan

Terkadang Anda mungkin perlu menghapus aturan yang ada. Sekali lagi dengan ufw mudah untuk menghapus aturan. Dari contoh di atas, Anda memiliki aturan di bawah ini dan Anda ingin menghapusnya.

To 		Action 			From
-- 		----------- 		------
22/tcp		ALLOW 			192.168.0.104
21/tcp		ALLOW 			Anywhere
21/tcp 		ALLOW 			Anywhere (v6)

Ada dua metode untuk menghapus aturan.

Metode 1

Perintah di bawah ini akan menghapus aturan yang cocok dengan layanan ftp. Jadi 21/tcp yang berarti port ftp akan dihapus.

sudo ufw delete allow ftp
Metode 2

Tetapi ketika Anda mencoba menghapus aturan pertama pada contoh di atas menggunakan perintah di bawah ini.

sudo ufw delete allow ssh

Or 

sudo ufw delete allow 22/tcp

Anda mungkin menemukan pesan kesalahan seperti.

Could not delete non-existent rule
Could not delete non-existent rule (v6)

Maka Anda bisa melakukan trik ini. Seperti yang kami sebutkan di atas, Anda dapat menampilkan jumlah aturan untuk menunjukkan aturan mana yang ingin kita hapus. Biarkan kami menunjukkannya kepada Anda.

sudo ufw status numbered

To 		Action 			From
-- 		----------- 		------
[1] 22/tcp		ALLOW 			192.168.0.104
[2] 21/tcp		ALLOW 			Anywhere
[3] 21/tcp 		ALLOW 			Anywhere (v6)

Kemudian Anda dapat menghapus aturan pertama menggunakan. Tekan “y ” akan menghapus aturan secara permanen.

sudo ufw delete 1

Deleting :
Allow from 192.168.0.104 to any port 22 proto tcp
Proceed with operation (y|n)? y

Dari cara-cara tersebut Anda akan melihat perbedaannya. Metode 2 akan meminta konfirmasi pengguna sebelum menghapus aturan, sedangkan metode 1 tidak.

Cara Mengatur Ulang Aturan

Dalam situasi tertentu, Anda mungkin ingin menghapus/mengatur ulang semua aturan. Anda dapat melakukannya dengan mengetik.

sudo ufw reset

Resetting all rules to installed defaults. Proceed with operation (y|n)? y

Jika Anda menekan “y ”, maka ufw akan mem-backup semua rule yang ada sebelum melakukan reset ufw Anda. Menyetel ulang aturan juga akan menonaktifkan firewall Anda. Anda perlu mengaktifkannya lagi jika ingin menggunakannya.

Fungsi Lanjutan

Seperti yang saya nyatakan di atas, firewall ufw dapat melakukan apa pun yang dapat dilakukan iptables. Hal ini dicapai dengan menggunakan berbagai kumpulan file aturan, yang tidak lebih dari file teks iptables-restore yang sesuai. Menyempurnakan ufw dan/atau menempatkan perintah iptables tambahan yang tidak diperbolehkan melalui perintah ufw adalah masalah mengedit beberapa file teks.

  1. /etc/default/ufw: Konfigurasi utama untuk kebijakan default, dukungan IPv6, dan modul kernel.
  2. /etc/ufw/before[6].rules: aturan dalam file ini dihitung sebelum aturan apa pun ditambahkan melalui perintah ufw.
  3. /etc/ufw/after[6].rules: aturan dalam file ini dihitung setelah aturan apa pun ditambahkan melalui perintah ufw.
  4. /etc/ufw/sysctl.conf: merdu jaringan kernel.
  5. /etc/ufw/ufw.conf: mengatur apakah ufw diaktifkan atau tidak saat boot dan mengatur LOGLEVEL.

Kesimpulan

UFW sebagai front-end untuk iptables tentunya membuat antarmuka yang mudah bagi pengguna. Pengguna tidak perlu mengingat sintaks iptables yang rumit. UFW juga menggunakan 'plain english' sebagai parameternya.

Izinkan, tolak, setel ulang adalah salah satunya. Saya yakin masih banyak lagi iptables front-end di luar sana. Namun yang pasti ufw adalah salah satu alternatif terbaik bagi pengguna yang ingin mengatur firewall mereka dengan cepat, mudah dan tentunya aman. Silakan kunjungi halaman manual ufw dengan mengetik man ufw untuk detail lebih lanjut.