How to Prevent MikroTik Brute Force and Port Scanner Attacks?
In this article, we explain with examples how preventive measures can be taken against brute force attacks using MikroTik devices.
-
Yazımızın devamında paylaştığımız güvenlik duvarı kuralları, Her ilgili port ve protokol için dinamik adres listeleri oluşturarak; SSH, Telnet ve Winbox portlarına gelecek Brute Force saldırıları ile internet veya yerel ağ üzerinden gelecek port taramalarını engelleyecek.
-
Kod yapımızda Brute Force saldırıları SSH, telnet ve Winbox kurallarının her biri için ayrı ayrı olacak biçimde bir adet ‘’Jump’’ kuralı, bağlantı talep sıklığını kontrol eden Seviye1, Seviye2, Seviye3 Takip listesi adımı ve Kara Liste kuralı ile dört farklı Aşamadan geçerek engellenir.
-
Tasarlanan yapı bu sayede, gelen bağlantı taleplerine 3 defalığına hatalı istek talebi gönderme hakkı tanır, 3 başarısız denemeden sonra talebin geldiği kaynak 30 gün boyunca engellenecek biçimde kara listeye eklenerek engellenir.
Çalışma Mantığı
-
Yeni Winbox bağlantı isteği, ‘’(Winbox) Kara liste’’ isimli liste ile karşılaştırılıyor, bağlantı isteğinde bulunan ip adresi kara liste içerisinde bulunmuyorsa, ‘’Jump’’ kuralı yardımı ile bir sonraki adıma geçiyor. Bu sıralamada IP adresi kara listede yer alsaydı bağlantı isteği kara liste kuralı tarafından sonlandırılmış olacaktı.
-
‘’Jump’’ kuralı, bağlantı isteğini ‘’(Winbox) Kara liste Zinciri’’ne göndererek gelen bağlantının 3 farklı seviye tarafından kontrol edilmesini sağlar.
-
Bağlantı dinamik olarak oluşturulan ‘’(Winbox) Seviye-3 Takip Listesi’’ isimli liste ile karşılaştırılıyor, bağlantının IP adresi listede bulunmuyorsa bir sonraki kontrol adımına geçilir. Eğer IP adresi listede bulunsaydı; Talebin geldiği IP adresi 30 gün boyunca engellenecek biçimde ‘’(Winbox) Kara liste’’ isimli kara listeye eklenecekti.
-
Bağlantı dinamik olarak oluşturulan ‘’(Winbox) Seviye-2 Takip Listesi’’ isimli liste ile karşılaştırılıyor, Bağlantının IP adresi listede bulunmuyorsa bir sonraki kontrol adımına geçilir. Eğer IP adresi listede bulunsaydı; IP adresi bağlantı talep sıklığının takibi için 1 dakika boyunca geçerli olacak biçimde ‘’(Winbox) Seviye-3 Takip Listesi’’ isimli kara listeye eklenecekti.
-
Bağlantı dinamik olarak oluşturulan ‘’(Winbox) Seviye-1 Takip Listesi’’ isimli liste ile karşılaştırılıyor, Bağlantının IP adresi listede bulunmuyorsa bir sonraki kontrol adımına geçilir. Eğer IP adresi listede bulunsaydı; IP adresi bağlantı talep sıklığının takibi için 1 dakika boyunca geçerli olacak süre boyunca ‘’(Winbox) Seviye-2 Takip Listesi’’ isimli kara listeye eklenecekti.
-
Gelen bağlantı, talep sıklığı kontrolü için dinamik olarak oluşturulan ‘’(Winbox) Seviye-1 Takip Listesi’’ içerisine 1 dakikalığına eklenir.
!
SSH Portu İçin brute Force Koruma Kuralları
/ip firewall address-list
add list="(SSH) Kara Liste" comment="(SSH) Kara Liste"
/ip firewall filter
add action=drop chain=input in-interface=WAN comment="(SSH) Kara Liste icerisindeki herkesi engeller." log=yes log-prefix="KL_(SSH) Kara Liste" src-address-list="(SSH) Kara Liste"
add action=jump chain=input in-interface=WAN comment="(SSH) Kara Liste Zinciri Atlama Kurali." dst-port=22 jump-target="(SSH) Kara Liste Zinciri" protocol=tcp
add in-interface=WAN action=add-src-to-address-list address-list="(SSH) Kara Liste" address-list-timeout=4w2d chain="(SSH) Kara Liste Zinciri" comment="Tekrar eden girisimleri (SSH) Seviye-3 Takip Listesinden (SSH) Kara Liste icerisine tasir." connection-state=new log=yes log-prefix="SSH) Kara Listeye Eklendi" src-address-list="(SSH) Seviye-3 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(SSH) Seviye-3 Takip Listesi" address-list-timeout=1m chain="(SSH) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (SSH) Seviye-3 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-3(SSH) Takip Listesine eklendi" src-address-list="(SSH) Seviye-2 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(SSH) Seviye-2 Takip Listesi" address-list-timeout=1m chain="(SSH) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (SSH) Seviye-2 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-2(SSH) Takip Listesine eklendi" src-address-list="(SSH) Seviye-1 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(SSH) Seviye-1 Takip Listesi" address-list-timeout=1m chain="(SSH) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (SSH) Seviye-1 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-1(SSH) Takip Listesine eklendi"
add action=return chain="(SSH) Kara Liste Zinciri" comment="(SSH) Kara Liste Zincirinden donenler."
Telnet Portu İçin brute Force Koruma Kuralları
/ip firewall address-list
add list="(Telnet) Kara Liste" comment="(Telnet) Kara Liste"
/ip firewall filter
add action=drop chain=input in-interface=WAN comment="(Telnet) Kara Liste icerisindeki herkesi engeller." log=yes log-prefix="KL_(Telnet) Kara Liste" src-address-list="(Telnet) Kara Liste"
add action=jump chain=input in-interface=WAN comment="(Telnet) Kara Liste Zinciri Atlama Kurali." dst-port=23 jump-target="(Telnet) Kara Liste Zinciri" protocol=tcp
add in-interface=WAN action=add-src-to-address-list address-list="(Telnet) Kara Liste" address-list-timeout=4w2d chain="(Telnet) Kara Liste Zinciri" comment="Tekrar eden girisimleri (Telnet) Seviye-3 Takip Listesinden (Telnet) Kara Liste icerisine tasir." connection-state=new log=yes log-prefix="Telnet) Kara Listeye Eklendi" src-address-list="(Telnet) Seviye-3 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(Telnet) Seviye-3 Takip Listesi" address-list-timeout=1m chain="(Telnet) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (Telnet) Seviye-3 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-3(Telnet) Takip Listesine eklendi" src-address-list="(Telnet) Seviye-2 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(Telnet) Seviye-2 Takip Listesi" address-list-timeout=1m chain="(Telnet) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (Telnet) Seviye-2 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-2(Telnet) Takip Listesine eklendi" src-address-list="(Telnet) Seviye-1 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(Telnet) Seviye-1 Takip Listesi" address-list-timeout=1m chain="(Telnet) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (Telnet) Seviye-1 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-1(Telnet) Takip Listesine eklendi"
add action=return chain="(Telnet) Kara Liste Zinciri" comment="(Telnet) Kara Liste Zincirinden donenler."
Winbox Portu İçin brute Force Koruma Kuralları
/ip firewall address-list
add list="(Winbox) Kara Liste" comment="(Winbox) Kara Liste"
/ip firewall filter
add action=drop chain=input in-interface=WAN comment="(Winbox) Kara Liste icerisindeki herkesi engeller." log=yes log-prefix="KL_(Winbox) Kara Liste" src-address-list="(Winbox) Kara Liste"
add action=jump chain=input in-interface=WAN comment="(Winbox) Kara Liste Zinciri Atlama Kurali." dst-port=8291 jump-target="(Winbox) Kara Liste Zinciri" protocol=tcp
add in-interface=WAN action=add-src-to-address-list address-list="(Winbox) Kara Liste" address-list-timeout=4w2d chain="(Winbox) Kara Liste Zinciri" comment="Tekrar eden girisimleri (Winbox) Seviye-3 Takip Listesinden (Winbox) Kara Liste icerisine tasir." connection-state=new log=yes log-prefix="Winbox) Kara Listeye Eklendi" src-address-list="(Winbox) Seviye-3 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(Winbox) Seviye-3 Takip Listesi" address-list-timeout=1m chain="(Winbox) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (Winbox) Seviye-3 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-3(Winbox) Takip Listesine eklendi" src-address-list="(Winbox) Seviye-2 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(Winbox) Seviye-2 Takip Listesi" address-list-timeout=1m chain="(Winbox) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (Winbox) Seviye-2 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-2(Winbox) Takip Listesine eklendi" src-address-list="(Winbox) Seviye-1 Takip Listesi"
add in-interface=WAN action=add-src-to-address-list address-list="(Winbox) Seviye-1 Takip Listesi" address-list-timeout=1m chain="(Winbox) Kara Liste Zinciri" comment="Tekrar eden girisimleri 1 dakikaliginia (Winbox) Seviye-1 Takip Listesi icerisine ekler." connection-state=new log=yes log-prefix="Seviye-1(Winbox) Takip Listesine eklendi"
add action=return chain="(Winbox) Kara Liste Zinciri" comment="(Winbox) Kara Liste Zincirinden donenler."
Port Scanner Engelleme Kuralları
/ip firewall address-list
add list="(Port Scanner WAN) Kara Liste" comment="(Port Scanner WAN) Kara Liste"
/ip firewall filter
add action=drop chain=input in-interface=WAN comment="(Port Scanner WAN) Kara Liste icerisindeki herkesi engelle." log=yes log-prefix="KL_(Port Scanner WAN) Kara Liste" src-address-list="(Port Scanner WAN) Kara Liste"
add action=drop chain=forward in-interface=WAN comment="(Port Scanner WAN) Kara Liste icerisindeki herkesi engelle." log=yes log-prefix="KL_(Port Scanner WAN) Kara Liste" src-address-list="(Port Scanner WAN) Kara Liste"
add in-interface=WAN action=add-src-to-address-list address-list="(Port Scanner WAN) Kara Liste" address-list-timeout=4w2d chain=input comment="TCP portlarını tarayan IP adreslerini (Port Scanner WAN) Kara Liste icerisine ekler ve 30 gun boyunca engeller" log=yes log-prefix="(Port Scanner WAN) Kara Listeye Eklendi" protocol=tcp psd=21,3s,3,1
Visit the store to browse and purchase wifiAnten products.
Enter store
Written by
Umut Can Yıldız
Sistem destek uzmanı
Table of Contents
Related Posts
Setting Up MikroTik Point-to-Point (PtP) Outdoor Wireless Link: Comprehensive Guide from Hardware to Configuration
Looking to establish a wireless internet/network connection between two buildings or distant points? In this comprehensive guide, understand the necessary hardware for a PtP link using MikroTik devices, learn step-by-step configuration steps, and discover tips for creating a seamless and high-speed connection.
My First MikroTik Configuration: Basic Setup Guide for Beginners
Meeting your MikroTik router for the first time? Don't be intimidated! In this guide, learn step-by-step how to configure your first MikroTik settings, from connecting via WinBox to setting up basic network parameters and getting internet access.
What Information Is Needed to Build a Wireless Infrastructure for an Outdoor Camera Project?
To build a reliable wireless infrastructure for outdoor camera projects, key details such as camera locations, distances, line of sight, power availability, PoE requirements, antenna type, frequency band, network topology, recording center, and environmental conditions must be analyzed correctly. In this guide, we explain the essential data needed for planning outdoor IP camera wireless connections.