MikroTik Hardening: Sertleştirme Kontrol Listesi ve Saldırı Yüzeyi Azaltma

MikroTik Hardening: Sertleştirme Kontrol Listesi ve Saldırı Yüzeyi Azaltma

Dijital kilit ve siber guvenlik hardening kavrami

Penetrasyon test raporlarımda en sık gördüğüm zafiyetlerin %70’i, cihaz konfigürasyonunun “default” bırakılmasından kaynaklanır. Müşteri bir MikroTik alır, internete bağlar, “çalışıyor” deyip işine bakar. Üç ay sonra brute-force ile yönetim parolası kırılır, IoT cihazları botnet’e katılır veya routerOS açıkları üzerinden lateral movement başlar. Bu yazıda, bir MikroTik cihazını “fabrika ayarları”ndan “saldırı yüzeyi minimize edilmiş kurumsal düzey güvenlik konfigürasyonu”na taşımanın eksiksiz bir kontrol listesini vereceğim. Her başlıkta hem teorik altyapıyı hem de uygulanacak komutları paylaşacağım. Bu rehberi 1-2 saat içinde uygularsanız, cihazınızın saldırı yüzeyi dramatik biçimde küçülür ve büyük çoğunluk saldırı vektörü kapanır.

Saldırı Yüzeyi Analizi: Önce Neyi Koruyoruz?

Hardening yapmadan önce “saldırı yüzeyi” kavramını netleştirmek gerekir. Bir MikroTik cihazının saldırı yüzeyi şu unsurlardan oluşur:

  • Açık yönetim servisleri (Winbox, SSH, HTTPS WebFig, Telnet, FTP, API)
  • İşletim sistemi açıkları (RouterOS CVE’leri)
  • Yönetim trafiğinin geldiği ağ konumu (WAN’dan mı, iç ağdan mı erişilebilir)
  • Kimlik doğrulama mekanizması (parola gücü, MFA varlığı)
  • Servis konfigürasyon hataları (zayıf SNMP community, default SSL sertifikası)
  • Log ve audit eksiklikleri (saldırının görünmemesi)
  • Üçüncü taraf servislerle entegrasyon noktaları (RADIUS, syslog, NTP)

Bu listeyi mental olarak “ev” gibi düşünün. Ön kapınız ne kadar sağlam olursa olsun, arka pencereniz açıksa hırsız oradan girer. Hardening, her giriş noktasını tek tek kontrol altına almaktır.

Guvenli sunucu erisimi ve sertlestirme kontrolu

1. RouterOS Sürüm Güncellemesi

Hardening’in birinci kuralı: en güncel stabil RouterOS sürümünde olun. MikroTik, “long-term” ve “stable” diye iki release kanalı sunar. Production ortamları için long-term tercih edilmelidir; daha az sık güncellenir ama daha test edilmiş ve kararlıdır.

/system package update set channel=long-term
/system package update check-for-updates
/system package update install

Güncelleme öncesi mutlaka backup alın:

/system backup save name=pre-upgrade-backup
/export file=pre-upgrade-config

2024 ve 2025’te MikroTik için yayımlanan kritik CVE’lerin neredeyse tümü, sürüm yükseltmesiyle kapatıldı. Eski 6.x serisinde kalan cihazlar (özellikle 6.49 öncesi) ciddi risk altındadır. RouterOS 7.x serisine geçiş, hem güvenlik hem de modern özellikler açısından kritiktir.

2. Default Kullanıcı ve Parolayı Değiştirin

MikroTik’in default kullanıcısı “admin” parolasız gelir. Bu durum CVE’lerin yarısının başlangıç noktasıdır.

/user add name=netadmin group=full password="GuvenliBirParola_Min24Karakter!" address=10.0.0.0/24
/user disable admin

İdeal yaklaşım: “admin” kullanıcısını tamamen disable edin (silmek yerine, çünkü silmek bazı edge case’lerde sorun çıkarabilir), kendi unique kullanıcı adınızı oluşturun. Parola politikası:

  • Minimum 20 karakter
  • Büyük-küçük harf, rakam, sembol karışımı
  • Sözlük kelimeleri içermemeli
  • Parola yöneticisi (1Password, Bitwarden) ile saklanmalı
  • 6 ayda bir rotasyon

address kısıtlaması ile kullanıcıyı belirli IP’lere bağlama

Kullanıcı oluştururken address=10.0.0.0/24 parametresi, o kullanıcının yalnızca belirli bir IP aralığından bağlanmasına izin verir. Bu, parola compromise edilse bile saldırganın doğru ağdan bağlanmadıkça kullanılamaması anlamına gelir.

3. Gereksiz Servisleri Kapatın

MikroTik default olarak Telnet, FTP, WWW (HTTP) gibi şifresiz protokolleri açık tutar. Bunlar 2026’da kabul edilemez.

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set www-ssl disabled=no port=443
set api disabled=yes
set api-ssl disabled=no port=8729
set ssh port=22022
set winbox port=8291

Aktif kalan servisler için yapılması gerekenler:

  • SSH: Default port 22’yi değiştirin (örneğin 22022). Strong cipher only. Public key authentication ile parolaları devre dışı bırakın.
  • Winbox: Sadece IP whitelist’inden bağlanmaya izin verin. mac-server’ı kapatın (mac-address üzerinden Winbox bağlantısı tehlikelidir).
  • HTTPS (WebFig): Sadece valid SSL sertifikası ile çalıştırın. Self-signed yerine Let’s Encrypt veya iç CA sertifikası kullanın.
  • API: Sadece SSL versiyonu açık olsun, sadece tanımlı script entegrasyonları için.

SSH için public key authentication

/user ssh-keys import public-key-file=id_ed25519.pub user=netadmin
/ip ssh set allow-none-crypto=no strong-crypto=yes

Public key import edildikten sonra, parola ile bağlantıyı tamamen disable edebilirsiniz (sadece dikkatli olun, key kaybı sizi cihazdan kilitleyebilir; daima backup access yolu hazır tutun).

4. Service Network Restriction (IP-bound services)

RouterOS’ta her servisin “address” parametresi vardır. Bu parametre, servisin sadece belirli IP aralıklarından erişilebilir olmasını sağlar.

/ip service
set ssh address=10.0.0.0/24,185.x.x.0/29
set winbox address=10.0.0.0/24,185.x.x.0/29
set www-ssl address=10.0.0.0/24,185.x.x.0/29
set api-ssl address=10.0.0.0/24

Bu sayede tüm yönetim servisleri sadece tanımlı ağlardan erişilebilir hale gelir. Internet’ten yönetim panelinin bile görünmemesi sağlanır.

5. Firewall Filter Sertleştirme

Yönetim servislerinin IP kısıtlaması yetmez; firewall filter kuralları ile çift katman koruma sağlamak gerekir.

/ip firewall address-list
add list=admin-trusted address=10.0.0.0/24 comment="Yonetim subnet"
add list=admin-trusted address=185.x.x.0/29 comment="Ofis VPN cikis IP'si"

/ip firewall filter
# State-based hizli accept
add chain=input action=accept connection-state=established,related comment="Established/related"
add chain=input action=drop connection-state=invalid comment="Drop invalid"

# Trusted yonetim
add chain=input action=accept src-address-list=admin-trusted protocol=tcp dst-port=22022,8291,443 
    comment="Admin SSH/Winbox/HTTPS"

# ICMP rate-limited
add chain=input action=accept protocol=icmp limit=10,20:packet comment="ICMP rate limited"

# Drop digerleri
add chain=input action=drop log=yes log-prefix="INPUT-DROP" comment="Default deny input"

6. Brute-Force Koruması

SSH ve Winbox portlarına gelen brute-force denemelerini otomatik bloklamak için meşhur “stage” pattern’i:

/ip firewall filter
add chain=input protocol=tcp dst-port=22022,8291 src-address-list=bf-blacklist action=drop 
    comment="Drop blacklisted"
add chain=input protocol=tcp dst-port=22022,8291 connection-state=new src-address-list=bf-stage3 
    action=add-src-to-address-list address-list=bf-blacklist address-list-timeout=1w
add chain=input protocol=tcp dst-port=22022,8291 connection-state=new src-address-list=bf-stage2 
    action=add-src-to-address-list address-list=bf-stage3 address-list-timeout=1m
add chain=input protocol=tcp dst-port=22022,8291 connection-state=new src-address-list=bf-stage1 
    action=add-src-to-address-list address-list=bf-stage2 address-list-timeout=1m
add chain=input protocol=tcp dst-port=22022,8291 connection-state=new 
    action=add-src-to-address-list address-list=bf-stage1 address-list-timeout=1m

Bu kural seti, bir IP’den dakikada 4 üstünde bağlantı denemesi olursa o IP’yi 1 hafta bloklar. Bu kombinasyon, internet’ten gelen brute-force trafiğinin neredeyse tamamını otomatik durdurur.

Guvenlik audit kontrol listesi ve denetim sureci

7. SNMP Sertleştirme

SNMP, ağ monitoring için kullanılır ancak default community “public” ile son derece tehlikelidir. SNMP v1/v2c, plain-text kimlik bilgisi taşır.

/snmp community
remove [find name=public]
add name=read-monitor security=none addresses=10.0.0.50/32 read-access=yes write-access=no

# Tercihen SNMPv3 kullan
/snmp set enabled=yes contact="[email protected]" location="DC1-Rack5"

Best practice: SNMPv3 kullanın, authentication+encryption (authPriv) modunda. SNMPv1/v2c ancak iç güvenli ağda ve sadece read-only ile kullanılabilir.

8. Neighbor Discovery ve Bandwidth Test Kapatma

RouterOS, default olarak komşu cihaz keşfi (Discovery Protocol) ve bandwidth test server özelliklerini açık tutar. Bunlar bir saldırgana hedef hakkında bilgi verir.

# Discovery kapat (sadece guvenli ic interface'lerde acik birak)
/ip neighbor discovery-settings set discover-interface-list=mgmt-only

# Bandwidth test server'i kapat
/tool bandwidth-server set enabled=no

# Romon kapat (eger kullanmiyorsan)
/tool romon set enabled=no

# MAC server kapat
/tool mac-server set allowed-interface-list=none
/tool mac-server mac-winbox set allowed-interface-list=none
/tool mac-server ping set enabled=no

9. Time, NTP ve Logging

Doğru zaman, hem güvenlik logları hem de TLS sertifika doğrulaması için kritik. NTP konfigürasyonu:

/system clock set time-zone-name=Europe/Istanbul
/system ntp client set enabled=yes servers=tr.pool.ntp.org,time.google.com

Logging, saldırı tespitinin temelidir. Yerel disk yeterli değildir; mutlaka remote syslog gerekir:

/system logging action
add name=remote-syslog target=remote remote=10.0.0.100 remote-port=514

/system logging
add topics=info action=remote-syslog
add topics=warning action=remote-syslog
add topics=error action=remote-syslog
add topics=firewall action=remote-syslog
add topics=system,account action=remote-syslog

Best practice: log’lar SIEM’e (Splunk, Elastic, Graylog) gönderilmeli ve şu olaylar için alarm tanımlanmalı:

  • Login attempts (başarılı/başarısız)
  • Kullanıcı oluşturma/silme/değiştirme
  • Firewall kural değişiklikleri
  • Sertifika import/export
  • Pakete update’ler
  • Reboot’lar

10. WAN Tarafında Dropped Traffic Politikası

WAN tarafında gelen tüm bilinen-kötü, bogon ve internal range trafiği erken drop edilmelidir. Bunun için raw chain kullanılır:

/ip firewall address-list
add list=bogons address=0.0.0.0/8
add list=bogons address=10.0.0.0/8
add list=bogons address=100.64.0.0/10
add list=bogons address=127.0.0.0/8
add list=bogons address=169.254.0.0/16
add list=bogons address=172.16.0.0/12
add list=bogons address=192.0.0.0/24
add list=bogons address=192.0.2.0/24
add list=bogons address=192.168.0.0/16
add list=bogons address=198.18.0.0/15
add list=bogons address=198.51.100.0/24
add list=bogons address=203.0.113.0/24
add list=bogons address=224.0.0.0/4
add list=bogons address=240.0.0.0/4

/ip firewall raw
add chain=prerouting action=drop in-interface=ether1-wan src-address-list=bogons 
    comment="Drop bogons from WAN"

11. IPv6 Sertleştirme

IPv6 desteği aktif olduğunda, IPv4 için yaptığınız hardening’i IPv6 için de tekrarlamak gerekir. Tipik bir hata: IPv4 firewall titiz, ancak IPv6 trafiği için hiçbir kural yok. Sonuç olarak cihaz tüm yönetim servisleri IPv6 üzerinden internete açık.

/ipv6 firewall filter
add chain=input action=accept connection-state=established,related
add chain=input action=drop connection-state=invalid
add chain=input action=accept src-address-list=admin-trusted-v6 protocol=tcp dst-port=22022,8291,443
add chain=input action=accept protocol=icmpv6 limit=10,20:packet
add chain=input action=drop log=yes log-prefix="INPUT-V6-DROP"

12. DNS Sertleştirme

RouterOS’un DNS server’ı, default olarak public erişime kapalıdır ancak yanlış konfigürasyon DNS amplification saldırılarına aracı olabilir.

/ip dns set allow-remote-requests=no
/ip dns set servers=1.1.1.1,8.8.8.8 use-doh-server="https://cloudflare-dns.com/dns-query" verify-doh-cert=yes

DNS over HTTPS (DoH) kullanmak, DNS sorgularını şifreler ve ISP’nin görmesini engeller. Kritik altyapılarda önerilir.

13. Sertifika Yönetimi

Cihazın HTTPS yönetim arayüzü ve API SSL servisleri için valid sertifika kullanmak gerekir. Self-signed sertifikalar tarayıcıda uyarı verir ve admin’in “uyarıyı geç” alışkanlığı kazanmasına neden olur.

/certificate
import file=letsencrypt-cert.pem
import file=letsencrypt-key.pem

/ip service set www-ssl certificate=letsencrypt-cert
/ip service set api-ssl certificate=letsencrypt-cert

Let’s Encrypt sertifikalarının 90 günlük geçerliliği vardır; otomatik renewal scripti yazmak best practice’dir.

Sifreleme anahtari ve veri koruma kavramsal gorseli

14. Backup ve Disaster Recovery

Cihaz kompromize edildiğinde veya arızalandığında hızla geri dönmek için sistematik backup planı:

/system scheduler
add name=daily-backup interval=1d start-time=03:00 on-event=":do { 
    /system backup save name=("backup-" . [/system clock get date]); 
    /export file=("export-" . [/system clock get date]); 
    /tool fetch upload=yes url="ftp://backup-server/mikrotik/" 
        src-path=("backup-" . [/system clock get date] . ".backup") 
        user=backup password=backuppassword; 
}"

Backup’lar harici, immutable bir konuma alınmalıdır. Cihaz üzerinde tutulan backup, ransomware durumunda işe yaramaz.

15. RouterOS Container ve Script Güvenliği

RouterOS 7.x ile birlikte container desteği geldi. Bu güzel bir feature ancak yeni saldırı yüzeyi de açar. Container’ları çalıştırırken:

  • Sadece güvendiğin image’ları kullan (Docker Hub’dan random image çekme)
  • Container’lara minimum kaynak ata (RAM, CPU limit)
  • Container ağı, ana yönetim ağından izole olmalı
  • Log container çıkışlarını syslog’a yönlendir

Scripts da kontrol edilmeli. Tipik script bypass tekniği: bir saldırgan scheduler’a kendi scriptini ekler. Periyodik /system script print ve /system scheduler print ile beklenmedik kayıtlar arayın.

16. Hardening Senaryosu: Saldırı Simülasyonu

Hardening’i bitirdikten sonra, kendi cihazınıza karşı basit bir penetrasyon testi yapın. Bir Kali VM’de:

# Port scan
nmap -sV -p 1-65535 router-ip

# SSH brute-force test (Hydra ile)
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://router-ip:22022

# Winbox port test
nmap -sV -p 8291 router-ip

# SNMP enumeration
snmpwalk -v2c -c public router-ip

Eğer hardening doğru yapılmışsa:

  • nmap, sadece beklenen portları (22022, 8291, 443) ve sadece trust edilen IP’lerden görür
  • hydra denemesi 4 denemede otomatik bloklanır (bf-blacklist kuralı)
  • snmpwalk, “public” community ile başarısız olur
  • WAN tarafından scan deneyince hiçbir port görünmez

17. Compliance ve Audit

Kurumsal ortamlarda hardening, sadece teknik bir konu değil compliance gereksinimidir. ISO 27001, PCI-DSS, NIST CSF gibi standartlar şu kontrolleri arar:

  • Privileged access management (PAM) entegrasyonu
  • Account lifecycle yönetimi
  • Change management süreci
  • Periodic configuration audit
  • Vulnerability scanning ve patch cycle
  • Incident response prosedürleri

MikroTik’in NetXMS, LibreNMS, Zabbix gibi monitoring araçlarıyla entegre edilmesi, bu kontrolleri sürdürülebilir hale getirir.

Hardening Kontrol Listesi: Tek Bakışta Özet

  1. RouterOS long-term güncel sürümde
  2. Default admin disable, kendi kullanıcın oluşturuldu
  3. Parola minimum 20 karakter, parola yöneticisinde saklı
  4. Telnet, FTP, WWW (HTTP) servisleri disable
  5. SSH port değiştirildi, public key auth aktif
  6. Winbox MAC server kapatıldı
  7. Tüm yönetim servisleri IP whitelist’li
  8. Firewall filter ile çift katman erişim kontrolü
  9. Brute-force stage pattern aktif
  10. SNMP v3 ile authentication+encryption
  11. Discovery ve bandwidth test server kapalı
  12. NTP server tanımlı, doğru timezone
  13. Remote syslog konfigüre, SIEM’e gönderim aktif
  14. WAN tarafından bogon drop kuralları
  15. IPv6 firewall politikası IPv4 ile aynı titizlikte
  16. DNS allow-remote-requests=no
  17. Valid SSL sertifikası kuruldu
  18. Otomatik günlük backup harici depoya
  19. Container ve script audit’leri periyodik
  20. Penetration test ile doğrulandı

Hardening Sonrası Monitoring: Saldırıyı Görmek

Hardening tek başına yeterli değildir; saldırı denemelerini görmek için aktif monitoring gerekir. MikroTik üzerinde aşağıdaki metrikler düzenli izlenmelidir:

  • Drop log frequency: Saatte kaç paket drop ediliyor? Aniden artış volumetric atak göstergesidir.
  • address-list growth: bf-blacklist büyüme hızı brute-force trendini gösterir.
  • CPU ve memory: Anormal CPU artışı yeni bir bağlantı flood’unu işaret edebilir.
  • Active connection count: Conntrack tablosu beklenmedik şekilde büyüyorsa scan veya DoS yaşanıyor olabilir.
  • Login attempts: Başarılı/başarısız login denemeleri.

Bu metriklerin grafiklere dönüştürülmesi için LibreNMS, Zabbix veya Grafana + InfluxDB kombinasyonu önerilir. Anomali tespiti için temel statik eşikler (örneğin “saatlik drop count > 1000 ise alarm”) yeterlidir; ancak ML tabanlı baseline detection daha hassas alarm üretir.

Insider Threat ve Privilege Separation

Hardening sadece dış saldırılara karşı değildir. İç tehditler de eşit derecede önemlidir. MikroTik’te tüm yönetim erişimleri “full” grubuyla yapılmamalı; rol bazlı kullanıcı grupları oluşturulmalıdır:

/user group
add name=monitor-only policy=read,test,winbox,api,sniff,!ftp,!password,!policy,!sensitive,!web
add name=netops policy=read,write,policy,winbox,api,test,!ftp,!password,!sensitive,!web
add name=auditor policy=read,winbox,api,!ftp,!password,!policy,!sensitive,!web

/user
add name=monitor1 group=monitor-only password="..." address=10.0.0.50
add name=netops1 group=netops password="..." address=10.0.0.10
add name=audit1 group=auditor password="..." address=10.0.0.60

Bu yapı sayesinde “monitor” rolündeki ekip elemanı sadece read yapar, “netops” değişiklik yapabilir, “auditor” config’leri inceler ama değiştiremez. Privilege creep önlenmiş olur.

Sıkça Sorulan Sorular

Hardening sonrası performans düşer mi?

Çoğu kural marjinal CPU yükü yaratır. Fark, brute-force atak veya volumetric saldırı altında ortaya çıkar; bu durumda hardening yapılmış cihaz çalışmaya devam ederken yapılmamış cihaz çöker.

Cihazımı zaten internete açtım, hardening’e başlamadan ne yapmalıyım?

Acil olarak: parolayı değiştirin, tüm aktif user session’larını sonlandırın, son 30 günün log’larına bakıp şüpheli aktivite arayın, eğer kompromize belirtisi varsa fabrika reset yapıp temizden başlayın.

Misafir Wi-Fi için ayrı sertleştirme gerekir mi?

Evet. Guest VLAN’ı tamamen yönetim ağından izole edin, IoT cihazlardan ayrı tutun, internete-only erişim verin, bandwidth limit uygulayın.

RouterOS 7 hardening farklı mı?

Temel prensipler aynı. Yenilikler: container hardening, WireGuard VPN ile site-to-site, yeni LDAP entegrasyon seçenekleri. Eski 6.x’tan gelen kuralların büyük çoğunluğu çalışır.

Hardening hatasını nasıl test ederim?

Periyodik penetration test (en az yılda bir), vulnerability scanner kullanımı (Nessus, OpenVAS), config audit araçları (NIPPER) ve manuel review. Ayrıca STIG benzeri MikroTik hardening rehberleri (Tiknetwork, Mansis vb.) ile karşılaştırma yapılabilir.

Sonuç

MikroTik hardening, tek seferlik bir iş değil sürekli bir disiplindir. Bu yazıdaki 20 maddelik kontrol listesi, cihazınızın saldırı yüzeyini %80-90 oranında küçültür ve internetten gelen otomatik saldırıların büyük çoğunluğunu durdurur. Ancak hardening’in gerçek değeri, periyodik audit, log monitoring ve incident response süreçleri ile birleştiğinde ortaya çıkar. Bir cihazı sertleştirmek bir defaya mahsus bir konfigürasyon değildir; sürekli bir güvenlik kültürünün cihaza yansımasıdır. Bu rehberi uyguladıktan sonra cihazınızı kendi başınıza penetration test edin, sonuçlardan öğrenin, ve düzenli olarak (en az 6 ayda bir) bu kontrol listesini tekrar gözden geçirin. Güvenlik, yapılan bir iş değil yaşanan bir süreçtir.

Bu Konuda Daha Fazla

Konuyu daha geniş ele almak için aşağıdaki yazılarımıza da göz atabilirsiniz: TCP Flood Saldırıları: MikroTik 3 Katmanlı Savunma; MikroTik Firewall Mimarisinin Detayları: Chain, Action, Connection-State ve Best Practice; Firewall Nedir? Tarihçesinden Modern Uygulamalarına Kavramsal Rehber; Firewall Türleri Karşılaştırması: Packet Filter, Stateful, Proxy, NGFW ve WAF.


Kaynaklar ve Daha Fazla Bilgi

Bu yazıdaki konuları derinleştirmek için aşağıdaki otoriter kaynaklara başvurabilirsiniz:

Mikrotikbox

Her projede size özel çözümler

Her projede size özel çözümler

Müşterilerimizin ihtiyaçlarını en üst düzeyde karşılamak için her projeye mükemmeliyetçi bir anlayışla yaklaşıyoruz. Teknolojinin en yeni ve en güçlü araçlarını kullanarak, her adımda kaliteyi ve verimliliği ön planda tutuyoruz. Bu sayede, standart çözümler yerine her müşterimize özel, ihtiyaçlarına tam anlamıyla uygun ve uzun vadeli başarı sağlayacak projeler geliştiriyoruz. Yenilikçi düşünce yapımız ve titiz çalışma prensiplerimizle, beklentileri aşan sonuçlar sunmayı hedefliyoruz.