advance bersama IPTABLES

2 min read


kali ini aku langsung gass ke iptables guyss.. yahh,, gokil kan wkkwk..

fyi, ini adalah sesi mengamankan server yang ketiga..

kalo sebelumnya praktik blok IP pada webserver(http/https).. nah sekarang,, blok IP nya secara global guyss.. yahh,, IP tersebut akan ditolak oleh semua port/service.

iptables itu firewall guyss.. nah firewall kamu pasti udah paham.. yapp tugasnya untuk filter traffic,, konsepnya seperti ini :

chains pada tables, kita baca dari IN ya.. penjelasannya gampang banget :

  • PREROUTING, nah pada prerouting ini,, diambil keputusan apakah packet boleh masuk ke network layer atau akan langsung di FORWARD menuju POSTROUTING.
  • INPUT/OUTPUT, disini packet akan di filter sebelum boleh masuk/keluar.
  • FORWARD, setelah diputuskan ternyata paket cuma dialihkan aja, maka disini kamu juga bisa memfilter lagi packetnya.
  • POSTROUTING, tahap ini bisa mengedit/memanipulasi informasi packet yang keluar.

nah penjelasan lebih lanjut gini guyss :

  • kamu bisa membuat rules untuk network packet,, secara khusus kamu bisa menerima, menolak dan memanipulasi nya.
  • pada tables, mempunyai yang namanya chains dan pada chains lah rules itu dijalankan. ACCEPT/DROP/RETURN
  • nah setiap rules mempunyai target, jadi packet network nya mau diapakan.
  • dari gambar diatas, tables adalah FITER,MANGLE dan NAT.
  • lebih jelas lagi baca ini

okay no bacot lagi.. mari kita lansung praktek.. seperti biasa aku pakai linux,, windows minggir dulu..

Pertama, membuat logging... buka terminal root.

sudo su

pastikan iptables udah running..

iptables -L

backup dulu rules-nya.. trus buat log untuk setiap request..

iptables-save > ipv4-backup
ip6tables-save > ipv6-backup
sudo iptables --append INPUT --protocol tcp --match conntrack --ctstate NEW --jump LOG --log-prefix "REQUEST BARU (TCP): "

coba konek ssh,, trus monitor traffic-nya..

tail -f /var/log/kern.log

hasilnya…

Apr 1 15:10:07 BASE-0 kernel: [16748.220944] REQUEST BARU (TCP): IN=wlp5s0 OUT= MAC=54:8c:x0:xx:xx:01:xx:ed:xx:xx:8x:x6:xx:00 SRC=192.168.43.146 DST=192.168.4x.xx LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=32733 DF PROTO=TCP SPT=48178 DPT=8080 WINDOW=65535 RES=0x00 SYN URGP=0

Kedua, buat blacklist.. nahh sesuai judul,, blacklist kali ini lebih advance.. blok IP yang terindikasi sering melakukan serangan.. pertama install ipset dulu..

apt install ipset

truss buat list ipset dengan nama blacklist,, nahh karna aku udah punya daftar IP heker,, sekarang tinggal lakukan perulangan ini wkwkwk. ingat pelajaran pemrograman dasar A.A Ngurah Gunawan yahh..

ipset create blacklist hash:ip
blok_ip=$(cat ipheker.txt)
for row_data in $blok_ip; do ipset add blacklist ${row_data}; done

kalo udah sekarang cek aja list IP heker nya..

ipset list blacklist

maka hasilnya kayak gini…

Name: blacklist
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 68152
References: 0
Number of entries: 4134
Members:
187.189.15.66
41.242.136.148
49.232.60.2
106.54.3.80
184.154.47.2
31.13.195.39
128.199.118.27
164.52.24.168
199.249.230.

nah disana ada sekita 4000+ ip .. nah sekarang eksekusi iptables-nya.. trus cek rules nya untuk memastikan apakah sudah dipakai..

iptables -I INPUT -m set --match-set blacklist src -j DROP
iptables -I FORWARD -m set --match-set blacklist src -j DROP
iptables -L | grep blacklist

kalo dah muncul rules nya,, artinya sudah aktif ya om?? trus what?? yahh semua request dari IP itu akan di DROP lah,,

ok cukup.. biar gak kepanjangan, aku lanjutin iptables pada sesi berikutnya.. ohh iya list-ip heker nya dimari.. dan ingat rules ini belum persistent, jadi saat restart linux maka akan hilang/standard lagi rules nya,, so ikutin kelanjutannya yahhh.. kalo ada yg ditanyakan WA aja langsung.


Bima Sena

Leave a Reply

Your email address will not be published. Required fields are marked *