Skip to content
· Destek · 5 dk okuma

MikroTik Brute Force ve Port Scanner Saldırıları Nasıl Engellenir ?

Bu yazımızda MikroTik Markası ile Brute Force saldırılarına karşı nasıl önlemler alınabileceği örneklendirilerek anlatılmıştır.

Umut Can Yıldız Umut Can Yıldız
MikroTik Brute Force ve Port Scanner Saldırıları Nasıl Engellenir ?

MikroTik RouterOS ile Brute Force ve Port Taraması Engelleme Rehberi

Brute Force (Kaba Kuvvet) saldırıları, MikroTik router’ınız üzerindeki SSH, Telnet, Winbox servislerini veya yapmış olduğunuz port yönlendirme kurallarına ait cihazlarınızı ele geçirmek adına yapılan kullanıcı adı / şifre tahmini üzerine kurulu bir saldırı yöntemidir. Basit veya kolay tahmin edilebilir şifre kombinasyonlarının kullanıldığı yapılar hızlıca ele geçirilebilirken, güçlü şifreleme ile korunan sistemlerde saldırganın gönderdiği birden fazla giriş isteğinin oluşturduğu yoğun trafik, router’ınızın sistem kaynaklarının aşırı düzeyde kullanılmasına sebep olarak yerel ağ ve internet deneyiminizin olumsuz yönde etkilenmesine yol açmaktadır.

  • 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ı engelleyecektir.

  • 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 Seviye-1, Seviye-2, Seviye-3 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ığı

Örneğin; yeni bir Winbox (TCP 8291) bağlantı isteğinde, bu ilgili güvenlik kuralları eklendikten sonra aşağıdaki sıralamaya göre kontrol ve koruma işlemi gerçekleştirilecektir.

  • Yeni Winbox bağlantı isteği, “(Winbox) Kara Liste” isimli liste ile karşılaştırılır. Bağlantı isteğinde bulunan IP adresi kara liste içerisinde bulunmuyorsa, “Jump” kuralı yardımı ile bir sonraki adıma geçer. 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ır. 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ır. 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 listeye eklenecekti.

  • Bağlantı, dinamik olarak oluşturulan “(Winbox) Seviye-1 Takip Listesi” isimli liste ile karşılaştırılır. 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 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.

NOT

Dokümanımızdaki kodlar sisteminizdeki internet girişi arayüz adı veya kullanılan port numaraları ile uyumlu olmayabilir. Sorunsuz bir uygulama için kodları öncelikle bir not defterine kopyalayın ve tüm kurallarda yer alan in-interface= ve dst-port= kısımlarında yazan alanların kendi sisteminizle uyumlu olmasını sağlayın.

Örneğin in-interface=WAN yerine in-interface=modem1 gibi kendi arayüz adınızı kullanabilirsiniz.


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 dakikaligina (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 dakikaligina (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 dakikaligina (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 dakikaligina (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 dakikaligina (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 dakikaligina (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 dakikaligina (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 dakikaligina (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 dakikaligina (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 portlarini 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

wifiAnten ürünlerini incelemek ve satın almak için mağazaya geçin.

Mağazaya Git

Yorumlar

Henüz yorum yok. İlk yorumu siz yazın.

Yorum yazın

Yorum yazmak için önce Google hesabınızla giriş yapın.

Sorular

Henüz soru yok. İlk soruyu siz sorun.

Soru sorun

Soru sormak için önce Google hesabınızla giriş yapın.

Paylaş:
Umut Can Yıldız

Yazar

Umut Can Yıldız

Sistem destek uzmanı

İçindekiler