30 April 2019

Script Firewall Dasar MikroTik Router

Disini kita akan memeriksa dan menentukan paket data yang bisa keluar, masuk atau melewati router mikrotik dari sebuah jaringan menggunakan firewall mikrotik. Melanjutkan artikel saya sebelumnya di 6 Cara Proteksi MikroTik Router, berikut contoh kumpulan konfigurasi firewall mikrotik untuk proteksi meminimalkan resiko keamanan jaringan atau router.

Script Firewall Dasar MikroTik Router

Di kesempatan kali ini saya mencontohkan rules filter firewall di mikrotik untuk :
  • Drop BOGONS Address
  • Drop Syn Flood Attack
  • Drop ICMP Flood Attack
  • Drop Port Scanner
  • Drop Email Spammers
  • Proteksi jaringan lokal dari serangan dari cloud internet
  • Drop Invalid Connection


Drop BOGONS Address

IP Address BOGONS adalah daftar IP Address yang menipu trafik seolah-olah berasal dari jaringan internal kita tetapi "masuk" melalui jaringan internet atau WAN kita.

Tambahkan daftar BOGONS IP di address-list
/ip firewall address-list
add address=0.0.0.0/8 comment="Self-Identification [RFC 3330]" list=bogons
add address=10.0.0.0/8 comment="Private[RFC 1918] - CLASS A" list=bogons
add address=127.0.0.0/8 comment="Loopback [RFC 3330]" list=bogons
add address=169.254.0.0/16 comment="Link Local [RFC 3330]" list=bogons
add address=172.16.0.0/12 comment="Private[RFC 1918] - CLASS B" list=bogons
add address=192.168.0.0/16 comment="Private[RFC 1918] - CLASS C" list=bogons
add address=192.0.2.0/24 comment="Reserved - IANA - TestNet1" list=bogons
add address=192.88.99.0/24 comment="6to4 Relay Anycast [RFC 3068]" list=bogons
add address=198.18.0.0/15 comment="NIDB Testing" list=bogons
add address=198.51.100.0/24 comment="Reserved - IANA - TestNet2" list=bogons
add address=203.0.113.0/24 comment="Reserved - IANA - TestNet3" list=bogons
add address=224.0.0.0/4 comment="MC, Class D" list=bogons

Kemudian kita drop trafik dari IP Bogons yang masuk ke ether WAN
/ip firewall filter
add action=drop chain=forward comment="Drop Bogon Forward -> WAN" in-interface=\
    ether1-wan log=yes log-prefix="Bogon Forward Drop" src-address-list=bogons


Drop Syn Flood Attack

SYN Flood salah satu bentuk serangan Denial Of Service (DOS) dimana penyerang akan mengirimkan SYN request ke router mikrotik dengan tujuan menghabiskan resource router sampai router "hang" atau tidak bisa berfungsi normal. Kode "ACK" tidak dikirimkan kembali ke router, penyerang hanya terus menerus mengulangi SYN Request yang menjadikan router sibuk untuk me respon request tersebut tanpa si penyerangan menyelesaikan koneksi antara client dan server.

/ip firewall filter
add action=add-src-to-address-list address-list=syn_flooder address-list-timeout=30m \
    chain=input comment="Drop Syn-Flood IP " connection-limit=30,32 protocol=tcp \
    tcp-flags=syn
add action=drop chain=input src-address-list=syn_flooder


Drop ICMP Flood Attack

ICMP FLOOD jenis lain serangan Denial of Service attack (DDOS). Dengan mengirimkan Paket ICMP (ping) dalam jumlah yang sangat besar terhadap mesin target dengan tujuan membuat error pada pc target.

/ip firewall filter
add action=jump chain=input comment="ICMP input, output, forward Flow" jump-target=ICMP \
    protocol=icmp
add action=jump chain=output jump-target=ICMP protocol=icmp
add action=jump chain=forward jump-target=ICMP protocol=icmp
add action=accept chain=ICMP comment="Allow Normal ICMP Action" icmp-options=8:0 limit=\
    1,5:packet protocol=icmp
add action=accept chain=ICMP icmp-options=0:0 protocol=icmp
add action=accept chain=ICMP icmp-options=11:0 protocol=icmp
add action=accept chain=ICMP icmp-options=3:0-1 protocol=icmp
add action=accept chain=ICMP icmp-options=3:4 protocol=icmp
add action=drop chain=ICMP comment="Drop to the other ICMPs" protocol=icmp

Drop Port Scanner

Salah satu langkah pertama yang biasanya dilakukan hacker adalah pemindaian/scanning port terbuka untuk melakukan serangan. Jadi kita akan menghalau atau mengenali dulu host yang melakukan port scanner ke router mikrotik kita.

/ip firewall filter
add action=add-src-to-address-list address-list=port_scanner address-list-timeout=1w \
    chain=input comment="Drop Port Scanner" protocol=tcp psd=21,3s,3,1
add action=drop chain=input src-address-list=port_scanner


Drop Email Spammers

Menghalau tindakan aktifitas spammers dari dalam jaringan internal kita, kadang user kita terkena virus spam yang "menumpang" koneksi internet kita untuk melakukan spamming. Dan tentu saja merugikan karena trafik akan penuh dengan trafik kirim email spam dan membuat IP Public kita ter-blacklist yang membuat email perusahaan tidak dapat mengirim email dari software email client di komputer user.

/ip firewall filter
add action=add-src-to-address-list address-list=spammers address-list-timeout=3h chain=\
    forward comment="Drop Email Spammers" connection-limit=30,32 dst-port=25,587 limit=\
    30/1m,0:packet protocol=tcp
add action=drop chain=forward dst-port=25,587 protocol=tcp src-address-list=spammers

Disesuaikan juga untuk "connection-limit" dan "limit" sesuai dengan total trafik kirim email perusahaan Anda. Jika aktifitas kirim email perusahaan anda memang aslinya besar, menambahkan script ini tanpa disesuaikan akan menjadi masalah besar untuk Anda.


Proteksi jaringan lokal dari serangan dari cloud internet

Public Network Attacker dapat membuat route sederhana bahwa IP Lokal sebut saja 192.168.88.0/24 berada di belakang IP Public Anda dan menyerang ke perangkat jaringan lokal Anda. Untuk melindungi subnet lokal Anda dari serangan sperti ini, konfigurasi rules firewall ini Anda dapat gunakan.

/ip firewall filter
add action=drop chain=forward comment=\
    "Drop new connections from internet which are not dst-natted" connect
    !dstnat connection-state=new in-interface=ether1-wan


Drop Invalid Connection

Setiap paket data mempunyai status koneksi dalam sebuah koneksi antara client dan server. Status koneksi dapat ditentukan pada parameter "connection-state" di mikrotik.

Invalid – paket tidak dimiliki oleh koneksi apapun, tidak berguna.
New – paket yang merupakan pembuka sebuah koneksi/paket pertama dari sebuah koneksi
Established – merupakan paket kelanjutan dari paket dengan status new
Related – paket pembuka sebuah koneksi baru, tetapi masih berhubungan dengan koneksi sebelumnya.

Karena paket data berstatus "Invalid" ga guna, sebaiknya kita drop saja.

/ip firewall filter
add action=accept chain=input comment="Accept Established / Related Con-State" \
    connection-state=established,related
add action=accept chain=forward connection-state=established,related
add action=drop chain=input comment="Drop Invalid Con-state" connection-state=invalid
add action=drop chain=forward connection-state=invalid

Mungkin ini adalah konfigurasi firewall mikrotik paling basic ya. Anda dapat mengubah atau menghapus rules disesuaikan dengan kebutuhan Anda. Semoga dapat membantu!