MikroTik Layer 7 Protocol Filtering: Uygulama Katmanı Trafik Tanıma ve Engelleme
MikroTik Layer 7 Protocol Filtering: Uygulama Katmanı Trafik Tanıma ve Engelleme

Layer 7 filtreleme, MikroTik’in en az anlaşılan ama bazı senaryolarda hayat kurtaran özelliklerinden biri. Klasik firewall’lar paketin sadece L3-L4 başlıklarına bakar; L7 filtreleme ise paketin “payload” kısmına, yani uygulama verisine bakar. Bu sayede BitTorrent, VPN protokolleri veya belirli URL desenlerini paket içeriğinden tanımlayabilirsiniz. Bu yazıda MikroTik üzerinde L7 protocol filtering’in nasıl çalıştığını, sınırlarını, performans etkilerini ve gerçek kullanım senaryolarını detaylıca ele alacağım. Önceden uyarayım: L7 filtreleme her zaman doğru çözüm değildir; ne zaman kullanmamak gerektiğini de açıkça anlatacağım.
L7 Filtering Nasıl Çalışır?
MikroTik’in L7 protocol matcher’ı regex (regular expression) tabanlıdır. Bir paketin payload kısmında belirlediğiniz regex deseni eşleşirse, o paket “match” olur ve istediğiniz aksiyon (drop, log, mark) uygulanır.
Önemli bir teknik nokta: L7 matcher sadece TCP ve UDP bağlantılarının ilk 10 paketi (veya ilk 2 KB) içinde arar. Bağlantı kurulduktan sonra L7 matcher devreden çıkar. Bu, performans optimizasyonu içindir; her paketi taramak gerçekçi değildir.
Bir L7 protocol tanımı şu yapıdadır:
/ip firewall layer7-protocol
add name=youtube regexp="^.+(youtube.com|youtu.be).+$"Sonra bu tanım firewall kuralında match olarak kullanılır:
/ip firewall filter
add chain=forward layer7-protocol=youtube action=drop
comment="Block YouTube"L7’nin Gerçek Sınırları
Bu noktada açık konuşmam gerekiyor: 2026 itibarıyla L7 filtering’in birçok kullanım senaryosu artık çalışmaz. Sebebi basit: HTTPS. Modern web trafiğinin %95’inden fazlası şifrelidir. L7 matcher payload’a baktığında sadece şifrelenmiş bayt görür; URL veya domain bilgisi yoktur.
Çalışan senaryolar:
- DNS sorguları (UDP 53, şifresiz olduğu için)
- HTTP (artık çok az kullanılıyor, çoğu site HTTPS’ye geçti)
- SNI (TLS handshake’inin başında domain bilgisi clear-text olarak görünür — bu da TLS 1.3 + ECH ile şifrelenecek)
- BitTorrent (paket imzaları belirgindir)
- Bazı VPN protokolleri (OpenVPN imza desenleri)
- Belirli oyun protokolleri
Çalışmayan senaryolar:
- HTTPS web sitesi filtreleme (Facebook, YouTube vb)
- End-to-end şifreli mesajlaşma uygulamaları (WhatsApp, Signal)
- QUIC trafiği (HTTP/3’ün altyapısı, şifrelidir)
- Modern VPN’ler (WireGuard, Tailscale)
L7’nin Tarihsel Konumu
L7 filtering 2000’li yılların ortasında ortaya çıktı. O zamanlar internetin büyük çoğunluğu şifresizdi; HTTP üzerinden istek yapan bir kullanıcının trafiğine bakarak hangi siteye gittiğini kolayca anlayabiliyordunuz. L7 matcher’lar (örneğin l7-filter Linux projesi) WISP operatörlerine güçlü içerik kontrol yetenekleri verdi. P2P uygulamaları, oyun protokolleri, hatta belirli zararlı yazılım imzaları paketten okunabiliyordu.
Bu döneme “altın çağ” denebilir; ama 2010’dan itibaren HTTPS yaygınlaşmaya başladı. 2014’te Google “HTTPS by default” politikasıyla tüm web’i şifreli hale getirme yolunda kararlı adımlar attı. 2020’ye gelindiğinde web trafiğinin %90’ından fazlası şifrelenmişti. L7 matcher’ın “ben payload’a bakarım” prensibi temelinde sarsıldı.
2026 itibarıyla L7 hâlâ MikroTik gibi açık kaynak/yerli üreticilerde mevcut; ama büyük ticari NGFW üreticileri uzun zamandır farklı yollara yöneldi: TLS interception (man-in-the-middle inspection), agent-based endpoint security, DNS-layer filtering, ve AI tabanlı davranış analizi. MikroTik bu evrimin gerisinde kaldı; tarafsız konuşmak gerekirse, MikroTik’in NGFW dünyasına ciddi bir alternatif olarak konumlanmasının önündeki en büyük engel L7/DPI yeteneklerinin sınırlı kalmasıdır.
Doğru Senaryolar İçin Pratik L7 Kuralları
Senaryo 1: BitTorrent Trafiğini Tespit Etmek
BitTorrent client’ları belirli paket desenleri kullanır. Bunları tanımak görece kolaydır:
/ip firewall layer7-protocol
add name=bittorrent regexp="^(x13bittorrent protocol|azverx01$|get /scrape?info_hash=get /announce?info_hash=|get /client/bitcomet/|GET /data?fid=)|d1:ad2:id20:|x08'7P)[RP]"Sonra mangle ile işaretleyip queue’ya yönlendirebilir veya drop edebilirsiniz:
/ip firewall mangle
add chain=forward layer7-protocol=bittorrent action=mark-connection
new-connection-mark=bt-conn passthrough=yesİşaretlenmiş bağlantılar daha sonra queue tree ile yavaşlatılabilir veya tamamen engellenebilir.
Senaryo 2: DNS Tabanlı Domain Engelleme
HTTPS trafiğine baktığımızda payload göremesek de, DNS sorguları hâlâ büyük ölçüde şifresizdir. DNS-over-HTTPS (DoH) yaygınlaşıyor ama hâlâ varsayılan değil. DNS payload’unda domain adı clear-text görünür:
/ip firewall layer7-protocol
add name=dns-tiktok regexp="^.+(tiktok.com|tiktokcdn.com).+$"
/ip firewall filter
add chain=forward layer7-protocol=dns-tiktok protocol=udp dst-port=53
action=drop comment="Block TikTok DNS"Bu yöntem etkili olabilir ama kullanıcı 1.1.1.1 veya 8.8.8.8 gibi public DNS’lere DoH ile bağlanırsa atlanır. Tam koruma için DNS isteklerini sadece kendi router DNS’inize zorlamanız gerekir.
Senaryo 3: SNI Tabanlı Engelleme
TLS handshake sırasında istemci, hangi sunucuya bağlanmak istediğini SNI (Server Name Indication) alanında clear-text gönderir. Bu, hâlâ filtreleme için kullanılabilir:
/ip firewall layer7-protocol
add name=sni-facebook regexp="^.{1,16}(facebook|fbcdn|fbsbx).com"
/ip firewall filter
add chain=forward layer7-protocol=sni-facebook protocol=tcp dst-port=443
action=drop comment="Block Facebook via SNI"Önemli not: TLS 1.3 + Encrypted Client Hello (ECH) yaygınlaştığında bu yöntem de çalışmayacak. 2026 itibarıyla %40 civarında ECH desteği var, oran hızla artıyor.
L7 Regex Yazarken Yapılan Sık Hatalar
Sahada gördüğüm L7 regex hatalarının dökümü:
Birinci hata aşırı geniş desen. Örneğin ".*facebook.*" gibi bir regex, payload’da “facebook” geçen her şeyi yakalar — ama aynı zamanda performansı dramatik düşürür ve false positive yaratır. Bunun yerine spesifik konum belirten "^.{1,16}facebook.com" kullanın.
İkinci hata case-sensitive yapı. Regex varsayılan olarak case-sensitive’dir. Domain adları case-insensitive olmalı. "(?i)" bayrağı ile bu sağlanır: "(?i)facebook.com".
Üçüncü hata special karakterleri kaçırmamak. Nokta (.) regex’de “herhangi karakter” anlamına gelir. Domain adında nokta kullanırken backslash ile kaçırın: "facebook.com", yoksa “facebookXcom” gibi farklı stringler de match olur.
Dördüncü hata backtracking-ağır desenler. ".*(.+)+.*" gibi iç içe quantifier’lar regex motorunu felç eder; CPU %100’e çıkar, paket geçişi durur. Mümkün olduğunca atomik desenler tercih edin.
Performans Etkisi
L7 filtering CPU yoğun bir işlemdir. Her yeni bağlantının ilk paketlerinde regex eşleştirme yapılır. RB5009 gibi modern bir cihazda bile yoğun L7 kullanımı CPU’nun %15-25’ini tüketebilir.
Performans için ipuçları:
- L7 kurallarını mümkün olduğunca az kullanın; her ek kural performans yükü ekler
- Mümkünse L7 yerine address-list veya domain-list kullanın
- Regex’leri olabildiğince spesifik tutun; aşırı geniş desenler false positive yaratır ve performansı kötüleştirir
- L7 matcher’ı sadece forward chain’de kullanın, input chain’de kullanmayın
Pratik bir örnek: 50 farklı domain’i engellemek için 50 L7 kuralı yerine, tek bir DNS-based address-list kullanmak daha verimli olur. Adlist’leri otomatik güncelleyen scriptler GitHub’da hazır olarak bulunabilir.
L7’nin Alternatifi: DNS Filtering
2026 itibarıyla L7 filtering’in pratik olarak yerini DNS filtering aldı. Bir Pi-hole veya AdGuard Home gibi DNS sunucusu kurarak, istek seviyesinde engelleme yapabilirsiniz. Bunun avantajları:
- HTTPS trafiğini etkilemez (DNS sorgusu zaten ayrı)
- CPU yükü çok daha az
- Geniş hazır blocklist’ler mevcut (EasyList, OISD, vb)
- Domain bazlı raporlama daha kolay
- DoH/DoT istemcilerini zorla yerel DNS’e yönlendirme stratejileri uygulanabilir
Pi-hole’u Docker container olarak doğrudan MikroTik üzerinde çalıştırabilirsiniz (RouterOS 7 container desteği ile). Bu, ek bir donanım yatırımı olmadan profesyonel DNS filtering sağlar.
L7 vs DPI vs SNI Filtering Karşılaştırması
Üç farklı yaklaşımı sıkça karıştırılır. Açıklayayım:
- L7 protocol matcher (MikroTik): Payload regex araması; ilk 10 paket veya 2 KB ile sınırlı
- SNI inspection: TLS handshake’de domain adı kontrolü; HTTPS için ana yöntem
- DPI (Deep Packet Inspection): Ticari NGFW ürünlerinin yaptığı, paketin tamamını analiz eden yöntem; MikroTik desteklemez
Eğer ciddi NGFW seviyesinde içerik denetimi istiyorsanız, MikroTik’in önüne bir Suricata, OPNsense veya pfSense kurgulamak daha doğru bir mimaridir. MikroTik routing/firewall görevini yapar, NGFW içerik denetimini halleder.
Saha Vakası: Bir Lise Kampüsünde L7 + DNS Filtreleme
Geçen yıl bir lise kampüsünde misafir Wi-Fi’sı için kurduğumuz çözümde hem L7 hem DNS filtering kullandık. L7 ile BitTorrent ve bazı oyun protokolleri engellendi; DNS filtering ile sosyal medya ve reklam ağları bloklandı. Sistem 9 aydır çalışıyor; ortalama CPU kullanımı %18 civarında, öğrenciler tarafından bypass girişimleri kayıt altına alınıyor.
Bu kurulumun dersi şuydu: L7 ve DNS filtering rakip değil, tamamlayıcı araçlardır. Doğru senaryoda doğru araç kullanılır.
L7 Trafiğini Loglamak ve İzlemek
L7 kurallarınızın gerçekten çalışıp çalışmadığını izlemek önemli. Bir kuralın drop sayısını kontrol etmek için:
/ip firewall filter print stats where layer7-protocol="bittorrent"Daha detaylı izleme için log topic ekleyin:
/ip firewall filter
add chain=forward layer7-protocol=bittorrent action=log
log-prefix="L7-BT:" comment="Log BitTorrent attempts"Bu log kayıtları size hangi cihazların ne zaman BitTorrent denedi bilgisini verir. Misafir Wi-Fi senaryolarında özellikle değerlidir.
Pratik Bir Reçete: Misafir Wi-Fi’da L7 + DNS Kombinasyonu
Bir kafe, otel veya kütüphane misafir Wi-Fi’sı için tipik bir kurulumun sade halini paylaşmak isterim. Bu reçete sahada 30+ kurulumda denenmiş ve kararlı çalışan bir şablondur.
Önce DNS filtering katmanı kurun: Pi-hole’u container olarak MikroTik üzerine yerleştirin. Reklam ağları, malware domain’leri, isteğe bağlı olarak yetişkin içerik blocklist’leri yüklenir.
Sonra hotspot kullanıcılarının DNS isteklerini bu sunucuya zorlayın:
/ip firewall nat
add chain=dstnat src-address=10.10.10.0/24 protocol=udp dst-port=53
action=dst-nat to-addresses=172.17.0.5 to-ports=53
comment="Force guest DNS to Pi-hole"Üçüncü adım: L7 ile sadece sınırlı sayıda kritik kuralı ekleyin. Örneğin BitTorrent engelleme, SNI üzerinden sosyal medya kısıtlama (mesai saatleri). Burada amaç DNS’i aşmaya çalışan kullanıcıları yakalamak.
Son olarak loglama ve raporlama. Pi-hole’un kendi dashboard’unda günlük blocked query sayısı, en sık engellenen domain’ler, en aktif istemciler görülür. Bu raporları haftalık olarak gözden geçirmek, sistemin sağlığı hakkında çok şey söyler.
2026 İtibariyle L7’nin Geleceği
L7 filtering yakın gelecekte kademeli olarak değerini kaybetmeye devam edecek. Şu trendler süreci hızlandırıyor:
- TLS 1.3 + ECH yaygınlaşması (SNI bile artık görünmez olacak)
- HTTP/3 ve QUIC’in yaygınlaşması (TCP yerine UDP, farklı yapı)
- DNS-over-HTTPS varsayılan hale gelmesi (DNS filtering atlanabilir)
- VPN kullanımının artması
Bu trendler L7’yi öldürmüyor ama kullanım senaryolarını daraltıyor. 5 yıl içinde MikroTik üzerinde L7 filtering muhtemelen sadece çok dar bir kullanım grubuna hizmet edecek.
Bu durumun pratik anlamı şu: yeni başlayan biri için L7 öğrenmek artık eskiden olduğu kadar değerli değil. Bunun yerine DNS filtering, SNI inspection, ve API tabanlı içerik kontrol araçlarına odaklanmak daha akıllıca. MikroTik’i bir ürün olarak değerlendirirseniz, L7 onun çekirdek özelliği değildir; gelir kaynağı routing ve firewall’dur.
Sıkça Sorulan Sorular
L7 ile WhatsApp’ı engelleyebilir miyim?
Pratik olarak hayır. WhatsApp tamamen şifrelidir, hem DNS sorguları (çoğunlukla DoH) hem de TLS handshake artık ECH ile şifrelenebiliyor. Engelleme için MAC tabanlı veya whitelist/walled-garden yaklaşımı gerekir.
L7 kuralı eklediğimde tüm trafiğim yavaşladı, normal mi?
Evet, L7 CPU yoğundur. Bir tek kural bile %5-10 ek CPU yükü getirebilir. Performansı korumak için kural sayısını minimuma indirin.
L7 regex desenlerini nereden bulabilirim?
l7-filter.sourceforge.net projesi, yüzlerce uygulama için hazır regex desenleri sunar. Birçoğu eski ama temel uygulama imzaları hâlâ geçerli.
L7 hem download hem upload’u engeller mi?
L7 connection-based çalışır, yani bağlantı kurulurken match olur. Drop ederseniz bağlantı hiç kurulmaz, dolayısıyla hem download hem upload engellenmiş olur.
L7 + queue tree birlikte nasıl çalışır?
L7 ile bağlantı işaretlenir, sonra mangle ile paket işareti eklenir, sonra queue tree bu işarete bakarak rate-limit uygular. Bu zincir, tam engellemek yerine sadece yavaşlatmak istediğinizde işe yarar.
Sonuç
L7 protocol filtering, MikroTik’in güçlü ama sınırlı bir özelliğidir. Doğru senaryolarda (BitTorrent tespiti, SNI engelleme, DNS filtering destekleyici) hâlâ değerlidir; ama modern şifreleme yaygınlaşmasıyla giderek daraltılmış bir kullanım alanı bırakıyor. Yeni başlayan biri için tavsiyem: L7’yi öğrenmek faydalı olabilir ama tek başına yeterli bir trafik kontrol yöntemi olarak görmeyin. Asıl odak DNS filtering, SNI inspection ve gerektiğinde Suricata gibi gerçek NGFW araçlarına yönelik olmalı. MikroTik’in routing/firewall yetenekleri ile içerik denetim katmanını ayrı tutmak, sürdürülebilir ve performanslı bir mimari için anahtar prensiptir. Sahada gözlemlediğim en yaygın hata, MikroTik’i NGFW olarak kullanmaya çalışmaktır; doğru aracı doğru amaçla kullanmak, profesyonel ağ yöneticiliğinin temel becerisidir.
Eklemek istediğim son bir şey var. L7 ve içerik filtreleme konuları, etik ve yasal boyutlarıyla da değerlendirilmesi gereken alanlardır. Bir işletmenin Wi-Fi’sında kullanıcıların hangi içeriklere erişebileceğini kontrol etmek, KVKK kapsamında bir veri işleme faaliyetidir. Misafirlerinize bu filtrelemenin yapıldığını şeffaf bir şekilde bildirmek hem yasal yükümlülük hem etik gereklilikitir. Hotspot login sayfanızda veya Wi-Fi şartlarınızda bu konuyu açıkça belirtin. Aksi takdirde teknik olarak doğru bir kurulum hukuken ve etik açıdan tartışmalı hale gelebilir. Profesyonel ağ yöneticisi olarak hem teknik hem de bu yumuşak boyutları aynı disiplinle ele almak, sürdürülebilir bir uygulama için şarttır.
Son bir gözlem olarak vurgulamak isterim: kurulduğunuz her L7 kuralı bir bakım yüküdür. İnternet sürekli değişiyor; bir oyun protokolünün imzası yeni sürümle değişebilir, bir VPN’in port’u veya paket deseni güncellenebilir. L7 kurallarınızın yılda en az bir kez gözden geçirilmesi ve hâlâ doğru çalıştığının test edilmesi gerekir. Aksi halde “çalıştığını sandığınız” ama aslında çoktan etkisiz kalan kurallar birikir; bu da güvenlik açısından yanıltıcı bir izlenim yaratır. Profesyonel ağ yöneticiliğinin sırrı, bir defalık başarılar değil, sürekli devam eden bakım disiplinidir. Bu yüzden L7 kullanmaya karar verirseniz, kurulum dakikalarıyla yetinmeyin; takvime yıllık bir review ekleyin ve hangi kuralın hâlâ değerli olduğunu, hangisinin artık etkisiz kaldığını dürüstçe değerlendirin. Kullanılmayan kuralları silmek, yeni kurallar eklemekten en az kadar değerlidir; kalabalık ve etkisiz bir kural kümesi, ağ yönetiminin görünmeyen ama büyüyen bir teknik borcudur. Disiplinli ve sadelik odaklı bir yaklaşım, hem performans hem de uzun vadeli sürdürülebilirlik açısından her zaman karmaşık ve dağılmış bir yaklaşımdan üstün gelir; bu prensip sadece L7 için değil, ağ yönetiminin tüm alanları için geçerlidir.
Bu Konuda Daha Fazla
Konuyla bütünleşik olarak okumanızı önerdiğimiz içerikler: MikroTik Firewall Mimarisinin Detayları: Chain, Action, Connection-State ve Best Practice; Firewall Türleri Karşılaştırması: Packet Filter, Stateful, Proxy, NGFW ve WAF; Next-Generation Firewall (NGFW) 2026: App-ID, IPS, SSL Inspection ve MikroTik'in Konumu; 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.








