Network Firewall
Magic Transit ve Cloudflare WAN trafiğini L3/L4'te süzen, Wireshark sözdizimiyle kural yazılan bulut güvenlik duvarı. Stateless çalışır ve DDoS katmanından tamamen bağımsızdır.
- DurumGenel kullanımda
- FiyatMagic Transit veya Cloudflare WAN'a dahil; Advanced özellikler ayrı satın alınır
- Doğrulama
Network Firewall nedir?
Bir kurumun ağ güvenlik duvarı genellikle veri merkezinde duran bir cihazdır. Şubeler ve bulut ortamları trafiğini o cihazın olduğu yere geri taşır (backhaul), orada süzülür, sonra yeniden dağıtılır. Bu, hem gecikme hem kapasite sorunudur.
Network Firewall aynı işi Cloudflare ağında yapar:
“Cloudflare Network Firewall (formerly Magic Firewall) is a firewall-as-a-service (FWaaS) delivered from the Cloudflare global network to protect office networks and cloud infrastructure with advanced, scalable protection. With Cloudflare Network Firewall, you can apply filter rules on a variety of criteria, such as protocol and packet length, to filter unwanted traffic before it reaches your network.”
Pazarlama sayfasının kendi ifadesiyle:
“No more bottlenecks — instead of backhauling traffic through firewall appliances, filter layer 3 and 4 traffic with the Cloudflare network.” “Fine-grained filtering rules can be deployed globally in seconds.”
Tek başına satın alınmıyor. Ön koşul net:
“Cloudflare Network Firewall is available with the purchase of Magic Transit or Cloudflare WAN.”
Magic Transit alırsan zaten geliyor: “Network Firewall is included with Magic Transit.”
Nasıl çalışır?
Stateless bir paket filtresi
Bu, ürünle ilgili bilinmesi gereken tek en önemli şey ve dokümanlarda yalnızca bir yerde açıkça yazılı:
“Network Firewall is not stateful for your Magic Transit egress traffic.” “Network Firewall is not stateful in both directions after DDoS mitigations.”
Klasik bir güvenlik duvarında “giden bağlantının dönüşüne izin ver” diye bir kural yazmazsın; cihaz bağlantı tablosunu tutar. Burada tutmuyor. Bu yüzden Cloudflare’in kendi örnek kuralları TCP bayraklarını elle yazıyor:
ip.proto eq "tcp" and ip.dst in $endpoints and tcp.dstport in {32768..60999}
and not (tcp.flags.syn and not tcp.flags.ack) → Allow
Son satır şunu söylüyor: “çıplak SYN olmasın”. Yani dışarıdan yeni bağlantı açılamıyor ama senin başlattığın bağlantının SYN-ACK’i geçebiliyor. Stateful bir cihazda bu ifade hiç yazılmazdı.
Dört faz, tek dil
Kural dili WAF ile aynı — Ruleset Engine ve wirefilter:
“Rules are written using the Cloudflare Rules language, which is inspired by Wireshark syntax.”
| Faz | Ne için |
|---|---|
magic_transit | Custom policies (senin yazdıkların) |
magic_transit_managed | Managed ruleset’ler |
magic_transit_ratelimit | Rate limiting (beta) |
magic_transit_ids_managed | IDS |
Faz adlarının hâlâ magic_transit_* olması tesadüf değil: yeniden adlandırma API’ye
dokunmadı. Var olan Terraform ve API kodu aynen çalışıyor.
Değerlendirme sırası ve varsayılan
“By default, Cloudflare Network Firewall permits all traffic until explicitly blocked by a rule. If no rules are configured, all traffic is permitted after Cloudflare’s DDoS mitigations have been applied.” “Traffic is matched in order of the configured rules. As soon as traffic is matched by an enabled rule, it is no longer validated against the later rules.”
Cloudflare’in kendi uyarı örneği:
“permitting all TCP traffic in a rule #4 would mean all TCP traffic is permitted. A rule #5 to block traffic for IP address
x.x.x.xwould not be checked.”
Custom faz önce, managed faz sonra değerlendiriliyor — bu sayede custom bir kuralla managed bir kuralın davranışı ezilebiliyor.
DDoS’tan bağımsız — en sık yanlış anlaşılan nokta
Doğru teşhis yolu: Network Analytics → filtre Action = Drop → üç nokta menüsünden
Mitigation system kırılımı. Hangi katmanın düşürdüğünü orası söylüyor; her katmanın bypass
mekanizması ayrı.
WAF ile karşılaştırma
| Network Firewall | WAF | |
|---|---|---|
| Katman | L3/L4 — IP paketi | L7 — HTTP isteği |
| Kapsam | Hesap seviyesi, prefix bazlı | Zone seviyesi, hostname bazlı |
| Faz | magic_transit | http_request_firewall_custom |
| State | Stateless | Bağlantı sonlandırılmış, tam istek görünür |
| Alanlar | ip.*, tcp.*, udp.*, icmp.*, cf.colo.* | http.request.uri, http.host, http.user_agent… |
| Ön koşul | Magic Transit veya Cloudflare WAN | Zone Cloudflare’e onboard |
| Fragman | Yeniden birleştirilir, kural yazılamaz | İlgisiz |
Ne zaman kullanılır, ne zaman kullanılmaz
Uygun olduğu işler
- Şube ve veri merkezi trafiğini fiziksel cihaza backhaul etmeden süzmek
- Amplifikasyon saldırılarında kullanılan UDP portlarını ağın kenarında kapatmak
- Bir IP bloğuna deny-by-default politikası uygulamak, yalnızca bilinen portları açmak
- Ülke veya ASN bazlı L3 filtreleme (Advanced)
- Tehdit istihbaratı listeleriyle anonimleştirici, botnet C2 ve bilinen kötü amaçlı IP’leri düşürmek (Advanced)
- Kural değişikliğini dakikadan kısa sürede küresel yaymak
Uygun olmadığı işler
- HTTP katmanı koruması. Paket görüyor, istek görmüyor. SQL injection, XSS, bot davranışı — hiçbiri burada yakalanmaz. Onun için WAF gerekir.
- Magic Transit veya Cloudflare WAN’ın olmadığı ortam. Bu ürün tek başına satın alınamıyor.
- Stateful bir cihazın birebir yerine geçmesi. Bağlantı tablosu tutmuyor; kurallarını buna göre yazman gerekiyor.
- Fragman bazlı kural. “you cannot create firewall rules for fragments.”
- CDN/WAF’ın arkasındaki kaynak IP kuralları. Bağlantı Cloudflare’de sonlandırıldığı için gördüğü kaynak IP artık ziyaretçinin değil.
- DDoS mitigasyonunu esnetmek. Buradaki allow o katmanı hiç etkilemiyor.
Somut örnekler
1. Minimal ruleset — amplifikasyon portlarını kapatmak
Cloudflare’in yayımladığı üç kurallık minimal set:
(udp.srcport in {1900 11211 389 111 19 1194 3702 10001 20800 161 162 137 27005 520 0}) → Block
(tcp.srcport in {21 0 3306}) → Block
(ip.proto eq "hopopt") or (not ip.proto in {"esp" "tcp" "udp" "gre" "icmp"}) → Block
Portların karşılıkları: SSDP 1900, Memcached 11211, CLDAP 389, SunRPC 111, CHARGEN 19, OpenVPN 1194, WS-Discovery 3702, Ubiquiti 10001, Call of Duty 20800, SNMP 161/162, NetBIOS 137, SRCDS 27005, RIP 520.
Üçüncü kural bir izin listesi mantığıdır: ESP, TCP, UDP, GRE ve ICMP dışındaki her protokolü, ve HOPOPT’u (protokol 0) düşürür.
2. Endpoint (istemci) koruma seti
ip.proto eq "tcp" and ip.dst in $endpoints and tcp.dstport in {32768..60999}
and not (tcp.flags.syn and not tcp.flags.ack) → Allow
ip.proto eq "udp" and ip.dst in $endpoints and udp.dstport in {32768..60999} → Allow
ip.proto eq "icmp" and ip.dst in $endpoints
and (icmp.type eq 0 or icmp.type eq 3 or icmp.type eq 11) → Allow
ip.dst in $endpoints → Block
ICMP tipleri rastgele seçilmemiş: 0 (echo reply), 3 (destination unreachable — path MTU discovery bunu kullanır), 11 (time exceeded — traceroute). Üçünü de kapatırsan büyük paketler sessizce kaybolur.
3. Port 8080 hariç tüm TCP’yi kapatmak
"rules": [
{ "action": "skip",
"action_parameters": { "ruleset": "current" },
"expression": "tcp.dstport in { 8080 }",
"description": "Allow port 8080" },
{ "action": "block",
"expression": "tcp.dstport in { 1..65535 }",
"description": "Block all TCP ports" }
]
skip sırası kritik: block kuralından önce gelmezse hiçbir işe yaramaz.
4. Yapılandırılmış alanların yetmediği durum
udp and bit_slice("udp", 64, 96) == 0x13371337
bit_slice UDP yükünün ilk 32 bitine bakar (offset_start 64, çünkü UDP başlığı 64 bit).
Sınırlar: dilim en fazla 32 bit, offset en fazla 2.040 bit. Daha uzun eşleşme için
mantıksal ifadelerle birden çok çağrı birleştirilir.
Demo 1: Minimal ruleset’i kendi sunucunda çalıştır
Adım 1 — Test ortamı
sudo apt update && sudo apt install -y nftables hping3 nmap tcpdump
# Amplifikasyonda kullanilan bir porta sahte bir dinleyici koy
sudo python3 -c "
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('0.0.0.0', 11211))
print('memcached taklidi 11211/udp dinliyor')
while True:
veri, adres = s.recvfrom(2048)
print('istek:', adres, veri[:40])
s.sendto(b'X' * 1400, adres) # amplifikasyon: kucuk istek, buyuk yanit
" &
ss -ulnp | grep 11211
Adım 2 — Filtresiz hâli ölç
Başka bir makineden (ya da aynı makinede farklı bir kaynak adresle):
# 40 baytlik istek gonder, donen yanitin boyutunu olc
sudo hping3 --udp -p 11211 -d 40 -c 3 <SUNUCU-IP>
sudo tcpdump -ni any 'udp port 11211' -c 10
Küçük istek, 1400 baytlık yanıt. Amplifikasyon oranı ~35x.
Adım 3 — Minimal ruleset’i nftables’a çevir
sudo tee /etc/nftables.d/minimal.nft >/dev/null <<'EOF'
table inet nfdemo {
chain input {
type filter hook input priority filter; policy accept;
# Kural 1 — amplifikasyonda kullanilan UDP kaynak portlari
udp sport { 1900, 11211, 389, 111, 19, 1194, 3702, 10001, 20800,
161, 162, 137, 27005, 520, 0 } counter drop
# Kural 2 — TCP kaynak portlari
tcp sport { 21, 0, 3306 } counter drop
# Kural 3 — izin listesi disindaki her protokol
meta l4proto != { esp, tcp, udp, gre, icmp } counter drop
}
chain output {
type filter hook output priority filter; policy accept;
# Cloudflare kurali KAYNAK portu suzuyor; yanitin cikisini de kapatalim ki
# amplifikasyonun gercekten durdugu gorulsun
udp sport 11211 counter drop
}
}
EOF
sudo nft -f /etc/nftables.d/minimal.nft
sudo nft list table inet nfdemo
Adım 4 — Aynı testi tekrarla
sudo hping3 --udp -p 11211 -d 40 -c 3 <SUNUCU-IP>
sudo nft list table inet nfdemo | grep -A0 counter
Yanıt gelmiyor, ama sayaçlar artıyor — paketlerin düşürüldüğünün kanıtı bu.
Adım 5 — İzin listesi kuralını sına
Üçüncü kural, izin listesindeki beş protokol dışındaki her şeyi düşürüyor. SCTP ile dene:
sudo nmap -sO -p 132 <SUNUCU-IP> # protokol taramasi: SCTP = 132
sudo nft list table inet nfdemo | tail -6
Demo 2: Stateless filtre neden TCP bayrağı yazdırıyor?
Bu demo tek bir soruyu gösteriyor: Cloudflare’in örnek kurallarında neden
not (tcp.flags.syn and not tcp.flags.ack) gibi bir ifade var?
Adım 1 — Stateful referansı kur
sudo tee /etc/nftables.d/stateful.nft >/dev/null <<'EOF'
table inet durumlu {
chain input {
type filter hook input priority filter; policy drop;
ct state established,related counter accept
iif lo accept
tcp dport 22 accept
}
}
EOF
sudo nft -f /etc/nftables.d/stateful.nft
# Giden baglanti calisir: donus trafigi ct state ile gecer
curl -s -o /dev/null -w 'stateful cikis: %{http_code}\n' https://example.com/
Adım 2 — State’i kaldır, aynı şeyi dene
sudo nft delete table inet durumlu
sudo tee /etc/nftables.d/durumsuz.nft >/dev/null <<'EOF'
table inet durumsuz {
chain input {
type filter hook input priority filter; policy drop;
iif lo accept
tcp dport 22 accept
# ct state YOK — Network Firewall gibi paket paket bakiyoruz
}
}
EOF
sudo nft -f /etc/nftables.d/durumsuz.nft
curl -s -o /dev/null -m 8 -w 'durumsuz cikis: %{http_code}\n' https://example.com/ \
|| echo "ZAMAN ASIMI — donus paketleri dusuruldu"
Bağlantı kurulamıyor. SYN gidiyor, SYN-ACK geliyor, ve gelen paket hiçbir kurala uymadığı için düşüyor.
Adım 3 — Cloudflare’in çözümünü uygula
Network Firewall’ın yaptığı tam olarak bu: dönüş trafiğini bayraklarla tanımlamak.
sudo nft add rule inet durumsuz input tcp sport 443 \
tcp flags '& (syn|ack) == ack' counter accept
# Cloudflare'in ifadesinin birebir karsiligi:
# not (tcp.flags.syn and not tcp.flags.ack)
# = "ciplak SYN degilse gecir"
curl -s -o /dev/null -m 8 -w 'bayrakli: %{http_code}\n' https://example.com/
sudo nft list table inet durumsuz
Adım 4 — Çıplak SYN’in hâlâ engellendiğini kanıtla
Kural dönüş trafiğine izin verdi ama dışarıdan yeni bağlantı açılmasına izin vermedi. Başka bir makineden:
sudo hping3 -S -p 443 -c 3 <SUNUCU-IP> # ciplak SYN — dusmeli
sudo hping3 -A -p 443 -c 3 <SUNUCU-IP> # ciplak ACK — gecmeli
İkinci komutun geçmesi, stateless filtrenin dürüst sınırıdır: sahte ACK paketleri geçer.
Cloudflare bu boşluğu Network Firewall’da değil, Advanced TCP Protection katmanında
flowtrackd ile kapatıyor — “detect and mitigate sophisticated out-of-state TCP attacks such
as randomized and spoofed ACK floods”.
Ölçüm tablosu
| Ölçüt | Değer |
|---|---|
| Filtresiz amplifikasyon oranı (istek / yanıt baytı) | |
| Kural sonrası dönen yanıt sayısı | |
| Üç kuralın drop sayaçları | |
Stateful setle curl sonucu | |
Stateless setle curl sonucu | |
Bayrak kuralı eklendikten sonra curl sonucu | |
| Çıplak SYN / çıplak ACK sonucu |
Fiyatlandırma
Ayrı bir fiyat yayımlanmıyor. Network Firewall bağımsız satın alınmıyor:
“Cloudflare Network Firewall is available with the purchase of Magic Transit or Cloudflare WAN.” “Network Firewall is included with Magic Transit.”
Ürün sayfasındaki tek eylem çağrısı “Talk to an expert”. Erişim de kapılı: “This product is enterprise-only.”
Asıl fiyatlandırma sorusu Standard mı Advanced mı olduğudur:
| Standard (Magic Transit / WAN ile gelir) | Advanced (ayrı satın alınır) |
|---|---|
| Protokol, port, IP, paket uzunluğu, bit alanı filtreleme | Özelleştirilebilir IP listeleri |
| Kural değişikliğinin bir dakikadan kısa sürede yayılması | Yönetilen tehdit istihbaratı listeleri (Anonymizer, Botnet, Malware, Open Proxies, VPNs) |
| Tek panelden firewall ve ağ yönetimi | Ülkeye göre coğrafi bloklama |
| API ve Terraform uyumu | ASN bazlı izin/blok |
| Kural bazlı analitik (panel + GraphQL) | İstek üzerine paket yakalama (PCAP) |
| Cloudflare WAN entegrasyonu | Protokol doğrulama kuralları (bugün yalnızca SIP) |
| Magic Transit ile gelen DDoS koruması | Giden trafik için Secure Web Gateway filtreleme |
| Intrusion Detection System (IDS) |
Kaynak: Network Firewall plans · Erişim: 1 Eylül 2026
Lisanslama ve hukuki çerçeve
Network Firewall tescilli bir hizmettir; açık kaynak bileşeni yoktur ve Cloudflare Hizmet Şartlarına tabidir. Kullanımı bir Enterprise sözleşmesi ve Magic Transit veya Cloudflare WAN aboneliği gerektirir.
Veri yerelleştirme — Türkiye için kritik ayrım. Cloudflare’in Data Localization dokümanı bir Turkey bölgesi listeliyor ve şöyle tanımlıyor: “Cloudflare will only use data centers that are physically located within Turkey to decrypt and service HTTPS traffic.” Ama aynı belgenin Network Services matrisi Network Firewall için Regional Services’i ⚫️ “Not applicable — this product does not interact with this DLS feature” olarak işaretliyor.
GDPR notu. “Magic Transit customers with Customer Metadata Boundary enabled for the European Union can access GRE, IPsec, and CNI health check and traffic volume data in the Cloudflare dashboard and through the API.”
Log saklama. Network Analytics için: “The data retention for Network Analytics is 16 weeks. Additionally, data older than eight weeks might have lower resolution when using narrow time frames.” Logpush hedefi senin kendi depolamandır; Cloudflare tarafında bir Logpush saklama süresi yayımlanmıyor.
Sık yapılan hatalar
Network Firewall’da allow yazıp DDoS’un blokladığını fark etmemek
Dört mitigasyon katmanı var ve Network Firewall sonuncusu: DDoS managed rulesets → Advanced TCP Protection → Advanced DNS Protection → Network Firewall. Buradaki izin, önceki üçünü etkilemiyor.
ICMP’yi topluca bloklamak
“Cloudflare Network Firewall rules apply to Internet Control Message Protocol (ICMP) traffic. If you enable Cloudflare Network Firewall, ensure your rules allow ICMP traffic sourced from Cloudflare public IPs. Otherwise, health checks will fail.”
Sıra kritik: önce Allow · ICMP · Source: Cloudflare IP ranges, sonra block kuralı. ICMP tip 3’ü kapatmak ayrıca path MTU discovery’yi kırar ve büyük paketler sessizce kaybolur.
Yönetim erişimini kilitleyen kural sırası
Kurallar ilk eşleşende duruyor. 10. sıradaki catch-all Block varsa, yeni izin kuralı 10’dan
önce eklenmeli. Doküman bunu birebir uyarıyor: “the new rule must be added before rule
10.” Ve yayılma hızlı — “Fast propagation of rule changes in less than a minute” — yani hata
da bir dakikada global oluyor.
Egress’te catch-all drop bırakmak
“If you have a Network Firewall ‘default drop’ catchall rule for ingress traffic, you will need to add an earlier rule to permit traffic sourced from your Magic Transit prefix with the destination as any to allow outbound egress traffic.”
Stateless olduğu için giden trafiğin dönüşü kendiliğinden geçmiyor.
POST /rulesets ile var olan politikaları ezmek
Var olan ruleset’e kural eklerken …/rulesets/{ruleset_id}/rules kullanılmalı. Yanlış uç nokta
tüm firewall’ı silebilir.
ip.geoip.country kullanmak
Kullanımdan kalkıyor ve tehlikeli: “will match on either source or destination address.”
Yani kaynak ülkeyi engellemek isterken hedef ülkeyi de eşleştirebiliyor. Yerine ip.src.country
veya ip.dst.country yaz.
sip alanını guard olmadan kullanmak
“Requires UDP packets to operate.” İfadeye ip.proto == "udp" koşulunu eklemeden sip
kullanma.
IDS’i açıp Logpush kurmamak
“You must configure Logpush to log detected risks.”
Logpush yoksa IDS tespit ediyor ama sonucu hiçbir yere yazmıyor.
PCAP’in boş dönmesine şaşırmak
“the packet capture (pcap) might be empty because packets were dropped.”
DDoS katmanında düşürülen trafik PCAP’e hiç girmiyor — aradığın paketler orada olmayabilir.
Sıkça sorulan sorular
- Magic Firewall ile Network Firewall aynı ürün mü?
- Evet. 17 Şubat 2026 tarihli changelog kaydından birebir: “Magic Firewall → Cloudflare Network Firewall”, ve “No action is required by you — all functionality, existing configurations, and billing will remain exactly the same.” Aynı turda Magic WAN → Cloudflare WAN, Magic Network Monitoring → Network Flow, Magic WAN Connector → Cloudflare One Appliance oldu. Magic Transit adı değişmedi — listede yok, ve
developers.cloudflare.com/magic-transit/hâlâ 200 dönüyor; yeniden adlandırılan her ürün 301 veriyor. - Kod ve Terraform yapılandırmam bozulur mu?
- Hayır. Ruleset Engine fazları hâlâ eski adları taşıyor:
magic_transit(custom),magic_transit_managed,magic_transit_ratelimit,magic_transit_ids_managed. Logpush dataset adları da öyle:magic_ids_detections,magic_bgp_logs,mnm_flow_logs. PCAP çağrısında"system": "magic-transit"parametresi de değişmedi. - Network Firewall stateful mi?
- Paket filtresi olarak stateless. Dokümanda tek bir yerde açıkça yazıyor: “Network Firewall is not stateful for your Magic Transit egress traffic.” ve “Network Firewall is not stateful in both directions after DDoS mitigations.” Bunun pratik sonucu: dönüş trafiğine izin vermek için TCP bayraklarını elle yazman gerekiyor —
not (tcp.flags.syn and not tcp.flags.ack)gibi. Stateful bir cihazda bu gerekmezdi. Ama yığının tamamında state var: TCP oturum takibini ayrı bir katman olan Advanced TCP Protection (flowtrackd) yapıyor — o “a stateful TCP inspection engine” olarak tanımlanıyor. - Allow kuralı yazdım ama trafik hâlâ düşüyor.
- Çünkü Network Firewall DDoS mitigasyonundan sonra çalışıyor ve iki sistem bağımsız. Birebir: “Creating an allow rule in Network Firewall does NOT bypass DDoS protection. If traffic is blocked by Advanced TCP Protection or DDoS managed rules, you must configure bypasses in those systems separately.” Teşhis yolu: Network Analytics →
Action = Drop→ üç nokta menüsünden Mitigation system kırılımı. Hangi katmanın düşürdüğünü orada görürsün; her katmanın bypass'ı ayrıdır. - Kural sırası nasıl işliyor?
- İlk eşleşen kazanır ve sonrası hiç değerlendirilmez. Birebir: “As soon as traffic is matched by an enabled rule, it is no longer validated against the later rules” ve Cloudflare'in kendi örneği: “permitting all TCP traffic in a rule #4 would mean all TCP traffic is permitted. A rule #5 to block traffic for IP address
x.x.x.xwould not be checked.” Varsayılan da bilinmeli: “By default, Cloudflare Network Firewall permits all traffic until explicitly blocked by a rule.” Yani varsayılan allow; deny-by-default istiyorsan sona catch-all block kuralı koyman gerekiyor. - İzin vermek için hangi aksiyonu kullanıyorum?
- API'de
skip. Birebir: “A skip action tells the firewall to stop evaluating the current ruleset for matching traffic, effectively allowing it through… the skip rule must appear before the block rule.” Kullanımı:"action": "skip", "action_parameters": {"ruleset": "current"}. Panelde bu Allow olarak görünüyor. Custom fazda saflogaksiyonu belgelenmemiş;logyalnızca managed ruleset override'ında geçiyor. - Hangi alanlarla kural yazabilirim?
- Otuz dört alan var ve hepsi L3/L4:
ip.src,ip.dst,ip.proto,ip.len,ip.ttl,ip.hdr_len,ip.opt.type,ip.src.country,ip.dst.country,ip.src.asnum,ip.dst.asnum,tcp.srcport,tcp.dstport, sekiz ayrıtcp.flags.*,udp.srcport,udp.dstport,icmp.type,icmp.code,sip,cf.colo.name,cf.colo.regionve çıplakip/tcp/udp/icmp. Ülke, ASN ve liste alanları Advanced pakete ait.ip.geoip.countrykullanımdan kalkıyor — “will match on either source or destination address” dediği için tehlikeli; yerineip.src.countryyaz. - Yapılandırılmış alanların yetmediği bir şeyi nasıl yakalarım?
bit_sliceile. Birebir: “This function looks for matches on a given slice of bits… to match on the first bit of payload for a UDP packet, you must setoffset_startto 64. The slice cannot be longer than 32 bits, but multiple calls can be joined together by using logical expressions. Thebit_sliceoffset cannot exceed 2,040 bits.” Çıplakip,tcp,udpalanları da bu fonksiyonla birlikte kullanılmak için var.- Fragmentli paketlere kural yazabilir miyim?
- Hayır, ama gerekmiyor. Birebir: “fragmented packets are reassembled into complete packets before they are inspected. As a result, you cannot create firewall rules for fragments.” Cloudflare ayrıca eksik paket iletmiyor: “Cloudflare never sends incomplete packets to customers… Cloudflare will not leak non-initial fragments to customers.”
- Kaç kural yazabilirim?
- 200 custom policy (“By default, you can create a maximum of 200 policies”) ve tüm listelerde toplam 10.000 IP (“By default, you can add up to 10,000 IPs across all lists”). Cloudflare'in kendi tavsiyesi: “We recommend you create lists of IP addresses to reference within policies to streamline policy management.” Managed ruleset kökünde ise tek kural olabiliyor — “Currently, you can only have one rule in the root ruleset, but a single rule can contain multiple overrides.”
- API ile kural eklerken nelere dikkat etmeliyim?
- Bir uyarı var ve üretimde tüm firewall'ı silebilir. Birebir: “The examples on this page all use the
…/rulesetsendpoint. This endpoint is intended to create policies from scratch and might overwrite existing policies. If you have a ruleset already deployed, consider using the…/rulesets/{ruleset_id}/rulesendpoint instead.” Yani var olan bir ruleset'e kural eklerken aslaPOST /rulesetskullanma. - IDS ne yapıyor, sadece tespit mi ediyor?
- Cloudflare onu tespit ve loglama özelliği olarak konumlandırıyor: “actively monitor for a wide range of known threat signatures”, “IDS will start inspecting packets and report any anomalous traffic.” Ama Logpush şemasında bir
Actionalanı var ve tanımı birebir şöyle: “What action was taken on the packet. Possible values are pass | block.” Dokümanların hiçbiri IDS'in nasıl bloklama moduna alınacağını anlatmıyor. Bu yüzden “sadece tespit eder, asla bloklamaz” yazmıyoruz — bloklama davranışını hesap ekibine teyit ettir. İki not daha: IDS “a subset of packets” üzerinde çalışıyor, ve “You must configure Logpush to log detected risks” — Logpush yoksa IDS pratikte sessiz. - Magic Transit aldım, IDS ve ülke filtresi de geldi mi?
- Hayır. Bunlar Advanced pakete ait ve ayrı satın alınıyor. Standard'da olanlar: protokol/port/IP/paket uzunluğu/bit alanı filtreleme, kuralların “in less than a minute” yayılması, tek panel, API/Terraform, kural bazlı analitik, Cloudflare WAN entegrasyonu, Magic Transit ile gelen DDoS koruması. Advanced'de olanlar: özelleştirilebilir IP listeleri, yönetilen tehdit istihbaratı listeleri (Anonymizer, Botnet, Malware, Open Proxies, VPNs), ülkeye göre coğrafi bloklama, ASN filtreleme, istek üzerine paket yakalama, protokol doğrulama (bugün yalnızca SIP), giden trafik için Secure Web Gateway filtreleme, ve IDS.
- Managed ruleset'ler neler?
- Adları yayımlanmıyor. Doküman şöyle diyor: “If the ruleset you want is not displayed, contact your account manager to get a list of all Network Firewall Managed rulesets.” Ayrıca erişim ayrı: “your account must first be entitled to use managed rulesets.” Ve varsayılan olarak kapalılar: “All rules in the Managed phase are currently disabled by default.” Cloudflare'in tavsiyesi önce Log'a almak: “Cloudflare recommends you change this setting to Log to evaluate how the ruleset impacts your traffic before deciding on an action.”
- Paket yakalama (PCAP) nasıl çalışıyor?
- İki tip var ve farkları büyük. Sample: “query historical traffic that has already passed through Cloudflare's network — not new traffic — so they complete immediately”, ama yalnızca “the first 160 bytes of each packet”. Panelde görüntülenebiliyor. Full: “actively monitor Cloudflare's network for new traffic”, tam paket verisi, “saved directly to a cloud storage bucket that you own and configure. You cannot view it in the Cloudflare dashboard.” Sınırlar: paket 1–10.000; sample süresi 1–300 sn; full için 1–86.400 sn ve 1 GB. Eşzamanlılık: dakikada bir sample, aynı anda tek full. Ve bir tuzak: “the packet capture (pcap) might be empty because packets were dropped” — DDoS katmanında düşen trafik PCAP'e girmiyor.
- PCAP süresi için iki farklı sayı görüyorum.
- İki resmî sayfa çelişiyor, ikisini de veriyoruz. Genel sayfa: “Both capture types have a maximum runtime of 300 seconds.” Detay sayfası (aynı sayfanın “tam liste için” diye link verdiği sayfa): “Full —
time_limit: The minimum value is1seconds and maximum value is86400seconds.” İkisi de 1 Eylül 2026'da erişildi. Bir tanesini tek doğru kabul etme; hesap ekibine teyit ettir. - Logları nerede görüyorum, ne kadar saklanıyor?
- Network Analytics — ön koşul: Enterprise + (Magic Transit veya Spectrum veya Cloudflare WAN). Saklama birebir: “The data retention for Network Analytics is 16 weeks. Additionally, data older than eight weeks might have lower resolution when using narrow time frames.” Sekmeler: All Traffic, DDoS managed rules, Firewall, DNS protection. Logpush datasetleri:
network_analytics_logs,magic_ids_detections,magic_bgp_logs,ipsec_logs,mnm_flow_logs,firewall_events. Bir agregasyon tuzağı: “a daily view shows 24-hour averages, which can flatten short-term traffic spikes” — kısa saldırıları görmek için beş dakikalık aralığa in. - Reverse proxy ürünleriyle birlikte kullanınca kaynak IP kuralları çalışmıyor.
- Beklenen davranış. Birebir: “Firewall rules that block traffic based on source IP address may not work as intended because rules are evaluated after Cloudflare terminates the incoming TCP connections.” Yani CDN/WAF önde olduğunda Network Firewall'ın gördüğü kaynak IP artık ziyaretçinin değil. Aynı sayfanın devamı: “You must allow Cloudflare IP addresses.”
- Rate limiting var mı?
- Beta ve çok kısıtlı. Erişim: “For Cloudflare Advanced Network Firewall customers, rate limiting (beta) is available by request through the account team.” Faz
magic_transit_ratelimit. Bugünkü sınırı birebir: “Select the Field: At the moment, you can only choose a colo name.” Yani IP veya port başına hız sınırı henüz yok.
İlgili servisler
- Magic TransitKendi IP bloğunu BGP ile Cloudflare’e announce edip tüm ağ trafiğini DDoS koruması altına alır.
- Cloudflare WANŞube, veri merkezi ve cloud ağlarını Cloudflare backbone’u üzerinden birbirine bağlar.
- DDoS ProtectionL3/L4 ağ katmanı DDoS savunması ve sınırsız (unmetered) koruma politikası. HTTP katmanı için DDoS for Web.
- WAFSQL injection, XSS ve bilinen zafiyet istismarlarını request origin’e ulaşmadan engeller.
- Network FlowKendi router’larından gelen NetFlow/sFlow/IPFIX verisiyle ağ trafiğini görünür kılar. Eski adı Magic Network Monitoring.
- Network InterconnectVeri merkezini Cloudflare’e fiziksel veya sanal private hatla bağlar.
Bu sayfadaki fiyat ve özellik bilgileri 1 Eylül 2026 tarihinde Cloudflare’in resmî kaynaklarından doğrulanmıştır. Cloudflare fiyatlandırmasını önceden haber vermeden değiştirebilir; bağlayıcı bilgi içinresmî sayfaya bakın.