Mem-block alamat IP Tertentu
Berikut adalah sintaks dan contohnya
## sudo ufw deny from {ip-address-here} to any
sudo ufw deny from 192.168.1.100 to any
Selain aturan deny, kita dapat me-reject koneksi dari IP manapun. Anda menggunakan reject ketika Anda ingin ujung lain (penyerang) mengetahui port atau IP tidak dapat dijangkau. Namun, kita menggunakan deny untuk koneksi ke penyerang (host) yang Anda tidak ingin orang lain melihatnya. Dengan kata lain, reject mengirimkan respons penolakan ke sumber, sedangkan target deny (DROP) tidak mengirimkan apa pun.
Menampilkan status dan rules firewall
Berikut adalah sintaks dan contohnya
sudo ufw status
sudo ufw status numbere
Mem-block IP dan Port tertentu
Berikut adalah sintaks dan contohnya :
## sudo ufw deny from {ip-address-here} to any port {port-number-here}
sudo ufw deny from 202.152.1.100 to any port 80
sudo ufw status numbered
Mem-block IP, Port dan Protocol tertentu
Berikut adalah sintaks dan contohnya :
## sudo ufw deny proto {tcp|udp} from {ip-address-here} to any port {port-number-here}
sudo ufw deny proto tcp from 202.154.11.21 to any port 22
sudo ufw status numbered
Mem-block Subnet (CIDR)
# sudo ufw deny proto tcp from {sub/net} to any port 22
sudo ufw deny proto tcp from 202.54.1.0/24 to any port 22
Cara menghapus rules dan meng-unblock
Berikut adalah contohh sintaksnya:
sudo ufw status numbered
## sudo ufw delete NUM
sudo ufw delete 4
Tip: ufw tidak mem-block IP
Aturan UFW (iptables) diterapkan sesuai urutan pemunculan, dan pemeriksaan segera berakhir ketika ada kecocokan. Oleh karena itu, sebagai contoh, jika sebuah aturan mengizinkan akses ke port tcp 22 dan setelah itu aturan lain ditetapkan untuk memblokir sebuah alamat IP, maka aturan untuk mengakses port 22 akan diterapkan dan aturan berikutnya untuk memblokir alamat IP peretas 202.54.1.1 tidak. Untuk menghindari masalah seperti itu, Anda perlu mengedit file dan menambahkan bagian untuk “ Block an IP Address” setelah bagian ” # End required lines”..
sudo vi /etc/ufw/before.rules
Cari baris dengan kalimat:
# End required lines
Tambahkan baris perintah untuk melakukan blok :
# Block spammers
-A ufw-before-input -s 177.237.20.191 -j DROP
# Block ip/net (subnet)
-A ufw-before-input -s 202.154.11.0/24 -j DROP
Simpan dan tutup file, lalu reload firewall.
sudo ufw reload
Untuk mempersingkat pekerjaan diatas, bisa menggunakan perintah :
## sudo ufw insert 1 deny from {BADIPAddress-HERE}
sudo ufw insert 1 deny from 177.237.20.191 comment 'block spammer'
sudo ufw insert 1 deny from 202.154.11.0/24 comment 'Block DoS attack subnet'
Untuk melihat rules dan comment anda dapat menjalankan sintaks :
sudo ufw status verbose
Block banyak IP dan subnet (CIDR)
Ada cara untuk mem-block banyak IP address atau subnet, misalnya menggunakan bash-script. Contoh bash script untuk mem-block 5 IP address :
#!/bin/bash
IPS="192.168.1.50 1.2.3.4 123.1.2.3 132.1.2.3 202.154.11.5/29"
for i in $IPS
do
sudo ufw insert 1 deny from "$i" comment "IP and subnet blocked"
done
Contoh lainnya adalah bash-script membaca file yang berisi daftar IP address yang akan diblokir. Buat dulu text file yang berisi daftar IP address yang akan diblokir.
cat > blockir-ip-list
Tambahkan IP dan subnet yang akan diblokir:
# Daftar IP dan subnet yang akan diblokir
223.2.185.6
214.5.21.27
211.246.64.57
2610:119:e0:6002::1f1
182.138.140.66
181.120.201.0/24
Buat file bash-script dengan isi:
#!/bin/bash
while IFS= read -r block
do
sudo ufw insert 1 deny from "$block"
done < "blockir-ip-list"
Kesimpulan
Kita telah mempelajari cara memblokir alamat IP atau subnet /CIDR (Classless Inter-Domain Routing) menggunakan firewall berbasis ufw untuk melindungi server kita dari serangan hacker.