MikroTik Firewall: Üretim Ortamında Mutlaka Olması Gereken 12 Kural ve Otomasyonu
MikroTik Firewall: Üretim Ortamında Mutlaka Olması Gereken 12 Kural ve Otomasyonu

Bir MikroTik router’ı production ortamına çıkarmadan önce uygulanması kesinlikle gereken firewall kuralları vardır. Bu kuralların listesi, web’de “top 10 MikroTik firewall tips” başlığıyla yıllardır dolaşır; ancak ben bu yazıda biraz daha ileri gitmek istiyorum. 10 değil 12 kural, her biri için neden gerekli olduğu, hangi senaryoda devreye girdiği, hangi performans etkisi olduğu ve otomatize edilebilir bir script versiyonu. Bu yazı bir referans checklist olarak tasarlandı; her yeni router deployment’ınızda bu 12 kuralı kontrol edebilirsiniz.
Sekiz yıllık DevOps deneyimimde MikroTik fleet’lerini birçok kez gözden geçirdim. Bir router’ın “production-ready” sayılabilmesi için bu 12 kuralın her birinin uygulanmış olması gerekir. Aksi takdirde router internet’e çıktığı andan itibaren saldırı yüzeyi açıktır. İyi haber: tümü bash veya Ansible ile bir dakikada uygulanabilir; sadece disiplin meselesi.
Kural 1: Default Drop Politikası (Input + Forward)
Ne işe yarar: Açıkça izin verilmeyen her şeyi reddeder. Whitelist mantığı; “ne olduğunu bilmediğimiz” trafik geçemez.
Neden gerekli: RouterOS default chain policy “accept”tir. Yani unutulan tek bir port veya yanlış yazılmış tek bir kural, tüm trafiği açabilir. Default drop, network güvenliğinin temel prensibi olan “deny by default”un MikroTik üzerinde tek satırlık uygulamasıdır.
/ip firewall filter
add chain=input action=drop log=yes log-prefix="INPUT-DROP" place-before=[:pick [find] 0]
add chain=forward action=drop log=yes log-prefix="FORWARD-DROP" place-before=[:pick [find] 0]Script versiyonu:
#!/bin/bash
# default_drop.sh - Ensure default drop is at end of input/forward chains
ROUTER=$1
ssh admin@$ROUTER <<'EOF'
/ip firewall filter remove [find comment="auto-default-drop"]
/ip firewall filter add chain=input action=drop log=yes log-prefix="INPUT-DROP" comment="auto-default-drop"
/ip firewall filter add chain=forward action=drop log=yes log-prefix="FORWARD-DROP" comment="auto-default-drop"
EOFKural 2: Conntrack Established/Related Accept (En Üstte)
Ne işe yarar: Zaten kurulmuş bağlantılara ait paketleri hızlıca geçirir. Performans için kritik; her yeni paket için tüm kural setini taramak zorunda kalmaz.
Neden gerekli: Connection-tracking sayesinde “outbound bir istek attım, response’u izin ver” mantığı çalışır. Bu kural en üstte olmalıdır; tüm trafiğin %95’i bu kuralla eşleşir, geri kalan kurallara hiç gitmez.
/ip firewall filter
add chain=input action=accept connection-state=established,related comment="auto-conntrack-input"
add chain=forward action=accept connection-state=established,related comment="auto-conntrack-fwd"
add chain=input action=drop connection-state=invalid comment="auto-invalid-drop"
add chain=forward action=drop connection-state=invalid comment="auto-invalid-fwd"Established/related accept’in yanına invalid drop kuralını eklemek de kritiktir. Invalid state’teki paketler bozuk veya tampered packetlerdir; conntrack’in tanımadığı kombinasyonlar.
Kural 3: RFC1918 Bogon Source Drop (WAN’da)
Ne işe yarar: Internet üzerinden gelen ve kaynak adresi private IP (10.0.0.0/8, 192.168.0.0/16 vb.) olan paketleri düşürür.
Neden gerekli: Bu paketler illa kötü niyetli değildir ama internet’ten gelmemeleri gerekir. ISP’iniz bu paketleri normalde filtrelemiş olmalıdır ancak kendi savunma katmanınız olmalı (defense in depth). Spoofed source attack’larının ana göstergesidir.
/ip firewall address-list
add list=bogon address=0.0.0.0/8
add list=bogon address=10.0.0.0/8
add list=bogon address=100.64.0.0/10
add list=bogon address=127.0.0.0/8
add list=bogon address=169.254.0.0/16
add list=bogon address=172.16.0.0/12
add list=bogon address=192.0.0.0/24
add list=bogon address=192.0.2.0/24
add list=bogon address=192.168.0.0/16
add list=bogon address=198.18.0.0/15
add list=bogon address=198.51.100.0/24
add list=bogon address=203.0.113.0/24
add list=bogon address=224.0.0.0/4
add list=bogon address=240.0.0.0/4
/ip firewall raw
add chain=prerouting action=drop in-interface=ether1 src-address-list=bogon
comment="auto-bogon-wan"Otomasyon notu: Tam ve güncel bogon listesi Team Cymru’nun sunduğu otomatik feed’lerden çekilebilir; statik tutmak yerine cron ile günde bir kez güncellenebilir.
Kural 4: ICMP Throttle ve Selective Allow
Ne işe yarar: ICMP’yi tamamen kapatmaz (Path MTU discovery ve ağ tanılama için gerekli) ama rate-limit uygular ve sadece güvenli ICMP type’larına izin verir.
Neden gerekli: ICMP flood attack basit ama etkilidir. Aynı zamanda “ping olduğu için drop” yaklaşımı modern bir hata; PMTU discovery için ICMP gerekir, yoksa fragmentation sorunları yaşanır.
/ip firewall filter
# Allow safe ICMP types with rate limit
add chain=input protocol=icmp icmp-options=0:0 limit=5,5:packet action=accept comment="auto-icmp-echo-reply"
add chain=input protocol=icmp icmp-options=3:0-1 limit=5,5:packet action=accept comment="auto-icmp-unreach"
add chain=input protocol=icmp icmp-options=8:0 limit=5,5:packet action=accept comment="auto-icmp-echo-req"
add chain=input protocol=icmp icmp-options=11:0 limit=5,5:packet action=accept comment="auto-icmp-time-exceed"
add chain=input protocol=icmp action=drop comment="auto-icmp-other-drop"limit=5,5:packet saniyede maksimum 5 paket, burst 5. Bu, ping flood’unu durduurur ama normal kullanımı bozmaz.
Kural 5: SSH/Winbox Brute Force Adaptive Block
Ne işe yarar: Tekrarlanan SSH veya Winbox bağlantı denemelerini tespit eder, kaynak IP’yi otomatik bloklar.
Neden gerekli: Public IP’li bir MikroTik’in SSH portu (22) ve Winbox portu (8291) saniyeler içinde brute force scanner’lar tarafından bulunur. Pasif önlem yetmez; saldırganın IP’sini öğrenip bloklamak gerekir.
/ip firewall filter
# Stage 3: blocked
add chain=input protocol=tcp dst-port=22,8291 connection-state=new
src-address-list=mtk-blk3 action=drop comment="auto-bf-blocked"
# Stage 2 -> 3
add chain=input protocol=tcp dst-port=22,8291 connection-state=new
src-address-list=mtk-blk2 action=add-src-to-address-list
address-list=mtk-blk3 address-list-timeout=30d comment="auto-bf-3rd"
# Stage 1 -> 2
add chain=input protocol=tcp dst-port=22,8291 connection-state=new
src-address-list=mtk-blk1 action=add-src-to-address-list
address-list=mtk-blk2 address-list-timeout=1h comment="auto-bf-2nd"
# Initial attempt
add chain=input protocol=tcp dst-port=22,8291 connection-state=new
action=add-src-to-address-list address-list=mtk-blk1
address-list-timeout=1m comment="auto-bf-1st"Script versiyonu (whitelist enjeksiyonu ile):
#!/bin/bash
# bf_protect.sh - Apply with VIP whitelist
ROUTER=$1
WHITELIST_CIDR=${2:-203.0.113.0/24}
ssh admin@$ROUTER <<EOF
/ip firewall address-list add list=mgmt-whitelist address=$WHITELIST_CIDR
/ip firewall filter add chain=input src-address-list=mgmt-whitelist
protocol=tcp dst-port=22,8291 action=accept place-before=0
comment="auto-mgmt-whitelist"
EOFKural 6: Connection Limit per Source
Ne işe yarar: Bir kaynak IP’den gelen aktif TCP bağlantı sayısını sınırlar.
Neden gerekli: Normal kullanıcı 50-100 paralel bağlantı kullanır (browser + IM + cloud sync). Bir IP’den 200+ bağlantı, ya botnet ya da malware ya da torrent client’ın aşırı agresif yapılandırılması demektir. Her durumda eşik üzerinde davranış incelenmeyi hak eder.
/ip firewall filter
add chain=forward protocol=tcp connection-limit=200,32
action=add-src-to-address-list address-list=conn-flood
address-list-timeout=10m comment="auto-connlimit-detect"
add chain=forward src-address-list=conn-flood action=drop
comment="auto-connflood-drop"Kural 7: TCP Flag Sanity Check
Ne işe yarar: Geçersiz TCP flag kombinasyonlarına sahip paketleri reddeder.
Neden gerekli: XMAS scan, NULL scan, FIN scan gibi reconnaissance teknikleri RFC’ye aykırı flag kombinasyonları kullanır. Bunları drop etmek hem scanner’ları yavaşlatır hem de OS fingerprinting’i zorlaştırır.
/ip firewall filter
add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!ack action=drop comment="auto-tcp-null"
add chain=input protocol=tcp tcp-flags=fin,syn action=drop comment="auto-tcp-fin-syn"
add chain=input protocol=tcp tcp-flags=syn,rst action=drop comment="auto-tcp-syn-rst"
add chain=input protocol=tcp tcp-flags=fin,rst action=drop comment="auto-tcp-fin-rst"
add chain=input protocol=tcp tcp-flags=fin,!ack action=drop comment="auto-tcp-fin-noack"
add chain=input protocol=tcp tcp-flags=fin,urg,psh action=drop comment="auto-tcp-xmas"Kural 8: SYN Flood Defense (SYN Cookies + Rate Limit)
Ne işe yarar: SYN flood saldırılarına karşı çekirdek seviyesinde SYN cookie aktif eder ve yeni SYN paketlerini rate-limit’e tabi tutar.
Neden gerekli: SYN flood, hâlâ en yaygın DDoS vektörlerinden biridir. RouterOS’un kendisi SYN cookies destekler; sadece aktive etmek gerekir.
/ip settings set tcp-syncookies=yes
/ip firewall filter
add chain=input protocol=tcp tcp-flags=syn connection-state=new
limit=400,50:packet action=accept comment="auto-syn-ratelimit"
add chain=input protocol=tcp tcp-flags=syn connection-state=new
action=drop comment="auto-syn-excess-drop"Kural 9: Threat Intel Drop (Dynamic Blacklist)
Ne işe yarar: Bilinen kötü IP’leri (botnet C&C, spammer, malware host) reddeder.
Neden gerekli: Internet’te aktif olan kötü aktörlerin önemli kısmı zaten threat intel feed’lerde listelenmiştir. Bu IP’leri proaktif olarak bloklamak, attack pattern’ler oluşmadan onları durdurur.
/ip firewall raw
add chain=prerouting action=drop src-address-list=ti-spamhaus comment="auto-ti-spamhaus"
add chain=prerouting action=drop src-address-list=ti-feodo comment="auto-ti-feodo"
add chain=prerouting action=drop dst-address-list=ti-spamhaus comment="auto-ti-outbound-spamhaus"Script: Spamhaus DROP otomatik update (RouterOS scheduler içinde):
/system scheduler add name=ti-spamhaus-update interval=1d
on-event={
/tool fetch url=https://www.spamhaus.org/drop/drop.txt dst-path=spamhaus.txt mode=https;
:delay 5s;
/ip firewall address-list remove [find list=ti-spamhaus];
:local content [/file get spamhaus.txt contents];
:foreach line in=[:toarray $content] do={
:if ([:pick $line 0 1] != ";") do={
:local sp [:find $line " "];
:if ($sp > 0) do={
:local cidr [:pick $line 0 $sp];
:if ([:len $cidr] > 6) do={
/ip firewall address-list add list=ti-spamhaus address=$cidr;
};
};
};
};
/file remove spamhaus.txt;
}Kural 10: Port Scan Detection
Ne işe yarar: Çoklu portlara hızlı bağlantı denemesi yapan kaynakları tespit eder.
Neden gerekli: Bir saldırının ilk fazı reconnaissance’tır; saldırgan hangi servislerin açık olduğunu öğrenmek için port scan yapar. Bu fazı tespit edip kaynak IP’yi bloklamak, exploitation fazına gelmeden saldırıyı durdurur.
/ip firewall filter
add chain=input protocol=tcp psd=21,3s,3,1
action=add-src-to-address-list address-list=scanner
address-list-timeout=1d comment="auto-portscan-detect"
# Specific NMAP probe types
add chain=input protocol=tcp tcp-flags=fin,psh,urg
action=add-src-to-address-list address-list=scanner
address-list-timeout=1d comment="auto-nmap-xmas"
add chain=input src-address-list=scanner action=drop comment="auto-scanner-drop"PSD parametresi açıklaması: psd=21,3s,3,1 = 3 saniye içinde 3 düşük port + 1 yüksek port deneyen kaynak = scanner.
Kural 11: RAW Chain ile Erken Bogon ve Volumetric Drop
Ne işe yarar: RAW chain, conntrack tablosuna paket girmeden önce işlenir. Açıkça istenmeyen trafiği en ucuz şekilde düşürür.
Neden gerekli: Yüksek hacimli saldırılarda conntrack tablosu dolar ve router crash’e gidebilir. RAW’da düşürülen paket conntrack’e ulaşmaz; kaynak korunur.
/ip firewall raw
# Drop all ipv4 invalid in raw
add chain=prerouting action=drop in-interface=ether1 src-address-list=bogon
comment="auto-raw-bogon-src"
add chain=prerouting action=drop in-interface=ether1 dst-address-list=bogon
comment="auto-raw-bogon-dst"
# Drop UDP source port 0 (always invalid)
add chain=prerouting action=drop protocol=udp src-port=0 comment="auto-raw-udp-srcport0"
add chain=prerouting action=drop protocol=udp dst-port=0 comment="auto-raw-udp-dstport0"
# Drop ICMP fragmentation (rarely legit, often attack)
add chain=prerouting action=drop protocol=icmp fragment=yes comment="auto-raw-icmp-frag"Kural 12: FastTrack ve Fast Path (Performans)
Ne işe yarar: Established connection’lar için bypass; paket her zaman tüm firewall kurallarından geçmez.
Neden gerekli: Yüksek throughput senaryolarında firewall CPU bottleneck olur. FastTrack ile established paketler kernel fast-path’inden geçer, throughput 2-3x artar. Trade-off: fast-path’teki paketler için DPI/L7 inspection yapılamaz.
/ip settings set ipv4-fast-path=yes
/ip firewall filter
# FastTrack accepted established connections (must be BEFORE accept established)
add chain=forward action=fasttrack-connection connection-state=established,related
place-before=0 comment="auto-fasttrack-fwd"
add chain=input action=fasttrack-connection connection-state=established,related
place-before=0 comment="auto-fasttrack-input"Uyarı: FastTrack kullanıyorsanız, queue tree (QoS), packet mark (mangle) gibi paketin tekrar firewall’a gelmesi gereken işlemler düzgün çalışmayabilir. Senaryonuza göre değerlendirin.
Bonus: Konsolide Bir Otomasyon Script’i
Yukarıdaki 12 kuralı tek seferde uygulayan bir bash + ssh script’i. Bunu Ansible playbook’a, GitLab CI job’una veya cron’a yerleştirebilirsiniz:
#!/bin/bash
# mtk_baseline_fw.sh - Apply all 12 baseline rules
set -euo pipefail
ROUTER=$1
WAN_IF=${2:-ether1}
MGMT_CIDR=${3:-203.0.113.0/24}
cat > /tmp/fw_baseline.rsc <<EOF
# Cleanup any prior auto-* rules to avoid duplicates
/ip firewall filter remove [find comment~"auto-"]
/ip firewall raw remove [find comment~"auto-"]
/ip firewall address-list remove [find comment="auto-mgmt"]
# Address lists
/ip firewall address-list add list=mgmt-whitelist address=$MGMT_CIDR comment="auto-mgmt"
$(for cidr in 0.0.0.0/8 10.0.0.0/8 100.64.0.0/10 127.0.0.0/8 169.254.0.0/16
172.16.0.0/12 192.0.0.0/24 192.168.0.0/16 198.18.0.0/15 224.0.0.0/4 240.0.0.0/4; do
echo "/ip firewall address-list add list=bogon address=$cidr comment=auto-bogon"
done)
# Kural 11: RAW erken drop
/ip firewall raw add chain=prerouting in-interface=$WAN_IF src-address-list=bogon action=drop comment="auto-raw-bogon-src"
/ip firewall raw add chain=prerouting in-interface=$WAN_IF dst-address-list=bogon action=drop comment="auto-raw-bogon-dst"
/ip firewall raw add chain=prerouting protocol=udp src-port=0 action=drop comment="auto-raw-udp-srcport0"
# Kural 12: FastTrack
/ip firewall filter add chain=forward action=fasttrack-connection connection-state=established,related comment="auto-fasttrack-fwd"
/ip firewall filter add chain=input action=fasttrack-connection connection-state=established,related comment="auto-fasttrack-in"
# Kural 2: Conntrack
/ip firewall filter add chain=input action=accept connection-state=established,related comment="auto-conntrack-in"
/ip firewall filter add chain=forward action=accept connection-state=established,related comment="auto-conntrack-fwd"
/ip firewall filter add chain=input action=drop connection-state=invalid comment="auto-invalid-in"
/ip firewall filter add chain=forward action=drop connection-state=invalid comment="auto-invalid-fwd"
# Kural 4: ICMP
/ip firewall filter add chain=input protocol=icmp limit=10,5:packet action=accept comment="auto-icmp-rate"
/ip firewall filter add chain=input protocol=icmp action=drop comment="auto-icmp-excess"
# Kural 7: TCP flag sanity
/ip firewall filter add chain=input protocol=tcp tcp-flags=fin,syn action=drop comment="auto-tcp-fin-syn"
/ip firewall filter add chain=input protocol=tcp tcp-flags=fin,!ack action=drop comment="auto-tcp-fin-noack"
# Kural 8: SYN flood
/ip settings set tcp-syncookies=yes
/ip firewall filter add chain=input protocol=tcp tcp-flags=syn connection-state=new limit=400,50:packet action=accept comment="auto-syn-rate"
/ip firewall filter add chain=input protocol=tcp tcp-flags=syn connection-state=new action=drop comment="auto-syn-excess"
# Kural 5: SSH brute force
/ip firewall filter add chain=input src-address-list=mgmt-whitelist protocol=tcp dst-port=22,8291 action=accept comment="auto-mgmt-allow"
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291 connection-state=new src-address-list=mtk-blk3 action=drop comment="auto-bf-blocked"
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291 connection-state=new src-address-list=mtk-blk2 action=add-src-to-address-list address-list=mtk-blk3 address-list-timeout=30d comment="auto-bf-3rd"
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291 connection-state=new src-address-list=mtk-blk1 action=add-src-to-address-list address-list=mtk-blk2 address-list-timeout=1h comment="auto-bf-2nd"
/ip firewall filter add chain=input protocol=tcp dst-port=22,8291 connection-state=new action=add-src-to-address-list address-list=mtk-blk1 address-list-timeout=1m comment="auto-bf-1st"
# Kural 6: Connection limit
/ip firewall filter add chain=forward protocol=tcp connection-limit=200,32 action=add-src-to-address-list address-list=conn-flood address-list-timeout=10m comment="auto-connlimit"
/ip firewall filter add chain=forward src-address-list=conn-flood action=drop comment="auto-connflood-drop"
# Kural 10: Port scan
/ip firewall filter add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list=scanner address-list-timeout=1d comment="auto-portscan"
/ip firewall filter add chain=input src-address-list=scanner action=drop comment="auto-scanner-drop"
# Kural 1: Default drop (en sonda)
/ip firewall filter add chain=input action=drop log=yes log-prefix="INPUT-DROP" comment="auto-default-in"
/ip firewall filter add chain=forward action=drop log=yes log-prefix="FORWARD-DROP" comment="auto-default-fwd"
EOF
scp /tmp/fw_baseline.rsc admin@$ROUTER:/
ssh admin@$ROUTER "/import fw_baseline.rsc"
echo "Baseline applied on $ROUTER"Tek komut, 12 kural, 1 router. Fleet için for loop:
for r in $(cat routers.txt); do
./mtk_baseline_fw.sh $r ether1 203.0.113.0/24
doneKural Sırası: Critically Important
Yukarıdaki kuralların sırası önemlidir. RouterOS firewall kuralları top-to-bottom işler, ilk match kuralı uygulanır. Önerilen sıra:
- FastTrack (en üst, established için)
- Conntrack established/related accept
- Invalid drop
- Management whitelist (WAN’da SSH/Winbox için)
- ICMP rate limit + accept
- TCP flag sanity drops
- SYN flood limit
- SSH/Winbox brute force adaptive
- Port scan detection
- Connection limit
- Custom service accept (HTTP, HTTPS, custom)
- Default drop (en altta)
Yanlış sıra örneği: default drop’u en üstte koymak, hiç bir kuralın çalışmamasına yol açar. Bu basit ama yıkıcı hata, otomatik olmayan deployment’larda sıklıkla görülür.
Test ve Doğrulama
Kuralları push ettikten sonra:
# Dış IP'den scan testi (üçüncü taraf VPS'ten)
nmap -Pn -p 22,80,443,8291 router.example.com
# Kural counter'ları
/ip firewall filter print stats where comment~"auto-"
# Drop loglarını kontrol et
/log print where topics~"firewall" follow
# Active address-list entries
/ip firewall address-list print where dynamic=yesBeklenen: yetkisiz dış IP’lerden gelen port denemeleri scanner list’e düşer, bir süre sonra drop kuralları stats sayacı artar. Hiçbir şey olmuyorsa ya kurallar yanlış yerde ya da WAN interface ismi farklı.
Monitoring: Bu 12 Kuralı Görselleştirmek
Prometheus + mikrotik-exporter ile firewall counter’ları metrik haline gelir. Grafana dashboard’da gösterilecek temel paneller:
- Drop rate per rule (her kuralın saniyede kaç paket düşürdüğü)
- Top 10 source IPs in scanner list
- Top 10 banned IPs in mtk-blk3
- SYN flood detection events
- FastTrack ratio (toplam paket / fasttrack paket)
Alert örnekleri:
- Drop rate normal seviyenin 5x üzerinde 5 dakikadan fazla = potansiyel DDoS
- Scanner list 30 dakika içinde 100+ entry = orchestrated reconnaissance
- Brute force list (mtk-blk3) 24 saatte 50+ yeni entry = aktif saldırı kampanyası
Sık Sorulan Sorular
12 kural yeterli mi yoksa daha mı eklemeliyim?
Bu 12 kural minimum baseline’dır. İhtiyaca göre eklenecekler: VPN portlarını sadece whitelist’e açma, HTTP/HTTPS L7 filter, geo-IP block, custom DPI kuralları. Ama bu 12 kural olmadan diğerleri eklemek anlamsızdır; foundation’ı kuruyorsunuz.
FastTrack ile QoS aynı anda çalışır mı?
Çelişirler. FastTrack’lenen paketler queue tree ve mangle marking’i bypass eder. Hem QoS hem yüksek throughput istiyorsanız, FastTrack’i sadece spesifik trafik tipleri için seçici uygulayın (örneğin sadece office LAN’dan gelen established trafiği fasttrack et, guest WiFi’yi etme).
Brute force protection meşru kullanıcıyı bloklar mı?
Meşru kullanıcı şifresini 3 kez yanlış girerse evet, 1 saat bloklanır. Pratik öneri: VIP/staff IP’lerini mgmt-whitelist’e ekleyin, böylece brute force protection bypass edilir. SSH key tabanlı auth zorunlu kılınmalı; bu durumda şifre denemeleri zaten olmaz.
RAW chain ne kadar paket düşürebilir?
RB5009 üzerinde RAW chain ile saniyede 10+ milyon paket drop edebilir. Conntrack’ten geçen aynı paket için bu sayı 100K civarındadır. Yani volumetric attack defense için RAW kullanmak zorunluluktur.
Threat intel feed’ler false positive üretir mi?
Evet, özellikle agresif feed’ler (CINS Army, FireHOL lvl4+). Önce log-only ile test edin, drop kararı vermeden önce 1-2 hafta gerçek trafikle çalıştırın. Spamhaus DROP ise neredeyse hiç false positive üretmez; production’da güvenle drop yapılabilir.
Bu kuralları RouterOS 6 ve 7’de kullanabilir miyim?
Çoğu kural her iki sürümde de çalışır. Farklar: RouterOS 7 syntax bazı yerlerde değişti (örneğin /ip firewall yerine /ip/firewall), ipv4-fast-path 7.x’te eklendi. Production öncesi syntax check yapın.
Default drop politikası uygulayınca lockout olabilir miyim?
Evet, bu en yaygın hatadır. Önce mgmt-whitelist kuralını ekleyin (kendi IP’nizi accept ile), sonra default drop’u uygulayın. İlla console (serial) erişimini bir yerde hazır tutun; networkten kilitlenirseniz fiziksel kabloyla kurtarırsınız.
Sonuç
Bu 12 kural, MikroTik router’ınızı üretim ortamında savunulabilir hale getirmenin minimum gerekliliğidir. Hepsini otomatize edebilirsiniz; manuel girilen kurallar tutarsızlık üretir, otomatize edilenler 50 router’da aynı şekilde çalışır. Yukarıdaki script’i Ansible playbook’a, CI/CD pipeline’a veya basit bir cron job’a koyun; her yeni router deploy’unda otomatik uygulansın. Güvenliğin temel ilkesi tutarlılıktır; tutarlılığın temel ilkesi otomasyondur. Bir sonraki yazıda bu baseline’ın üzerine intermediate katman olarak L7 filtering, DPI ve adaptive QoS ekleyeceğiz.
Sahaya Yansıyan İlgili İçerikler
Konuyla bütünleşik olarak okumanızı önerdiğimiz içerikler: MikroTik Firewall Mimarisinin Detayları: Chain, Action, Connection-State ve Best Practice; Next-Generation Firewall (NGFW) 2026: App-ID, IPS, SSL Inspection ve MikroTik'in Konumu; Firewall Türleri Karşılaştırması: Packet Filter, Stateful, Proxy, NGFW ve WAF; Sunucu Önünde MikroTik: DDoS Mitigation, Rate Limit ve Geo-IP Filtreleme Mimarisi; Firewall'lar Paketleri Nasıl İnceler? Connection Tracking, Stateful Inspection ve DPI.
Kaynaklar ve Daha Fazla Bilgi
Bu yazıdaki konuları derinleştirmek için aşağıdaki otoriter kaynaklara başvurabilirsiniz:
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.








