GNU/Linux >> Belajar Linux >  >> Ubuntu

Contoh penggunaan firewall UFW di Debian/Ubuntu

Pendahuluan:
Saya baru saja mulai menggunakan firewall UFW yang merupakan firewall berbasis perintah terminal. Alat itu tampak agak sulit untuk dipahami pada awalnya tetapi dengan sedikit mencoba dan kesalahan akhirnya saya mendapatkan sesuatu yang berfungsi. Jadi inilah yang saya lakukan.

Saya menginstal firewall UFW:
apt-get install ufw

Asumsi:
Saya menginginkan kondisi berikut:
Daftar port yang diizinkan dari LAN internal (192.168.100.0/24):ALL
Daftar port yang diizinkan dari localhost (127.0.0.0/16) :ALL
Daftar port yang diizinkan menuju Internet :ALL
Daftar port untuk mengizinkan akses dari Internet:
ssh:22
FTP:21, 20, 20000-20099(digunakan oleh pure-ftp)
HTTP:80
HTTPS:443
Gerrit:2222

Hasil:kecuali untuk port di atas, semua port lain harus diblokir dari Internet.

Perintah UFW untuk mengkonfigurasi firewall di atas:

ufw allow from 192.168.100.0/24
ufw allow from 127.0.0.0/16
ufw allow from any to any port 22
ufw allow from any to any port 21
ufw allow 20000:20099/tcp
ufw allow from any to any port 80
ufw allow from any to any port 443
ufw allow from any to any port 2222

Catatan: Di atas tidak ada aturan untuk membiarkan semua paket dari aplikasi ke Internet. Alasannya adalah bahwa perilaku default firewall ini adalah memungkinkan semua aplikasi mengirim apa pun ke Internet.
Ini dapat diverifikasi setelah firewall UFW diaktifkan dengan mengeluarkan perintah berikut:
iptables -L -n -v | grep 'Chain OUTPUT'
Hasil:
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
Menyetel kebijakan default
Ini cukup jelas.
ufw default deny incoming
ufw default allow outgoing

Firewallnya belum aktif!
PERINGATAN: Jika Anda mengonfigurasi firewall ini melalui koneksi SSH, pastikan perintah berikut telah disertakan dalam perintah di atas. Jika ini tidak terjadi, segera setelah Anda mengaktifkan firewall Anda akan terkunci dari server dan tidak akan memiliki akses SSH. Berita buruk
ufw allow from any to any port 22
Untuk memeriksa ditambahkan aturan sebelum kita aktifkan firewallnya:
ufw show added
Sekarang kita aktifkan firewall dengan perintah:
ufw enable
Kita melihat konfigurasi UFW dengan mengeluarkan perintah:
ufw status numbered
Anda akan mendapatkan hasil sebagai berikut:
Status: active
.
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 192.168.100.0/24
[ 2] Anywhere ALLOW IN 127.0.0.0/16
[ 3] 22 ALLOW IN Anywhere
[ 4] 21 ALLOW IN Anywhere
[ 5] 20000:20099/tcp ALLOW IN Anywhere
[ 6] 80 ALLOW IN Anywhere
[ 7] 443 ALLOW IN Anywhere
[ 8] 2222 ALLOW IN Anywhere
[ 9] 22 ALLOW IN Anywhere (v6)
[10] 21 ALLOW IN Anywhere (v6)
[11] 20000:20099/tcp ALLOW IN Anywhere (v6)
[12] 80 ALLOW IN Anywhere (v6)
[13] 443 ALLOW IN Anywhere (v6)
[14] 2222 ALLOW IN Anywhere (v6)

Jika Anda perlu memulai ulang lagi, jalankan perintah berikut:
ufw disable
ufw reset

Jika Anda perlu menghapus beberapa aturan, misalnya aturan tentang port 2222:(aturan 8 dan 14), kami menghapus aturan dengan menggunakan nomor aturannya dimulai dari yang terakhir untuk dihapus dalam daftar. Logikanya adalah jika Anda memulai dengan yang pertama, nomor aturan akan digeser setelah penghapusan pertama dan yang terakhir dihapus tidak akan menjadi aturan 14 tetapi aturan 13 dst.
Contoh:
ufw delete 14
ufw delete 8

Jika Anda perlu memasukkan aturan di atas yang sudah ada, Anda menggunakan nomor aturan yang seharusnya menjadi setelah yang baru. Misalnya jika kita ingin menambahkan aturan penolakan port 20005 dari Internet.
Catatan. Di sini tidak masuk akal (tidak praktis) tetapi hanya sebagai contoh. Saya akan memasukkan aturan 'deny' baru sebelum aturan 11. Berikut adalah perintahnya:
ufw insert 11 deny 20005
Mari kita lihat hasilnya:
ufw status numbered
Hasil:
Status: active
.
To Action From
-- ------ ----
[ 1] Anywhere ALLOW IN 192.168.100.0/24
[ 2] Anywhere ALLOW IN 127.0.0.0/16
[ 3] 22 ALLOW IN Anywhere
[ 4] 21 ALLOW IN Anywhere
[ 5] 20005 DENY IN Anywhere
[ 6] 20000:20099/tcp ALLOW IN Anywhere
[ 7] 80 ALLOW IN Anywhere
[ 8] 443 ALLOW IN Anywhere
[ 9] 2222 ALLOW IN Anywhere
[10] 22 ALLOW IN Anywhere (v6)
[11] 21 ALLOW IN Anywhere (v6)
[12] 20005 DENY IN Anywhere (v6)
[13] 20000:20099/tcp ALLOW IN Anywhere (v6)
[14] 80 ALLOW IN Anywhere (v6)
[15] 443 ALLOW IN Anywhere (v6)
[16] 2222 ALLOW IN Anywhere (v6)

Seperti yang Anda lihat, UFW cukup pintar untuk menyisipkan aturan untuk IPv4 dan IPv6 di posisi yang tepat.

Catatan untuk mem-boot ulang:
Setiap kali firewall UFW 'diaktifkan' dan reboot terjadi, semua aturan yang sudah disimpan di:/lib/ufw/user.rules
/lib/ufw/user6.rules

ATAU di:
/etc/ufw/user.rules
/etc/ufw/user6.rules

akan diaktifkan kembali saat reboot.
PERINGATAN:Jangan mencoba mengubah file-file di atas karena beberapa pengawas memastikan itu tidak berubah dan secara otomatis akan kembali ke versi yang telah diedit sebelumnya.;-(. Gunakan perintah UFW untuk membuat perubahan apa pun di firewall.

Menggunakan UFW di Xen DOM0:
Saya memiliki beberapa masalah dalam menggunakan UFW pada XEN DOM0 karena sebagai perilaku default, UFW memblokir penerusan paket ke DOMU.
Untuk memperbaikinya, edit file /etc/default/ufw dan ubah setelan berikut untuk ACCEPT:
DEFAULT_FORWARD_POLICY="ACCEPT"
Ini hanya akan melindungi DOM0 dan meneruskan semua lalu lintas lainnya ke DOMU, meninggalkan setiap DOMU untuk melindungi levelnya.
Kemudian restart UFW sebagai berikut:
ufw disable
ufw enable

Untuk info lebih lanjut tentang masalah ini, saya sarankan tautan berikut:
https://www.digitalocean.com/community/tutorials/how-to-setup-a-firewall-with-ufw-on-an-ubuntu- dan-debian-cloud-server

Log

Logging UFW adalah standar yang dilakukan ke /var/log/syslog . Untuk menonaktifkan logging ini lakukan hal berikut:
– Edit file:/etc/rsyslog.d/20-ufw.conf (lihat konten di bawah), hapus '#' mulai baris terakhir, dan jalankan perintah berikut untuk memperbarui perubahan pada firewall:
ufw disable
ufw enable

Konten /etc/rsyslog.d/20-ufw.conf :
# Log kernel generated UFW log messages to file
:msg,contains,"[UFW " /var/log/ufw.log
#
# Uncomment the following to stop logging anything that matches the last rule.
# Doing this will stop logging kernel generated UFW log messages to the file
# normally containing kern.* messages (eg, /var/log/kern.log)
#& ~


Ubuntu
  1. Konfigurasi Firewall menggunakan Iptables di Ubuntu 14.04

  2. Cara Mengatur Firewall UFW di Ubuntu 18.04

  3. Mengatur Firewall UFW di Ubuntu 18.04 - Metode Terbaik?

  1. Cara Membuka Port di Ubuntu / Debian

  2. Cara Mengatur Firewall dengan UFW di Ubuntu \ Debian

  3. Cara Mengonfigurasi Firewall UFW di Ubuntu 18.04

  1. Cara Mengaktifkan/Menonaktifkan Firewall UFW di Ubuntu 18.04

  2. Cara Mengonfigurasi Firewall dengan UFW di Ubuntu 18.04

  3. Cara Mengonfigurasi Firewall dengan UFW di Debian 9