Beberapa serangan pada jaringan Mikrotik sering kita temukan diantaranya, Brute Force, Ping Flood atau DDoS dan Port Scanning, serangan tersebut bisa kita atasi dengan menambahkan sebuah rule pada Mikrotik untuk mencegah para attacker/botnet menyerang kembali. Kemudian ketika ada serangan pada Mikrotik kita bisa mengetahuinya melalui notifikasi pada Bot Telegram. Caranya akan saja jelaskan pada tutorial kali ini. Sebelum membuat rule untuk memblokir serangan pada Mikrotik kita pahami dulu jenis-jenis serangan, diantaranya:
Baca juga:
- Blokir IP Address yang Gagal Login Ke Winbox Mikrotik
- Blokir Akses ke Login Modem Indihome dan Login Access Point di Mikrotik
- Monitoring Log Mikrotik Dikirim Ke Bot Telegram
Brute Force
Brute Force adalah serangan yang dilakukan untuk membobol password dengan cara mencoba setiap password secara acak dari kombinasi huruf, angka dan simbol, sampai akhirnya menemukan password yang tepat. Biasanya Brute Forces dilakukan oleh robot atau program, karena untuk mendapatkan kombinasi huruf, angka dan simbol bisa dengan cepat dibuat oleh program/algoritma tertentu.
Ping Flood atau DDoS
Ping Flood atau sering kita kenal dengan istilah DDoS adalah jenis serangan yang dilakukan dengan cara mengirimkan lalu lintas/paket/ping jaringan internet pada server, sistem, atau jaringan Mikrotik secara terus menerus dan dalam jumlah paket data yang besar. Umumnya serangan ini dilakukan menggunakan beberapa komputer host penyerang sampai dengan komputer target tidak bisa diakses atau bahkan sampai rusak.
Port Scanning
Port Scanning adalah aktivitas yang dilakukan untuk memeriksa status port TCP dan UDP pada sebuah server atau jaringan Mikrotik. Aplikasi yang sering ditemukan untuk melakukan Port Scanning, seperti netcat, unicornscan, nmap, dll. Jadi dengan melakukan Port Scanning peretas bisa mencari port yang terbuka lalu mencobanya dengan melalukan beberapa cara untuk masuk ke sistem.
Langkah-Langkah
Memblokir Serangan Brute Force
Brute Force SSH dan Telnet
Rule ini akan mendeteksi serangan pada port 22 (SSH) dan port 23 (Telnet), dimana apabila terjadi tiga kali percobaan serangan melalui port 22 dan port 23 maka IP Address dari sumber serangan akan dimasukan kedalamn address list kemudian IP tersebut akan di drop dengan log-prefix=BruteForcesSshTelnet yang nantinya log-prefix tersebut akan menjadi notifikasi pada Bot Telegram.
/ip firewall filter add action=drop chain=input comment="drop SSH&TELNET Brute Forcers" dst-port=\ 22-23 log=yes log-prefix=BruteForcesSshTelnet protocol=tcp \ src-address-list=IP_BlackList add action=add-src-to-address-list address-list=IP_BlackList \ address-list-timeout=1d chain=input connection-state=new dst-port=22-23 \ protocol=tcp src-address-list=SSH_BlackList_3 add action=add-src-to-address-list address-list=SSH_BlackList_3 \ address-list-timeout=1m chain=input connection-state=new dst-port=22-23 \ protocol=tcp src-address-list=SSH_BlackList_2 add action=add-src-to-address-list address-list=SSH_BlackList_2 \ address-list-timeout=1m chain=input connection-state=new dst-port=22-23 \ protocol=tcp src-address-list=SSH_BlackList_1 add action=add-src-to-address-list address-list=SSH_BlackList_1 \ address-list-timeout=1m chain=input connection-state=new dst-port=22-23 \ protocol=tcp
Brute Force FTP
Rule ini akan mendeteksi serangan pada FTP dimana apabila terjadi serangan akan menambahkan sebuah log-prefix=BruteForcesFtp.
/ip firewall filter add action=drop chain=input comment="drop FTP Brute Forcers" dst-port=21 log=\ yes log-prefix=BruteForcesFtp protocol=tcp src-address-list=FTP_BlackList add action=add-dst-to-address-list address-list=FTP_BlackList \ address-list-timeout=1d chain=output content="530 Login incorrect" \ protocol=tcp add action=add-dst-to-address-list address-list=FTP_BlackList \ address-list-timeout=1d chain=output content="530 Login incorrect" \ protocol=tcp add action=accept chain=output content="530 Login incorrect" dst-limit=\ 1/1m,9,dst-address/1m protocol=tcp
Brute Force Winbox
Rule ini akan mendeteksi apabila ada percobaan login ke Winbox port 8291 dengan tiga kali percobaan dalam waktu satu menit maka IP Sumber akan di blokir. Maka apabila menggunakan rule ini disarankan jangan login menggunakan tiga Winbox di komputer yang sama, apabila hal tersebut terjadi maka IP Address yang digunakan untuk login ke Winbox akan di blokir selama satu hari. Kemudian akan menambahkan sebuah log dengan nama log-prefix=BruteForcesWinbox apabila terjadi login 3 kali berturut-turut dengan IP Address yang sama.
/ip firewall filter add action=drop chain=input comment="drop Winbox Brute Forces" dst-port=8291 \ log=yes log-prefix=BruteForcesWinbox protocol=tcp src-address-list=\ IP_BlackList_Winbox add action=add-src-to-address-list address-list=IP_BlackList_Winbox \ address-list-timeout=1d chain=input connection-state=new dst-port=8291 \ protocol=tcp src-address-list=SSH_BlackList_Winbox_3 add action=add-src-to-address-list address-list=SSH_BlackList_Winbox_3 \ address-list-timeout=1m chain=input connection-state=new dst-port=8291 \ protocol=tcp src-address-list=SSH_BlackList_Winbox_2 add action=add-src-to-address-list address-list=SSH_BlackList_Winbox_2 \ address-list-timeout=1m chain=input connection-state=new dst-port=8291 \ protocol=tcp src-address-list=SSH_BlackList_Winbox_1 add action=add-src-to-address-list address-list=SSH_BlackList_Winbox_1 \ address-list-timeout=1m chain=input connection-state=new dst-port=8291 \ protocol=tcp
Memblokir Serangan Ping Flood / DDoS
Rule ini akan mendeteksi serangan Ping Flood / DDoS kemudian menambahkan sebuah log dengan nama log-prefix=DDoS.
/ip firewall filter add action=jump chain=forward comment=ddos connection-state=new jump-target=\ detect-ddos add action=return chain=detect-ddos dst-limit=32,32,src-and-dst-addresses/10s add chain=detect-ddos src-address=10.10.10.1 action=return add action=add-dst-to-address-list address-list=ddosed address-list-timeout=\ 10m chain=detect-ddos add action=add-src-to-address-list address-list=ddoser address-list-timeout=\ 10m chain=detect-ddos add action=drop chain=forward connection-state=new dst-address-list=ddosed \ log=yes log-prefix=DDoS src-address-list=ddoser
IP 10.10.10.1 adalah DNS Server untuk pengecualian yang tidak di blokir
Device yang melakukan transfer data melalui aplikasi SHAREit dalam satu jaringan WiFi ternyata terdeteksi juga oleh rule ini
sumber: wiki.mikrotik
Memblokir Serangan Port Scanner
Rule ini akan mendeteksi apabila terjadi serangan pada Mikrotik melalui aplikasi Port Scanner. Apabila terjadi serangan maka akan menambahkan sebuah log-prefix=PortScanner.
/ip firewall filter add action=drop chain=input comment="drop port scanners" log=yes log-prefix=\ PortScanner src-address-list=port_scanners add action=add-src-to-address-list address-list=port_scanners \ address-list-timeout=2w chain=input protocol=tcp tcp-flags=\ fin,!syn,!rst,!psh,!ack,!urg add action=add-src-to-address-list address-list=port_scanners \ address-list-timeout=2w chain=input protocol=tcp tcp-flags=fin,syn add action=add-src-to-address-list address-list=port_scanners \ address-list-timeout=2w chain=input protocol=tcp tcp-flags=syn,rst add action=add-src-to-address-list address-list=port_scanners \ address-list-timeout=2w chain=input protocol=tcp tcp-flags=\ fin,psh,urg,!syn,!rst,!ack add action=add-src-to-address-list address-list=port_scanners \ address-list-timeout=2w chain=input protocol=tcp tcp-flags=\ fin,syn,rst,psh,ack,urg add action=add-src-to-address-list address-list=port_scanners \ address-list-timeout=2w chain=input protocol=tcp tcp-flags=\ !fin,!syn,!rst,!psh,!ack,!urg
Notifikasi ke Bot Telegram Apabila ada Serangan
Karena kita telah menambahkan sebuah log-prefix untuk setiap jenis rule untuk blokir serangan maka dengan menggunakan script kita akan membaca log tersebut sesuai dengan log-prefix yang telah di tentukan sebelumnya. Script ini akan membaca setiap log-prefix yang sesuai lalu akan mengirimkan log tersebut ke Bot Telegram.
Caranya buat sebuah system scheduler lalu buat schedule dengan nama LogMikrotik, lalu tambahkan script dibawah ini di On Event. Lalu jangan lupa ubah terlebih dahulu BOT ID dan Chat ID. Jalankan dengan interval yang di inginkan, asalkan tidak terlalu cepat karena script ini cukup memakan resources CPU..hehe
Silahkan share untuk membuka link download dan membuka scriptnya
Apabila tutorial ini bermanfaat support saya dengan cara share artikel ini..
Terimakasih
Buat Logging
Agar Log dari Firewall dapat masuk ke Log Mikrotik, kita harus menambahkan sebuah Log Action dan Log Rule baru dengan Action Firewall. Dengan cara ke menu System –> Logging. Kira-kira buat seperti pada gambar dibawah ini:
Hasilnya
Ketika saya akan mencobanya dengan mengaktifkan port SSH dan Telnet di Mikrotik ternyata Mikrotik saya sudah menjadi target serangan Telnet.,,hehehe
Notifikasi Login Winbox Gagal Login
Notifikasi ketika ada serangan/akses ke FTP Mikrotik.
Untuk DDoS dan Port Scanner belum saya coba, silahkan apabila kalian ingin mencobanya sendiri, mohon maaf apabila ada rule yang keliru karena saya hanya ingin berbagi saja, apabila ada rule yang keliru bisa disampaikan saja di kolom komentar, semoga bermanfaat..hehe
- Mencegah Serangan pada Mikrotik dan di Monitoring oleh Bot Telegram
- Mencegah MikroTik DDoS Attack Mitigation
- Filter Serangan Bruto Force pada PPTP Server
- Mencegah Jaringan WIFI Hotspot dan LAN dari NetCut
Sumber: Wiki Mikrotik
Assalamu’alaikum, trm ksh share ilmunya sangat bermanfaat.
IP 10.10.10.1 di bagian DDOS IP-nya siapa?
add action=return chain=detect-ddos src-address=10.10.10.1
Assalamu’alaikum, trm ksh sangat bermanfaat.
Boleh tahu IP 10.10.10.1 dlm script IP-nya siapa?
add action=return chain=detect-ddos src-address=10.10.10.1
Itu dns server yang saya digunakan mas, jd dijadikan pengecualian
Terima kasih mas Yayan.
sama sama mas…walikumsalam
Assalamu’alaikum mas Yayan, di log ada notif:
DDoS forward: in:ether8 out:pppoe src-mac 6c:3b:6b:8b:be:94, proto TCP (ACK), 11.0.0.253:37631->104.93.96.108:443, len 52
Artinya apakah serangan DDOS dari IP 11.0.0.253 ke 104.93.96.108, atau dari IP 104.93.96.108 ke 11.0.0.253 ?
Trm ksh sblmnya.
dari IP 11.0.0.253 ke 104.93.96.108
Terima kasih, mas Yayan.
Assalamu’alaikum mas Yayan, sudah 3 hari ini bot telegram sy ga ngirimin notifkasi pdhal di log mikrotik setiap hari ada info serangan.
Mohon pencerahannya.
Trm ksh sblmnya.
walikumsalam, coba ganti API TOKEN botnya, dengan cara ke BOTFATHER lalu pilih Bot nya dan pilih REVOKE…
atau tes apakah bot bisa menerima pesan ketika membuka perintah di browser, contoh perintahnya seperti ini:
https://api.telegram.org/bot(API BOT)/sendmessage?chat_id=(CHAT ID)&text=TES
Kalau masih belum bisa brati kesalahan ada di schedule LogMikrotik
API Token bot telegram sudah sy ganti dan command https://api.telegram.org/bot(API BOT)/sendmessage?chat_id=(CHAT ID)&text=TES sudah berhasil menampilkan message “TES” di bot telegram sy.
Tp masih belum bisa menampilkan notifikasi dari log Mikrotik.
Brati yg harus di cek schedule LogMikrotik untuk membaca log di mikrotik,coba di hapus lalu di buat ulang saja schedulernya
Semalam sudah sy hapus dan sy buat ulang schedulernya.
Setelah dibuat ulang semalam ada masuk 1 notif (dgn penunjukan waktu salah, 13 Nov 2019, pukul 19.35), dan pagi tadi masuk 1 notif (penunjukan waktu benar).
Jadi hingga saat ini baru ada 2 notif yg masuk ke bot, pdhal di log Mikrotik lumayan banyak.
Schedule dibuat interval brapa menit?
30 detik
Assalamualaikum, mas mw tanya. klo misalkan kita ganti target yg jadi serangan nya misal disini saya punya 2 server database. topologinya Mikrotik —> Server 1 (port 2 mikrotik) —> lokal (port 3 mikrotik). bisa tidak notifnya diganti jadi ketika ada yg bruteforce/login ke server ngirim ke telegram? trims
walikumsalam, apa maksudnya yg ini https://labkom.co.id/mikrotik/mengamankan-server-di-belakang-nat-mikrotik-dari-serangan-bruto-force
assalamualiakum mas yayan, sya mau nnya, pas sya pke laptop saya sndiri itu berhasil utk percobaan yg brute force ssh dan telnet, tpi pas coba pke laptop tmn sya ko ga ada notif dan ga muncul d address list nya, itu knapa ya ?apa harus satu network ??
assalamualaikum mas yayan, sya mau nnya pas sya coba pke laptop sya sendiri berhasil melakukan percobaan brute force ssh dan telnet, tpi pas sya coba pke laptop tmn sya ko ga ada notif dan ga tercatat d address list, itu knapa ya ? apa hrus satu network ? terima kasih sebelumnya
Walikumsalam, seharunya semua network bisa terfilter..
mencobanya dalam satu jaringan atau luar jaringan?
kalau dari luar jaringan bisa ditambahkan in-interface WAN
add action=add-src-to-address-list address-list=port_scanners \ address-list-timeout=2w chain=input protocol=tcp tcp-flags=\ fin,!syn,!rst,!psh,!ack,!urg
dri rule d atas, mksud flag yg ada tanda seru nya apa ya mas ??
tanda seru untuk pengecualian
Telah Terjadi Serangan pada:
Router Id: Coba
mar/05/2020 08:48:13 PortScanner input: in:bridge-WAN out:(unknown 0), src-mac 90:4c:e5:28:87:79, proto UDP, 192.168.168.76:68->255.255.255.255:67, len 328
kalo dri notifikasi d atas, 255.255.255.255:67, len 328 itu apa ya mas ??
mas. untuk serangan brute force voucer hotspot mikrotik bagaimana mas?
mungkin bisa coba cara monitoring dari log, log error yang muncul ketika ada yg coba coba login voucher di kirimkan ke bot.. contohnya ada di tutorial ini
https://labkom.co.id/mikrotik/monitoring-log-mikrotik-dikirim-ke-bot-telegram
Assalamualaikum mas yayan. Bot telegram nya saya rest sudah ada notif. Tp untuk notif serangannya masih belum bisa kenapa yah mass
walikumsalam,,,coba cek di log dan script…karena script ini membaca sesuai log yg muncul
assalamualaikum mas, mau tanya klo misal yang keluar di telegram nya ga full sesuai dengan yg di log kenapa ya ? jadi di telegram tidak keliatan ip mana mana nya sedangkan di log nya ada..
Telah Terjadi Serangan pada:
Router Id: BONA-MIKROTIK
sep/18/2020 20:26:30 BruteForcesSshTelnet input: in:bridge-UseeTV INET-Lt.1
kira2 kenapa ya mas. terima kasih
permisi mas, boleh minta script nya mas
Mas Yayan di mikrotik saya Brufoce login failure for user telecomadmin from 125.161.80.90 via api
saya buat script ini :
/ip firewall filter
add chain=input protocol=tcp dst-port=8728 src-address-list= api_blacklist action=drop
comment = “drop api brute forcers”
add chain=output action=accept protocol=tcp content=”530 Login incorrect” dst-limit=1/1m,9,dst-address/1m
add chain=output action=add-dst-to-address-list protocol=tcp content=”530 Login incorrect”
address-list= api_blacklist address-list-timeout=3h
keterangan seperti ini:
[Gerald@Mikrotik] > /ip firewall filter
[Gerald@Mikrotik] /ip firewall filter> add chain=input protocol=tcp dst-port=8728 src-address-list= api_blacklist action=drop
[Gerald@Mikrotik] /ip firewall filter> comment = “drop api brute forcers”
syntax error (line 1 column 9)
[Gerald@Mikrotik] /ip firewall filter>
[Gerald@Mikrotik] /ip firewall filter> add chain=output action=accept protocol=tcp content=”530 Login incorrect” dst-limit=1/1m,9,dst-address/1m
[Gerald@Mikrotik] /ip firewall filter>
[Gerald@Mikrotik] /ip firewall filter> add chain=output action=add-dst-to-address-list protocol=tcp content=”530 Login incorrect”
[Gerald@Mikrotik] /ip firewall filter> address-list= api_blacklist address-list-timeout=3h
syntax error (line 1 column 13)
kalau copy paste scriptnya error coba dibuat manual saja
Pak Yayan, izin tanya
di script notif telegram di atas itu ada scrip “/log”
[:toarray [/log find
Apakah itu ditunjukan ke direktori penyimpanan dari log nya ?
itu buat masuk ke menu log, kalau di terminal kita akses
/log
maka akan muncul log yg aktif
pak saya mau tanya maksudnya ip 10.10.10.1 itu ip dns di mikrotik atau indihome
kak saya udah ngikutin tutornya sudah sama percis, terus bot aktif id chat sudah benar tapi ga ke kirim log nya knpa ya??
os v6.48
mikrotik 750gr3
scriptnya membaca karakter tertentu yg ada di log, apa lognya muncul?
Kok skrang sudah tidak bisa script monitoring serangannya yah pas update terbaru
saya sudah ikuti tutorialnya sama persis tapi notif nya tidak muncul di Telegram. adakah solusi agar notifnya bisa masuk ke telegram?
kenapa botnya tidak bisa mengirim telegram, padahal sudah sesuai
Dear Mas Yayan
Script nya tidak bisa lagi mas