Pengetahuan

Mengatasi Serangan DNS Flood pada MikroTik

Saya pernah membahas tentang sebuah serangan DNS dimana router kita yang berfungsi sebagai DNS server bisa saja digunakan orang lain dari arah publik. Serangan ini dinamakan dengan open recursive dan saya telah buat pembahasannya di artikel saya yang berjudul Mengatasi Serangan Open Recursive DNS di MikroTik. Kali ini saya mengalami masalah DNS juga namun sedikit berbeda, dimana IP saya diblokir oleh DNS server eksternal seperti DNS Google yang 8.8.8.8 bahkan oleh DNS server yang dimiliki ISP.

Saya tidak terlalu hafal istilah teknis, itu mengapa artikel ini pakai istilah saya sendiri.

Kondisi ini dimungkinkan karena adanya pengguna yang mengakses domain dengan jumlah banyak namun domain tersebut tidak valid. Domain tidak valid yang saya maksud itu seperti membuka domain sdfsdfwn18yv.xje, apakah domain itu ada? kebetulan tidak ada. Jika ternyata yang melakukan hal ini banyak maka IP Publik kita akan diblokir oleh DNS Server dan tidak bisa internetan 😱.

Penanggulangan Pertama = BLOKIR!

Ada beberapa cara yang bisa dilakukan untuk “mengatasi” serangan DNS seperti ini dan saya akan coba urutkan. Cara pertama dan terkuat dari sisi pengelola jaringan adalah dengan memblokir akses ke DNS Server pada perangkat yang terinfeksi. Namun cara ini akan sulit digunakan jika perangkat yang terinfeksi banyak sekali. Tetapi namanya juga cara penanggulangan pertama jadi dilakukan dalam kondisi darurat. Berikut perintah yang bisa dimasukkan pada Router, namun ingat sesuaikan dengan kondisi kalian yaa 😄.

/ip firewall filter
add chain=forward action=drop protocol=udp src-address=192.168.10.10 dst-port=53

Random DNS Server

Cara selanjutnya adalah dengan melakukan pengacakan (random) DNS server yang digunakan oleh Router. Jadi setiap ada paket UDP yang masuk maka tidak akan mengakses 1 DNS server saja melainkan dipecah. Cara ini saya dapat dari Érick Setiawan dan kurang lebih beginilah perintah yang bisa dimasukkan pada Router.

/ip firewall nat
add chain=dstnat action=dst-nat to-addresses=1.1.1.1 protocol=udp in-interface=!ether1-Gateway dst-port=53 random=50 
add chain=dstnat action=dst-nat to-addresses=1.0.0.1 protocol=udp in-interface=!ether1-Gateway dst-port=53 random=50
add chain=dstnat action=dst-nat to-addresses=4.2.2.1 protocol=udp in-interface=!ether1-Gateway dst-port=53 random=50
add chain=dstnat action=dst-nat to-addresses=4.2.2.2 protocol=udp in-interface=!ether1-Gateway dst-port=53 random=50
add chain=dstnat action=dst-nat to-addresses=8.8.8.8 protocol=udp in-interface=!ether1-Gateway dst-port=53 random=50
add chain=dstnat action=dst-nat to-addresses=8.8.4.4 protocol=udp in-interface=!ether1-Gateway dst-port=53 random=50
add chain=dstnat action=dst-nat to-addresses=9.9.9.9 protocol=udp in-interface=!ether1-Gateway dst-port=53

Cara ini bisa dibilang efektif namun mungkin beberapa kali masih diblokir oleh DNS yang melakukan serangan bertambah banyak sehingga query DNS semakin banyak. Cara yang bisa digunakan adalah menambah kembali DNS server para aturan yang telah diterapkan sebelumnya.

Membatasi query DNS

Cara lain yang bisa digunakan adalah membatasi query DNS pada pengguna dengan menggunakan perintah di bawah ini.

chain=forward action=accept protocol=udp out-interface=ether1-Gateway dst-port=53 limit=2400/1m,5:packet
chain=forward action=drop protocol=udp out-interface=ether1-Gateway dst-port=53

Setelah menerapkan perintah tersebut jaringan tidak 100% aman karena cara yang dipakai berefek kepada pengguna yang rajin menggunakan internet. Ketika membuka banyak situs dan di dalamnya melakukan resolve DNS banyak maka dia akan diblokir sementara. Memang tidak lama (sekitar 1 menit) namun ini cukup menganggu juga.

Bersihkan Perangkat Terinfeksi

Cara-cara yang telah dijelaskan sebelumnya bisa dikatakan mitigation atau cara yang digunakan sementara sambil mengatasi permasalahan utama. Jadi cara paling efektif adalah membersihkan perangkat yang terinfeksi seperti melakukan instal ulang sistem operasi. Jika dirasa semua perangkat telah pasti bersih teman-teman bisa menghapuskan aturan-aturan yang ada di atas atau bisa juga didiamkan saja sebagai bentuk pencegahan 😄.

Tags
Close
Close