İç ağ kullanıcıları router'ın DNS'ini kullanmaya devam ederken MikroTik DNS'inin internete kapatılmasını gösteren şema
Kategori: MikroTik

MikroTik router'larda en sık gördüğüm sorunlardan biri şudur: Kullanıcılar internetin yavaş olduğunu söyler, router'ın CPU'su yüzde 80'in üzerindedir ve giden trafik belirgin bir neden olmadan artmıştır. Birçok durumda nedeni tek bir onay kutusudur: DNS ayarlarında Allow Remote Requests açıktır ve 53. port internete açık kalmıştır.

Açık MikroTik DNS'i neden tehlikeli?

Allow Remote Requests açıkken MikroTik, kendisine DNS sorgusu gönderen herkese cevap verir; güvenlik duvarı WAN tarafını engellemiyorsa bu, tüm internet demektir. Böyle bir router'a açık çözümleyici (open resolver) denir ve birkaç riski vardır:

  • DNS amplification saldırısı: Saldırgan, kurbanın sahte adresiyle router'ınıza küçük sorgular gönderir; router'ınız da kurbana onlarca kat büyük cevaplar yollar. Router'ınız bir DDoS saldırısının parçası olur, bant genişliğiniz tükenir ve İSS'niz adresinizi engelleyebilir.
  • Yüksek CPU ve yavaş ağ: Saniyede binlerce istek, router'ı kendi kullanıcılarınız için yavaşlatır.
  • DNS önbellek zehirlenmesi: Sahte cevaplar router'ın DNS önbelleğine yerleşip kullanıcıları sahte sitelere yönlendirebilir.
  • DNS hijacking: Router ele geçirilirse saldırgan, kullanıcıları fark ettirmeden sahte veya reklam dolu sitelere göndermek için DNS sunucularını ya da statik kayıtları değiştirir.

1. adım: Router'ın DNS durumunu kontrol edin

/ip dns print
/ip firewall filter print where chain=input

allow-remote-requests: yes ayarlıysa ve input zincirinde WAN'dan gelen yeni bağlantıları engelleyen bir kural yoksa DNS'iniz açıktır. Dışarıdan test etmek için başka bir internet bağlantısından (örneğin cep telefonundan) şunu çalıştırın; cevap değil, zaman aşımı almalısınız:

nslookup example.com YOUR-PUBLIC-IP

2. adım: 53. portu internet tarafından kapatın

Önce internet portlarının WAN listesinde olduğundan emin olun:

/interface list member print

Ardından WAN'dan gelen DNS isteklerini düşüren iki kural ekleyin. place-before=0 onları tüm kuralların en üstüne koyar; böylece önceki bir accept kuralı onları etkisiz bırakamaz:

/ip firewall filter
add chain=input in-interface-list=WAN protocol=udp dst-port=53 action=drop comment="Block DNS from WAN" place-before=0
add chain=input in-interface-list=WAN protocol=tcp dst-port=53 action=drop comment="Block DNS from WAN" place-before=0

İnternet bağlantınız PPPoE veya L2TP ise fiziksel portu değil, o bağlantının arayüzünü WAN listesine ekleyin.

Daha doğru çözüm: varsayılan drop politikası

Portları tek tek kapatmak yeterli değildir. Input zinciri yalnızca gerekeni kabul etmeli, gerisini düşürmelidir:

/ip firewall filter
add chain=input connection-state=established,related,untracked action=accept
add chain=input connection-state=invalid action=drop
add chain=input protocol=icmp action=accept
add chain=input in-interface-list=LAN action=accept
add chain=input action=drop comment="Drop everything else"

Son kuralı uygulamadan önce LAN tarafından bağlı olduğunuzdan emin olun ya da Winbox Safe Mode kullanın; böylece erişim kesilirse değişiklikler otomatik geri alınır.

3. adım: Kullanıcıları router'ın DNS'ini kullanmaya zorlayın

Zararlı yazılımlar ve bazı kullanıcılar, filtrelerinizi ve izlemenizi atlatmak için DNS'i elle başka sunuculara ayarlar. Bir NAT kuralıyla her iç DNS isteğini router'ın kendisine yönlendirin:

/ip firewall nat
add chain=dstnat in-interface-list=LAN protocol=udp dst-port=53 action=redirect to-ports=53
add chain=dstnat in-interface-list=LAN protocol=tcp dst-port=53 action=redirect to-ports=53

4. adım: DNS hijacking'i önleyin

Router'a erişen bir saldırgan önce DNS'e yönelir. Şunları düzenli olarak kontrol edin:

/ip dns print
/ip dns static print
/system scheduler print
/system script print
/user print
  • DNS sunucuları ve statik kayıtlar tam olarak sizin ayarladıklarınız olmalı.
  • Tanımadığınız bir scheduler veya script, sızma belirtisidir.
  • RouterOS'u güncel tutun; geçmiş yıllardaki yaygın MikroTik saldırıları çoğunlukla eski sürümleri hedef aldı.
  • Kullanılmayan hizmetleri kapatın ve Winbox ile SSH erişimini iç adreslerle sınırlayın:
/ip service disable telnet,ftp,www,api,api-ssl
/ip service set winbox address=192.168.88.0/24
/ip service set ssh address=192.168.88.0/24

5. adım: Dinlemeye ve değiştirmeye karşı DNS over HTTPS

RouterOS 7'de router'ın DNS sorgularını DoH üzerinden şifreli gönderebilirsiniz; böylece yolda okunamaz ve değiştirilemez:

/ip dns set servers=1.1.1.1 use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes

verify-doh-cert=yes için DoH sunucusunun kök sertifikası router'da güvenilir olmalıdır. Değilse önce kök sertifikayı içe aktarın. servers adresi de DoH sunucusunun kendisini bulmak için gereklidir.

6. adım: İzleyin

Kuralları uyguladıktan sonra sayaçlara bakın. 53. port drop kuralı hızla artıyorsa router'ınız kötüye kullanılıyordu ve artık engellendi:

/ip firewall filter print stats where comment="Block DNS from WAN"
/system resource print
/tool torch interface=ether1 port=53

Kısa kontrol listesi

  1. UDP ve TCP 53. port WAN tarafından kapalı.
  2. Input zincirinde varsayılan drop politikası var.
  3. Kullanıcıların DNS'i NAT ile router'a yönlendiriliyor.
  4. Statik kayıtlar, scheduler'lar ve router kullanıcıları düzenli olarak kontrol ediliyor.
  5. RouterOS güncel ve gereksiz hizmetler kapalı.
  6. Mümkünse DoH etkin.

Router'ın diğer güvenlik ayarları için MikroTik ağ güvenliği, güvenli uzaktan erişim için MikroTik cihazlarına uzaktan erişim yazılarına bakın.

  • MikroTik
  • MikroTik güvenliği
  • DNS saldırısı
  • DNS amplification
  • açık çözümleyici
  • MikroTik güvenlik duvarı
  • DNS over HTTPS
  • RouterOS