Kurumsal Network Kurulumu

Firewall Nedir? Güvenlik Duvarı Nasıl Çalışır?

Firewall nedir, güvenlik duvarı nasıl çalışır? Stateless ve stateful farkı, NGFW, UTM ve zone mantığı; kapının kararını lab ortamında paket paket ölçtüm.

İlker Pehlivan

Firewall (güvenlik duvarı), bir ağın sınırında durup içeri giren ve dışarı çıkan her paketi yazılı bir kural listesine göre geçiren ya da durduran cihaz veya yazılımdır. Kararı, paketin nereden gelip nereye gittiğine, hangi protokolü ve hangi portu kullandığına bakarak verir. Bugünkü firewall’lar bu listeye bir hafıza ekler; içeriden başlatılmış bir bağlantının cevabını, o bağlantıyı daha önce kaydettikleri için tanırlar.

Bu yazıda o hafızanın ne işe yaradığını lab ortamında ölçüyorum. Aynı web isteğini önce hafızasız, sonra hafızalı bir filtreden geçirdim ve iki sonucu paket paket karşılaştırdım. Ardından kural listesinin nasıl okunduğunu, zone mantığını ve yeni nesil firewall (NGFW) ile UTM arasındaki farkı anlatıyorum. Ölçümü hemen görmek isterseniz doğrudan lab bölümüne geçebilirsiniz.

Edirne’deki Kapıkule gibi bir kara sınır kapısını düşünün. Kapıya gelen her aracın nereden gelip nereye gittiği evrakından okunur. Gümrük memurunun önünde bir talimat listesi durur; memur listeyi yukarıdan aşağı okur ve listede izni olmayan aracı geçirmez. Bu yazıdaki kapı bir şey daha yapar: çıkan her aracı kayda geçirir ve dönen aracı o kayda bakarak tanır.

Bu yazı, Kurumsal Network Kurulumu hizmetimizin firewall kümesinin giriş yazısıdır. Aynı işi müşterilerimizin ağında nasıl yürüttüğümüzü firewall kurulumu ve yönetimi sayfamızda anlattık.

Firewall benzetmesi: kara sınır kapısında gümrük memurunun kabinindeki askılıkta iki renkli disk var; diskle aynı renkte kabini olan dönen tır açık bariyerden geçiyor, diski olmayan tır inik bariyerin önünde bekliyor
Kapı çıkan her aracın kaydını tutar ve dönen aracı o kayda bakarak geçirir. Stateful firewall da dönüş paketini bağlantı tablosunda karşılığı varsa içeri alır.

Firewall Nedir? Sınırda Verilen Tek Karar

Firewall’un bütün işi, önüne gelen her paket için tek bir karar vermektir: geçsin mi, geçmesin mi? Bu karar iki ağın birbirine değdiği noktada verilir. O nokta çoğu zaman kurumun iç ağı ile internet arasındaki geçittir, ama iç ağın iki bölümü arasında da olabilir.

Klasik bir firewall kararını paketin başlığındaki şu alanlara bakarak verir:

  • Kaynak IP adresi paketin hangi cihazdan çıktığını söyler.
  • Hedef IP adresi paketin hangi cihaza ulaşmak istediğini söyler.
  • Protokol trafiğin TCP, UDP ya da ICMP olduğunu gösterir.
  • Kaynak ve hedef port bağlantının hangi servise ait olduğunu gösterir; bir web sunucusunun hedef portu çoğunlukla 80 ya da 443tür.
  • Arayüz ve yön, paketin firewall’a hangi bacaktan girip hangisinden çıkacağını belirler.

Liste, ABD’nin standartlar kurumu NIST’in firewall rehberindeki paket filtresi tanımından alındı (SP 800-41 Rev. 1, bölüm 2.1.1). Yazının geri kalanındaki “bölüm” atıfları bu rehberin bölüm numaralarıdır ve her biri rehberin PDF’inde o bölümün sayfasını açar. Firewall bir cihaz da olabilir, bir işletim sisteminin içindeki yazılım da; ikisinin farkına kime uygun bölümünde geliyorum.

Yazının geri kalanında benzetmenin parçaları şu karşılıkları taşıyor:

Sınır kapısındaFirewall’da
Kapıya gelen araçPaket
Aracın evrakıBaşlık alanları: adres, protokol, port
Memurun talimat listesiKural listesi
Listede adı geçmeyen aracın geri çevrilmesiVarsayılan ret
Kapıdaki kayıtBağlantı (durum) tablosu
Serbest bölgeDMZ
Gümrük muayenesiNGFW’nin uygulama ve içerik denetimi
Yükün kapıda boşaltılıp başka bir araca aktarılmasıProxy firewall
Varış deposundaki mal kabulüWAF

Firewall Ne İşe Yarar?

Firewall, ağdaki cihazların tek tek korumak zorunda kalacağı kapıları tek bir noktada toplar. Pratikte şu işleri yapar:

  • Dışarıdan başlatılan bağlantıyı durdurur. İçerideki bir sunucuya internetten yalnız sizin izin verdiğiniz servis üzerinden ulaşılır.
  • İçeriden dışarı çıkışı sınırlar. NIST buna egress filtering (çıkış filtrelemesi) der ve kurumun yalnız kendi adreslerinden çıkan trafiğe izin vermesini önerir.
  • İç ağın bölümleri arasındaki geçişi denetler. Misafir ağındaki bir telefon, muhasebe sunucusuna ulaşamaz.
  • Geçen ve durdurulan trafiğin kaydını tutar. Bir olaydan sonra “O gece kim nereye bağlandı?” sorusunun cevabı bu kayıttadır.

Firewall olmasaydı bu işlerin her biri cihaz başına yapılmak zorunda kalırdı. Kırk cihazlı bir ofiste bu, kırk ayrı kural listesi ve kırk ayrı kayıt demektir. Bölümler arası geçişi ise hiçbir cihaz tek başına denetleyemez, çünkü her cihaz yalnız kendisini görür.

Firewall Türleri Nelerdir?

Firewall türleri, kararı neye bakarak verdiklerine ve neyi koruduklarına göre ayrılır:

  • Paket filtresi (durumsuz firewall) her paketi yalnız kendi başlığına bakarak değerlendirir.
  • Durumlu (stateful) firewall izin verdiği bağlantıları bir tabloda izler ve dönüş trafiğini o tablodan geçirir.
  • Yeni nesil firewall (NGFW) kararına trafiğin hangi uygulamaya ait olduğunu ve içeriğini de katar.
  • UTM firewall’la birlikte zararlı yazılım taraması, saldırı önleme ve VPN gibi işlevleri tek kutuda toplar.
  • Proxy (uygulama katmanı) firewall iki cihazı doğrudan konuşturmaz; bağlantıyı iki ucuyla ayrı ayrı kendisi kurar.
  • Web uygulaması firewall’u (WAF) bir web sunucusunun önünde durur ve gelen HTTP isteklerinin içeriğine bakar.
  • Yazılım (host tabanlı) firewall yalnız üzerinde çalıştığı cihazı korur; Windows’taki Windows Defender Firewall bunun en yaygın örneğidir.
  • Sanal ve bulut firewall fiziksel kablonun olmadığı yerde, sanal makineler ve bulut ağları arasında çalışır.

Hepsini bu yazıda sırayla açıyorum. İlk ikisi kural ve bağlantı tablosu bölümlerinde, NGFW ve UTM kendi bölümlerinde, proxy ve WAF uygulama katmanı bölümünde, yazılım ve sanal firewall kime uygun bölümünde geçiyor.

Firewall Kuralı Nasıl Okunur? Liste, Sıra ve Varsayılan Ret

Firewall kararını bir kural listesine bakarak verir ve her kural iki parçadan oluşur. Eşleşme koşulları hangi trafiğin kastedildiğini söyler; kaynak, hedef ve servis bu kısımdadır. Eylem ise o trafiğe ne yapılacağını söyler ve çoğu zaman iki değerden birini alır: izin ver ya da reddet.

Liste üç kurala göre okunur:

  1. Liste yukarıdan aşağı okunur. Paket kendisine uyan ilk kurala geldiğinde karar verilir ve alttaki kurallara bakılmaz.
  2. Hiçbir kurala uymayan paket reddedilir. Listenin sonunda, siz yazmasanız da bir ret durur. NIST bu yaklaşıma deny by default (varsayılan ret) der ve açıkça izin verilmemiş bütün gelen ve giden trafiğin engellenmesini önerir (bölüm 4).
  3. Sıra anlamı değiştirir. Genel bir kural özel bir kuralın üstünde durursa, özel kural hiç eşleşmez.

Bu üç kuralın mekanizması dosya sisteminden switch’e kadar her erişim listesinde aynıdır. Aynı iki kuralın yer değiştirince ters sonuç verdiğini ACL yazımızda lab switch’inde ölçtüm.

Örnekteki sınır kapısında memur listeyi tepeden okur ve aracın evrakına uyan ilk satırda durur. Listede aracın karşılığı yoksa araç geri çevrilir. Memurun “yazmıyor ama geçsin” deme yetkisi yoktur.

Varsayılan ret listede görünür bir satır olarak da durabilir. FortiGate’in kural listesinin en altında, siz hiçbir kural yazmasanız da Implicit Deny adlı bir satır durur ve trafik kayıtlarında bu satırın numarası 0’dır. policyid=0 taşıyan bir kayıt, hiçbir kurala uymadığı için düşen bir paketi anlatır.

Gölge kuralı üreten şey kötü niyet değil, sıradır. Listenin sonuna eklenen yeni bir kural, üstünde kendisinden geniş bir kural varsa hiç çalışmaz. FortiGate’in arayüzü de yeni kuralı listenin sonuna ekler; bunun lab cihazında nasıl göründüğünü ve kuralın nasıl üste taşındığını FortiGate kullanım rehberimizde gösterdim. Böyle kuralların bir listede yıllar içinde nasıl biriktiğini firewall yönetimi bölümümüzde anlattık.

Stateless ve Stateful Firewall Farkı: Kapıdaki Kayıt

Stateless (durumsuz) firewall her paketi yalnız kendi başlığına bakarak değerlendirir ve daha önce geçen paketleri hatırlamaz. Stateful (durumlu) firewall ise izin verdiği her bağlantıyı bir bağlantı tablosuna yazar ve gelen her paketi önce o tabloda arar. NIST bu tabloya state table der; içinde kaynak ve hedef adresi, port numaraları ve bağlantının durumu bulunur (bölüm 2.1.2).

Fark, dönüş trafiğinde ortaya çıkar. Bir kullanıcı bir web sitesine bağlandığında istek içeriden dışarıya gider, cevap ise dışarıdan içeriye döner. Listede yalnız “iç ağ web sunucusuna gidebilir” yazıyorsa dönen cevap hangi kurala uyacak?

Durumsuz ve durumlu firewall karşılaştırması. İç ağdaki 10.10.1.10 bilgisayarı 203.0.113.80 web sunucusunun 80 portuna istek gönderir. Durumsuz filtrede istek izin kuralına uyup geçer, sunucunun cevabı ise hiçbir kurala uymaz ve listenin sonundaki varsayılan retle düşer. Durumlu firewall'da istek geçerken bağlantı tablosuna bir satır yazılır; cevap bu satırla eşleşir ve dönüş için kural yazılmadan geçer. Durumsuz filtre: her paket yalnız kendi başlığıyla değerlendirilir İç bilgisayar 10.10.1.10 Firewall kural listesi Web sunucusu 203.0.113.80:80 1. İstek izin kuralına uyar ve geçer. 2. Cevap hiçbir kurala uymaz ve listenin sonundaki varsayılan retle düşer. Durumlu firewall: dönüş paketi önce bağlantı tablosunda aranır İç bilgisayar 10.10.1.10 Firewall kural listesi + tablo Web sunucusu 203.0.113.80:80 tablo: 10.10.1.10 ↔ 203.0.113.80:80 1. İstek geçer ve tabloya bir satır yazılır. 2. Cevap tablodaki satırla eşleşir ve dönüş için kural yazılmadan geçer. Durumsuz ve durumlu firewall karşılaştırması. İç ağdaki 10.10.1.10 bilgisayarı 203.0.113.80 web sunucusunun 80 portuna istek gönderir. Durumsuz filtrede istek izin kuralına uyup geçer, sunucunun cevabı ise hiçbir kurala uymaz ve listenin sonundaki varsayılan retle düşer. Durumlu firewall'da istek geçerken bağlantı tablosuna bir satır yazılır; cevap bu satırla eşleşir ve dönüş için kural yazılmadan geçer. Durumsuz filtre: her paket tek başına İç bilgisayar 10.10.1.10 Firewall kural listesi Web sunucusu 203.0.113.80 1. İstek izin kuralına uyar ve geçer. 2. Cevap hiçbir kurala uymaz, listenin sonundaki retle düşer. Durumlu firewall: önce tabloya bakar İç bilgisayar 10.10.1.10 Firewall liste + tablo Web sunucusu 203.0.113.80 10.10.1.10 ↔ 203.0.113.80:80 1. İstek geçer, tabloya satır yazılır. 2. Cevap satırla eşleşir ve dönüş kuralı yazılmadan geçer.
Durumsuz filtre dönüş paketini tek başına değerlendirir ve listede karşılığı olmadığı için düşürür. Durumlu firewall isteği geçirirken tabloya yazar; cevap o satırla eşleşir.

Lab: Üç Ağ ve Arada Tek Kapı

Bunu görmek için lab’daki bir Ubuntu 24.04 sunucusunun içinde üç ayrı ağ ortamı kurdum ve ortadakini firewall yaptım. Ağ ortamları Linux’un network namespace özelliğiyle ayrıldı; namespace’in ve onları birbirine bağlayan sanal kabloların ne olduğunu NAT yazımızın lab bölümünde adım adım anlattık.

Ağ ortamıAdresNeyin yerine geçiyor
ic10.10.1.10İç ağdaki bir bilgisayar
fw10.10.1.1 ve 203.0.113.1Firewall: bir bacağı iç ağa, bir bacağı dışarıya bakıyor
dis203.0.113.80, port 80İnternetteki bir web sunucusu

Bu düzende NAT yok ve iç adres dışarıya olduğu gibi çıkıyor, çünkü ölçümdeki tek değişken kuralların kendisi olsun istedim. Dış taraftaki 203.0.113.0/24 bloğu internette kimseye ait değildir, belgelerde ve örneklerde kullanılmak üzere ayrılmıştır (RFC 5737). Kuralları Linux’un kendi firewall’u nftables ile yalnız fw ortamının içine yazdım; makinenin kendi kurallarına dokunmadım.

Durumsuz Filtre: Cevap Kapıda Kalıyor

İlk denemede listede tek bir kural var ve bu kural iç ağdan web sunucusunun 80 portuna giden trafiğe izin veriyor. Dönüş için kural yok ve listenin sonu reddediyor:

Yapılandırma
table inet fwlab {
  chain forward {
    type filter hook forward priority 0; policy drop;
    iifname "fw-ic" ip daddr 203.0.113.80 tcp dport 80 counter accept comment "ic ag -> web sunucusu"
    counter comment "listenin sonu: varsayilan ret"
  }
}

Dosyayı okurken üç satıra bakın:

  • policy drop varsayılan rettir; hiçbir kurala uymayan paket düşer.
  • Ortadaki satır tek izin kuralıdır ve iç bacaktan (fw-ic) gelip 203.0.113.80 adresinin 80 portuna giden TCP paketlerini geçirir.
  • Son satır karar vermez, yalnız sayar. Listenin sonuna kadar gelip varsayılan rete düşen paketlerin sayısını bu satırdan okuyacağız.

Kuralı yükleyip iç ağdan sayfayı istedim:

Bash
ip netns exec fw nft -f kural-1.nft
ip netns exec ic curl -s -m 5 -o /dev/null -w 'http=%{http_code} sure=%{time_total}\n' http://203.0.113.80/; echo cikis_kodu=$?

Şunu bekleyebilirsiniz: istek bir kurala uyuyor, sayfa açılmalı. Ekrana düşen:

Çıktı
http=000 sure=5.003116
cikis_kodu=28

http=000 hiçbir cevap gelmediği anlamına gelir. curl beş saniye bekledi (-m 5) ve 28 koduyla, yani zaman aşımıyla çıktı. Sayfa açılmadı.

Ne olduğunu görmek için aynı anda firewall’un iki bacağını dinledim:

Bash
ip netns exec fw tcpdump -l -nn -i fw-ic "tcp port 80"
ip netns exec fw tcpdump -l -nn -i fw-dis "tcp port 80"

Dökümlerde iki işarete bakın. Flags [S] bağlantı kurma isteğidir (SYN); Flags [S.] ise sunucunun bu isteğe verdiği onaydır (SYN-ACK). Satırların sonunu kısalttım. İç ağa bakan bacakta görünen:

Çıktı
19:16:54.089155 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:55.108707 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:56.132779 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:57.156733 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:58.180854 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...

Dışarıya bakan bacakta aynı saniyelerde görünen:

Çıktı
19:16:54.089175 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:54.089188 IP 203.0.113.80.80 > 10.10.1.10.41942: Flags [S.], seq 2205528364, ack 3324272131, ...
19:16:55.108719 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:55.108723 IP 203.0.113.80.80 > 10.10.1.10.41942: Flags [S.], seq 2205528364, ack 3324272131, ...
19:16:55.108731 IP 203.0.113.80.80 > 10.10.1.10.41942: Flags [S.], seq 2205528364, ack 3324272131, ...
19:16:56.132822 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:56.132873 IP 203.0.113.80.80 > 10.10.1.10.41942: Flags [S.], seq 2205528364, ack 3324272131, ...
19:16:57.156748 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:57.156765 IP 203.0.113.80.80 > 10.10.1.10.41942: Flags [S.], seq 2205528364, ack 3324272131, ...
19:16:58.180871 IP 10.10.1.10.41942 > 203.0.113.80.80: Flags [S], seq 3324272130, ...
19:16:58.180893 IP 203.0.113.80.80 > 10.10.1.10.41942: Flags [S.], seq 2205528364, ack 3324272131, ...
19:17:00.228892 IP 203.0.113.80.80 > 10.10.1.10.41942: Flags [S.], seq 2205528364, ack 3324272131, ...

Kuralların sayaçları da aynı hikâyeyi anlatıyor:

Çıktı
table inet fwlab {
	chain forward {
		type filter hook forward priority filter; policy drop;
		iifname "fw-ic" ip daddr 203.0.113.80 tcp dport 80 counter packets 5 bytes 300 accept comment "ic ag -> web sunucusu"
		counter packets 7 bytes 420 comment "listenin sonu: varsayilan ret"
	}
}

Üç kayıt yan yana okununca olay adım adım çıkıyor:

  1. İstek kapıdan geçti. İç bacakta beş SYN var, dış bacakta aynı beş SYN; izin kuralının sayacı da 5 paket gösteriyor.
  2. Sunucu cevap verdi. Dış bacakta yedi SYN-ACK görünüyor. Sayı beşten fazla, çünkü sunucu hem tekrarlanan her isteğe cevap veriyor hem de onay alamayınca cevabını kendisi yeniden gönderiyor.
  3. Cevapların hiçbiri içeri geçmedi. İç bacakta tek bir SYN-ACK yok. Listenin sonundaki sayaç 7 gösteriyor, yani yedi cevabın yedisi de varsayılan rete düştü.
  4. İstemci cevap alamadığı için vazgeçti. İsteğini beş kez tekrarladı ve beş saniyelik süre dolunca zaman aşımıyla çıktı.

Kapı isteği geçirdi, cevabı durdurdu. Kullanıcının ekranında bunların hiçbiri görünmez; gördüğü tek şey açılmayan bir sayfadır. Sessizce düşen paketin neden hata değil bekleme olarak göründüğünü port yazımızdaki beş senaryoda ölçtüm.

Örnekteki sınır kapısında bu, çıkış yapan tırın dönüşte geri çevrilmesidir. Memurun listesinde yalnız “çıkabilir” yazıyor ve memur, dönen aracı çıkarken gördüğünü hatırlamıyor.

Durumsuz Filtrede Dönüş İçin Açılan Kapı

Durumsuz bir filtrede bu sorunun tek çözümü dönüş için ikinci bir kural yazmaktır. Kuralın özü şudur: dışarıdan gelen ve kaynak portu 80 olan TCP paketlerine izin ver. Bu kural sayfayı açar, ama iki bedeli vardır.

  1. Kural, cevabı cevap gibi görünen paketten ayıramaz. Filtre bir paketin gerçekten bir isteğe karşılık gelip gelmediğini bilemez. Bildiği tek şey başlıktaki port numarasıdır ve o numarayı paketi gönderen taraf yazar.
  2. Kural binlerce portu açık tutar. Cevap, istemcinin bağlantıyı açarken seçtiği geçici bir porta döner ve bu port her bağlantıda değişir. Lab’daki iki denemede 41942 ve 48494’tü; Linux bu portu varsayılan olarak 32768-60999 aralığından seçer. Dönüşü geçiren kural bu yüzden tek bir portu değil, bütün aralığı açmak zorunda kalır.

NIST de durumsuz filtrelerin aynı oturuma ait paketleri birbiriyle ilişkilendiremediğini ve başlığı değiştirilmiş paketlere karşı genel olarak savunmasız olduğunu yazar (bölüm 2.1.1). Geçici portların neden ayrı bir aralıkta durduğunu port yazımızda, bulut sağlayıcılarının durumsuz listelerinde dönüş kuralının neden ayrıca yazıldığını da ACL yazımızın bulut bölümünde anlattık.

Örnekteki kapıda bu, memurun listesine “dönüş yönünde bu şeritten gelen her araç geçebilir” diye bir satır eklemektir. Memur artık dönen tırla dönüyormuş gibi yapan tırı birbirinden ayıramaz.

Durumlu Firewall: Bağlantı Tablosuna Bakan Kapı

Durumlu firewall aynı sorunu kuralla değil hafızayla çözer. İkinci denemede listeye yalnız bir satır ekledim ve izin kuralını yeni bağlantılarla sınırladım:

Yapılandırma
table inet fwlab {
  chain forward {
    type filter hook forward priority 0; policy drop;
    ct state established,related counter accept comment "kayitli baglantinin devami"
    iifname "fw-ic" ip daddr 203.0.113.80 tcp dport 80 ct state new counter accept comment "ic ag -> web sunucusu"
    counter comment "listenin sonu: varsayilan ret"
  }
}

ct, Linux’un bağlantı izleyicisi conntrack’e bakan ifadedir. İlk satır “bağlantı tablosunda karşılığı olan paket geçsin” der. İkinci satır yalnız yeni bir bağlantının ilk paketine (ct state new) izin verir. Dönüş yönü için yazılmış bir kural yine yok.

Aynı isteği tekrarladım:

Bash
ip netns exec fw nft -f kural-3.nft
ip netns exec ic curl -s -m 5 -w '\nhttp=%{http_code} sure=%{time_total}\n' http://203.0.113.80/
Çıktı
dis web sunucusu

http=200 sure=0.006131

Sayfa 6 milisaniyede açıldı. Sayaçlar dönüşün hangi satırdan geçtiğini gösteriyor:

Çıktı
table inet fwlab {
	chain forward {
		type filter hook forward priority filter; policy drop;
		ct state established,related counter packets 11 bytes 857 accept comment "kayitli baglantinin devami"
		iifname "fw-ic" ip daddr 203.0.113.80 tcp dport 80 ct state new counter packets 1 bytes 60 accept comment "ic ag -> web sunucusu"
		counter packets 0 bytes 0 comment "listenin sonu: varsayilan ret"
	}
}

İki bacakta da on ikişer paket yakaladım. İzin kuralı bunlardan yalnız birini, bağlantıyı açan ilk SYN’i saydı. Kalan on bir paket, iki yöndeki cevaplar ve kapanış dahil, tablodaki kayıtla geçti. Listenin sonuna tek bir paket düşmedi.

Tabloda bu sırada ne olduğunu conntrack -E ile izledim. Satırların sonunu kısalttım:

Çıktı
    [NEW] tcp      6 120 SYN_SENT src=10.10.1.10 dst=203.0.113.80 sport=48494 dport=80 [UNREPLIED] ...
 [UPDATE] tcp      6 60 SYN_RECV src=10.10.1.10 dst=203.0.113.80 sport=48494 dport=80 ...
 [UPDATE] tcp      6 432000 ESTABLISHED src=10.10.1.10 dst=203.0.113.80 sport=48494 dport=80 ... [ASSURED]
 [UPDATE] tcp      6 120 FIN_WAIT src=10.10.1.10 dst=203.0.113.80 sport=48494 dport=80 ... [ASSURED]
 [UPDATE] tcp      6 30 LAST_ACK src=10.10.1.10 dst=203.0.113.80 sport=48494 dport=80 ... [ASSURED]
 [UPDATE] tcp      6 120 TIME_WAIT src=10.10.1.10 dst=203.0.113.80 sport=48494 dport=80 ... [ASSURED]

tcp 6 ifadesinden sonra gelen sayı, kaydın kaç saniye sonra silineceğini gösterir; 6 TCP’nin protokol numarasıdır. Kayıt bağlantının ömrü boyunca şu durumlardan geçti:

  1. NEW, SYN_SENT, [UNREPLIED]: İlk SYN geldi ve tabloda kayıt açıldı. Henüz cevap yok; kayıt 120 saniye bekleyecek.
  2. SYN_RECV: Sunucunun SYN-ACK’i kayıtla eşleşti ve içeri geçti.
  3. ESTABLISHED, [ASSURED]: Üçlü el sıkışma tamamlandı. Kaydın ömrü 432.000 saniyeye, yani beş güne çıktı.
  4. FIN_WAIT ve LAST_ACK: Taraflar bağlantıyı kapattı.
  5. TIME_WAIT: Kapanan bağlantının kaydı 120 saniye daha tutulup siliniyor.

El sıkışmanın kendisini port yazımızda, kayıt satırındaki iki demetin nasıl okunduğunu NAT yazımızda anlattık. Bu tablo o yazıdaki bağlantı defterinin kendisidir; NIST de NAT yapan bir firewall’un çeviri bilgisini çoğu zaman aynı tabloya yazdığını belirtir.

Aynı belge sık yapılan bir yanılgıyı da düzeltir. NAT bir güvenlik işlevi değildir; dışarıdan başlatılan bağlantıyı durdurma etkisini durumlu bir firewall da sağlar (bölüm 3.2).

İki denemeyi yan yana koyunca fark tek bir satıra iniyor:

Durumsuz filtreDurumlu firewall
SayfaAçılmadı: http=000, 5 saniyede zaman aşımıAçıldı: http=200, 6 milisaniye
İzin kuralının saydığı5 paket, hepsi tekrarlanan SYN1 paket, ilk SYN
Tablodaki kayıtla geçenTablo yok11 paket
Listenin sonuna düşen7 paket, sunucunun cevapları0
Dönüş için yazılan kuralYok; yazılsaydı binlerce portu açardıYok ve gerekmiyor

Durumlu firewall’da dönüşü kural listesi değil, izin verilmiş bağlantının kaydı geçiriyor. Tablonun ikinci işi de buradan doğar. NIST’in örneğinde başlığıyla kurulmuş bir bağlantıya ait olduğunu iddia eden bir paket, durumlu firewall’dan ancak o bağlantı tabloda gerçekten varsa geçer (bölüm 2.1.2). Durumsuz filtrenin ayıramadığı “cevap gibi görünen paket” burada ayrılır.

UDP’de kurulum ve kapanış olmadığı için tablo yalnız adresleri ve portları tutar. NIST’in örneğinde dışarıdan gelen bir DNS cevabı, ancak içeriden giden ve bu cevaba karşılık gelen bir sorgu daha önce görülmüşse geçer; kayıt da belirli bir süre sessiz kalınca silinir.

Tablonun bir de tavanı var. Lab sunucusunda kaç bağlantının aynı anda izlenebildiğini okudum:

Bash
ip netns exec fw sysctl net.netfilter.nf_conntrack_max
Çıktı
net.netfilter.nf_conntrack_max = 65536

Tablo dolduğunda yeni bağlantı için kayıt açılamaz ve yeni bağlantılar düşer. Firewall’ların veri sayfalarında eşzamanlı oturum sayısının ayrıca yazılması bu yüzdendir.

FortiGate de durumludur; izin verdiğiniz bir bağlantının dönüşü için ters yönde kural yazmazsınız, çünkü cihaz her bağlantıyı bir oturum (session) olarak tutar.

Örnekteki sınır kapısı artık çıkan her tırı kayda geçiriyor ve dönen tırı listeye değil kayda bakarak geçiriyor. Benzetme bir yerde kopar. Memur yorulur ve bazen istisna yapar. Firewall ne yorulur ne istisna yapar; saniyede milyonlarca paketi yalnız listeye ve tabloya bakarak değerlendirir.

Firewall Zone Mantığı: İç Ağ, Dış Ağ ve DMZ

Zone (bölge), firewall’un aynı güven düzeyindeki arayüzlerini bir araya topladığı gruptur ve kurallar tek tek arayüzler yerine bu bölgeler arasında yazılır. Durumlu firewall’un kararında gizli bir sözcük vardı: içeriden. Dönüşü geçirilen bağlantı içeriden başlatılmıştı. Firewall’un neyin içerisi olduğunu bilmesi, bölgelerle mümkün olur.

Bir kurum ağında ayrılabilecek bölgeler şunlardır:

  • İç ağ (LAN) çalışanların bilgisayarlarının durduğu bölgedir.
  • Dış ağ (WAN) internete bakan bacaktır ve buradan başlatılan bağlantıya varsayılan olarak izin verilmez.
  • Sunucu ağı iç kullanıcıların ulaştığı ama internetten görünmeyen sunucuları kullanıcılardan ayırır.
  • Misafir ağı yalnız internete çıkabilir; iç ağa ve sunuculara ulaşamaz. Kurulumunu misafir Wi-Fi yazımızda anlattık.
  • DMZ dışarıdan erişilmesi gereken sunucuların durduğu ara bölgedir.

Kuralı arayüze değil bölgeye yazmanın pratik bir kazancı var. Bölgeye sonradan eklenen bir arayüz, örneğin yeni bir katın VLAN’ı, aynı kuralların altına kendiliğinden girer ve kural listesine dokunmak gerekmez. Bunu FortiGate’te zone ve DMZ yapılandırması yazımızda ölçtüm.

Bölgeler arasındaki her yön ayrı bir karardır. İç ağdan dış ağa çıkış açılır, dış ağdan iç ağa başlatılan bağlantı kapalı kalır ve dönüş trafiği zaten tablodan geçer. İç ağın bölümlerini birbirinden ayırmanın planını, yani hangi bölümün hangi VLAN’a düştüğünü, ağ segmentasyonu yazımızda anlattık.

DMZ Nedir? Dışarıya Açık Sunucunun Ara Bölgesi

DMZ, internetten gelen isteklerin ulaşabildiği ama oradan iç ağa geçişin yine firewall’dan geçtiği bölgedir. Adını, savaşan iki ülke arasında zaman zaman kurulan askerden arındırılmış bölgelerden (demilitarized zone) alır. NIST’in rehberi de adı böyle açıklar ve web ile e-posta sunucusu gibi dışarıya hizmet veren sistemlerin DMZ’ye konmasını örnek gösterir (bölüm 3.1).

DMZ’nin neden gerektiğini, web sunucusunu iç ağa koyduğunuzda ne olduğu gösterir. Dışarıdan o sunucuya açtığınız kapı iç ağa açılmış olur. Sunucu ele geçirilirse, onu ele geçiren taraf iç ağdaki bütün bilgisayarlarla aynı ağda durur. DMZ’deki bir sunucu ele geçirildiğinde ise iç ağa ulaşmak için yine firewall’dan geçmek gerekir ve DMZ’den iç ağa giden yön varsayılan olarak kapalıdır.

Web sunucusunun yeri ve ele geçirildiğinde açılan yol. Solda web sunucusu iç ağdadır: internetten gelen istek firewall üzerinden sunucuya ulaşır; sunucu ele geçirilirse aynı ağdaki bilgisayarlara firewall'dan geçmeden doğrudan erişilir. Sağda web sunucusu DMZ'dedir: internetten gelen istek yine sunucuya ulaşır, ama DMZ'den iç ağa giden her bağlantı firewall'dan geçmek zorundadır ve reddedilir. Web sunucusu iç ağda İnternet Firewall İç ağ Web sunucusu Bilgisayar Bilgisayar Ele geçirilen sunucu, firewall'a uğramadan bilgisayarlara ulaşır. Web sunucusu DMZ'de İnternet Firewall DMZ Web sunucusu İç ağ Bilgisayar Bilgisayar İç ağa giden yol yine firewall'dan geçer ve reddedilir. Web sunucusunun yeri ve ele geçirildiğinde açılan yol. Solda web sunucusu iç ağdadır: internetten gelen istek firewall üzerinden sunucuya ulaşır; sunucu ele geçirilirse aynı ağdaki bilgisayarlara firewall'dan geçmeden doğrudan erişilir. Sağda web sunucusu DMZ'dedir: internetten gelen istek yine sunucuya ulaşır, ama DMZ'den iç ağa giden her bağlantı firewall'dan geçmek zorundadır ve reddedilir. Web sunucusu iç ağda İnternet Firewall İç ağ Web sunucusu Bilgisayar Bilgisayar Ele geçirilen sunucu, firewall'a uğramadan bilgisayarlara ulaşır. Web sunucusu DMZ'de İnternet Firewall DMZ Web sunucusu İç ağ Bilgisayar Bilgisayar İç ağa giden yol yine firewall'dan geçer ve reddedilir.
Web sunucusu iç ağdaysa, ele geçirildiğinde bilgisayarlarla arasında firewall kalmaz. DMZ'deyse iç ağa giden her yol firewall'dan geçer.

DMZ’deki sunucuya dışarıdan gelen isteği ulaştıran kuralın, yani port yönlendirmenin nasıl yazıldığını NAT yazımızda anlattık.

Örnekteki sınır kapısında DMZ’nin karşılığı serbest bölgedir. Mersin Serbest Bölgesi gibi bir alana yurt dışından gelen mal gümrük vergisi ödemeden girer, ama oradan Türkiye’ye girerken gümrük işleminden geçer. İnternetten gelen istek de DMZ’ye ulaşır; iç ağa geçmek içinse yine firewall’un kurallarından geçmesi gerekir.

Yeni Nesil Firewall (NGFW) Nedir? Port Yerine Uygulamaya Bakmak

Yeni nesil firewall (Next-Generation Firewall, NGFW), kararını port numarasıyla yetinmeden trafiğin hangi uygulamaya ait olduğuna ve içinde ne taşıdığına bakarak verebilen firewall’dur. Buraya kadarki bütün kararlar başlıktaki adreslere ve portlara dayanıyordu. Bugün port, trafiğin hangi uygulamaya ait olduğunu söylemiyor.

Web tarayıcısı, bulut depolama servisleri ve pek çok uzaktan erişim aracı aynı 443 portundan konuşabilir. 443’e izin veren bir kural o porttan çıkan her şeye izin verir. Bir uzaktan erişim aracını port kuralıyla durduramazsınız, çünkü o araç da iş uygulamalarınızın kullandığı porttan çıkar.

NGFW bu boşluğu şu katmanlarla kapatır:

  • Uygulama tanıma trafiği imzalarla tanır ve kuralı port numarası yerine uygulamanın adına bağlar.
  • Saldırı önleme (IPS) trafikte bilinen saldırı kalıplarını arar ve eşleşeni durdurur.
  • Web filtreleme gidilen sitenin kategorisine bakar.
  • Kullanıcı kimliği kuralı bir IP adresi yerine bir kullanıcıya ya da gruba bağlar; kural “muhasebe grubu” diye yazılabilir.

NIST bu yeteneğin çekirdeğini, durumlu firewall’a eklenen uygulama katmanı çözümlemesi olarak tarif eder. Bazı üreticilerin buna deep packet inspection (derin paket inceleme) dediğini not eder; kendi örneği de 80 portunun üstünden anlık mesajlaşma yapılıp yapılmadığının anlaşılmasıdır (bölüm 2.1.3).

Örnekteki sınır kapısında bu, gümrük muayenesidir. Memur evraka bakmakla yetinmez; tırın kasasını açar ve yükün beyan edilenle aynı olup olmadığına bakar. Bir NGFW’nin aynı web isteğini 80 portunda da standart dışı bir portta da aynı uygulama olarak tanıdığını FortiGate uygulama kontrolü yazımızda ölçtük.

NGFW Şifreli Trafiğin İçini Görebilir mi?

Kendi başına göremez. HTTPS ile giden web trafiği şifrelidir ve NIST, firewall’un yalnız inceleyebildiği trafik üzerinde etkili olabildiğini yazar (bölüm 2.3). Gümrüğün açamadığı çantayı VPN yazımızda diplomatik çanta olarak anlatmıştık; HTTPS trafiği de firewall için aynı çantadır.

Şifreyi açmadan da bir şeyler görülür. Firewall, bağlantının hangi alan adına gittiğini TLS el sıkışmasında açık giden alan adından (SNI) okuyabilir; web filtreleme ve uygulama tanıma bir ölçüde bununla çalışır. Bu alanın el sıkışmada açık gittiğini TLS yazımızda gösterdik.

İçerikteki zararlı yazılımı görmek içinse trafiğin firewall’da açılıp yeniden şifrelenmesi gerekir. Bunun nasıl yapıldığını ve bedelini, banka sitelerinin neden açılmadığıyla birlikte FortiGate SSL inspection yazımızda ölçtük. Trafik açılmadığında ne olduğunu ise ölçtük: yalnız sertifika denetimi yapan kuralda antivirüs, HTTPS’ten inen test dosyasını hiç görmedi (FortiGate antivirüs yazımızda).

FortiGate’te bu katmanlar ayrı bir kutu değil, kuralın parçasıdır. Bir kurala hiçbir güvenlik profili (security profile) bağlanmamışsa o kural, adrese ve porta bakan durumlu bir kuraldan ibarettir.

UTM Nedir? NGFW ile UTM Farkı

UTM (Unified Threat Management, birleşik tehdit yönetimi), birden çok güvenlik işlevinin tek bir cihazda toplandığı sistemdir. NIST’in tanımında tipik bir UTM, firewall’u, zararlı yazılım tespitini ve şüpheli ağ taramalarının algılanıp engellenmesini bir arada taşır (bölüm 2.1.8). Aynı rehbere göre VPN işlevi de çoğu zaman firewall’un kendisindedir (bölüm 2.1.6).

NGFW ile UTM aynı ekseni ölçmez. NGFW, kararın neye, yani uygulamaya ve içeriğe bakarak verildiğini anlatır. UTM ise kaç işlevin tek kutuda toplandığını anlatır. Bu yüzden aynı cihaz iki tanımı birden karşılayabilir. FortiGate de böyledir; kuralları uygulamaya göre yazılabilir ve aynı kutuda VPN, web filtreleme ve saldırı önleme taşır.

Tek kutunun bir bedeli vardır. NIST’in uyardığı gibi, birden çok işi yürüten tek bir sistemin her işe yetecek işlemci ve belleğe sahip olması gerekir. Bedelin ölçüsü üreticinin kendi veri sayfasında da görülür:

  • FortiGate 40F’in veri sayfasına göre cihaz yalnız firewall olarak çalışırken 5 Gbps taşıyabiliyor.
  • Firewall, IPS ve uygulama kontrolü birlikte açıkken bu değer 800 Mbps’e iniyor.
  • Bunlara zararlı yazılım koruması da eklenince 600 Mbps kalıyor.

Aynı kutu, bütün katmanlar açıkken düz firewall hızının sekizde birinden azına düşüyor. Oran kesin bir katsayı değildir. Düz firewall değeri büyük UDP paketleriyle, diğer ikisi kurumsal trafik karışımıyla ölçülür; veri sayfası da bütün değerlerin üst sınır olduğunu not eder. Yine de bedelin büyüklüğünü gösterir.

Örnekteki sınır kapısında UTM, pasaport kontrolünün, gümrük muayenesinin ve sağlık kontrolünün aynı binada, aynı hattın üstünde sıralanmasıdır. Tek binada yönetmek kolaydır. Ama her araç her kontrolden geçtiği için hattın hızı en yavaş kontrolün hızına bağlanır.

Proxy Firewall ve WAF: Uygulama Katmanındaki İki Kapı

NGFW ve UTM trafiği geçirirken içine bakıyor. Proxy firewall ise trafiği geçirmez, yeniden kurar. WAF de ağın değil, tek bir web uygulamasının önünde durur.

Proxy Firewall: Bağlantıyı İkiye Bölen Kapı

Proxy firewall, iki cihazın doğrudan konuşmasına hiç izin vermeyen firewall’dur. İstemci proxy’ye bağlanır, proxy de hedefe kendi adına ayrı bir bağlantı açar. NIST’in tarifiyle her başarılı bağlantı denemesi aslında iki ayrı bağlantı doğurur. Biri istemci ile proxy arasında, diğeri proxy ile gerçek hedef arasında kurulur (bölüm 2.1.4).

Bu düzenin iki sonucu var:

  1. İç adresler dışarıdan görünmez. Dıştaki sunucu yalnız proxy’yle konuştuğu için içerideki cihazın adresini hiç görmez.
  2. İçerik baştan sona okunur. Proxy bağlantının ucunu kendisi tuttuğu için uygulamanın taşıdığını okur ve kurala uymayanı karşı tarafa iletmez.

Bedeli hızdır. NIST’e göre proxy her paketi okuyup yorumlamak için çok daha fazla zaman harcar ve her protokol için ayrı bir proxy ajanı ister. Tanımadığı protokolü genel bir ajanla tünelden geçirdiğinde de avantajının büyük kısmını kaybeder. Rehberin verdiği tanıdık örnek, firewall’un arkasına konan bir web proxy’sidir; kullanıcılar dış sitelere o proxy üzerinden bağlanır (bölüm 2.1.5).

Örnekteki sınır kapısında proxy, aracın kapıdan hiç geçmediği bir aktarma noktasıdır. Yük kapıda boşaltılır, tek tek sayılır ve karşı taraftaki başka bir araca yüklenir. Karşı taraf yükü getiren aracı hiç görmez.

WAF: Web Sunucusunun Önündeki Kapı

Web uygulaması firewall’u (Web Application Firewall, WAF), tek bir web sunucusunun önüne konan ve o sunucuya gelen HTTP isteklerinin içine bakan firewall’dur. NIST onu, web sunucusunun önünde duran ve HTTP üzerinden yapılan saldırıların çoğunu yakalayabilen özel bir uygulama firewall’u olarak tanımlar. Aynı paragrafta WAF’ın geleneksel firewall’dan çok farklı sayıldığını da not eder (bölüm 2.1.9).

Farkı bir örnekle görmek kolay. Ağ firewall’u web sunucunuza 443 portundan gelen trafiğe izin verir, çünkü sitenin açık olması gerekir. Bir saldırgan da aynı porttan, sıradan bir form isteğinin içine veritabanı komutu gizleyerek gelir. Adres doğru, port doğru, bağlantı kurala uygundur. Ağ firewall’u için bu istek diğerlerinden farksızdır; WAF ise form alanında veritabanı komutu taşıyan isteği sunucuya iletmez.

İsteğin içini okuyabilmesi için WAF’ın onu şifresi açılmış hâliyle görmesi gerekir. Bu yüzden WAF çoğunlukla sunucunun önünde bir vekil gibi durur ve HTTPS bağlantısını sunucudan önce kendisi karşılar; bu, yukarıdaki proxy düzeninin web’e özel bir biçimidir.

WAF ağ firewall’unun yerine geçmez. Bölgeleri, VPN’i ve çıkış trafiğini ağ firewall’u yönetir; WAF yalnız arkasındaki web uygulamasını korur. Dışarıya açık bir web siteniz ya da müşteri portalınız yoksa WAF’a ihtiyacınız olmaz.

Örnekteki sınır kapısında WAF, gümrükten geçmiş tırın varış deposundaki mal kabulüdür. Tır sınırı kurallara uygun geçmiştir. Depo yine de indirilen her kolinin sipariş listesinde olup olmadığına bakar.

Hangi Firewall Kime Uygun? Modem, Yazılım ve Donanım

Buraya kadar firewall türlerini kararı neye bakarak verdiklerine göre ayırdık. Hangi kutunun gerektiğini ise ağın büyüklüğünden çok içinde ne barındırdığı belirler.

Modemdeki Firewall Ne Zaman Yeter?

Servis sağlayıcının verdiği modem, dışarıdan başlatılan bağlantıyı adres çevirisiyle birlikte zaten durdurur. Sunucusu olmayan, e-postası ve dosyaları bulutta duran birkaç kişilik bir ofiste bu çoğu zaman yeterlidir; ağda dışarıya açılması gereken bir servis yoktur.

Aşağıdaki durumlardan biri sizin için geçerliyse modem yetmez:

  • Misafir ağını çalışan ağından, sunucuları kullanıcılardan kurallarla ayırmak istiyorsunuz.
  • Dışarıdan erişilmesi gereken bir web ya da e-posta sunucunuz var.
  • Şubeleri ya da evden çalışanları kurumun ağına VPN ile bağlamanız gerekiyor.
  • Kimin hangi siteye ve hangi uygulamaya çıktığını kaydetmeniz ve sınırlamanız gerekiyor.

Modemin arkasına bir firewall koyduğunuzda iki cihaz da adres çevirisi yapıyorsa çift NAT oluşur. Dışarıdan içeri açılan her kapıyı o zaman iki ayrı yerde tanımlamanız gerekir; nedenini NAT yazımızda ölçtüm. Bunu önlemek için modem köprü moduna alınıp çeviri yalnız firewall’a bırakılabilir.

Yazılım Firewall: Her Cihazın Kendi Kapısı

Yazılım firewall, korumak istediğiniz cihazın kendi işletim sisteminde çalışan firewall’dur. Windows’ta Windows Defender Firewall, Linux’ta nftables bu işi yapar. NIST buna host tabanlı firewall der. Rehbere göre bu firewall, aynı alt ağdaki başka bir cihazdan gelen trafiği de süzer; o trafik ağ firewall’una hiç uğramaz (bölüm 2.2.1).

Windows Defender Firewall her bilgisayar için üç profil tutar: Domain, Private ve Public. Bilgisayar hangi tür ağa bağlıysa o profilin kuralları geçerli olur; aynı dizüstü bilgisayar ofiste etki alanına ulaştığında Domain, kafede Public profiliyle çalışır.

Kendi bilgisayarımda baktığımda üç profilin üçü de açıktı ve üçünde de default policy aynıydı (BlockInbound,AllowOutbound). Dışarıdan başlatılan bağlantı engelleniyor, dışarı çıkan bağlantı serbest bırakılıyor. Kurumda bu kurallar bilgisayar bilgisayar değil, Group Policy ile merkezden dağıtılır.

Yazılım firewall ağ firewall’unun yerine geçmez, onu tamamlar. Bölgeleri ayıramaz, çünkü yalnız kendi cihazını görür. Tek başına kullanıldığında kırk cihazlı bir ağda kırk ayrı kural listesi demektir.

Ağ firewall’u da bir yazılım olarak bir sunucuya ya da sanal makineye kurulabilir. Asıl ayrım yazılım ile donanım arasında değil, firewall’un tek bir cihazı mı yoksa ağın sınırını mı koruduğu arasındadır.

Sanal ve Bulut Firewall: Kablonun Olmadığı Ağ

Sanallaştırılmış bir sunucuda birden çok sanal makine aynı fiziksel makinenin içinde, sanal bir ağ üzerinden konuşur. Bu trafik hiçbir kablodan geçmez. NIST’in uyarısı da bu noktayla ilgili. Aynı fiziksel makinedeki sanal sistemler arasında doğrudan geçen trafiği dıştaki firewall göremez.

Rehbere göre bazı sanallaştırma platformları bu yüzden kendi firewall’unu taşır ya da araya başka bir firewall yazılımının eklenmesine izin verir (bölüm 2.1.10). FortiGate’in de sanal makine sürümü vardır.

Bulutta da sunucunun önüne fiziksel bir kutu konamaz. Bulut sağlayıcıları kural listesini ağın kendisine yerleştirir ve bu listeler de bu yazıdaki iki türe ayrılır. Bir kısmı bağlantıyı hatırlar, bir kısmı her paketi baştan okur. Hatırlamayan listede dönüş kuralının neden ayrıca yazıldığını durumsuz filtre bölümünde gördük.

Donanım Firewall: Ağın Sınırındaki Cihaz

Donanım firewall, ağın sınırına konan ve yalnız bu işi yapan cihazdır. Zone’lar, VPN, NGFW katmanları ve kayıt bu cihazda toplanır; modem listesindeki ihtiyaçlardan biri doğduğunda karşılığı budur.

Ağın tek çıkışı olduğu için arızası bütün kurumu internetsiz ve VPN’siz bırakır. Bu, tek hata noktasının ta kendisidir ve iki cihazlı kurulumun var olma sebebidir. Hangi cihazın hangi hızda seçileceğini ve ikinci cihaza ne zaman gerek olduğunu firewall kurulumu sayfamızın seçim bölümünde anlattık. Seçilen cihazın kutudan çıkıp hangi sırayla canlıya alındığını da FortiGate yapılandırma rehberimizde sıraladık.

Sonuç: Firewall Bir Liste ve Bir Hafızadır

Firewall’un kararı, yukarıdan aşağı okunan kural listesinden ve izin verilmiş bağlantıların tutulduğu bağlantı tablosundan gelir. Lab ölçümünde aynı istek yalnız listeye bakan filtrede beş saniye bekleyip düştü, tabloya da bakan firewall’da 6 milisaniyede açıldı. İki kural listesi arasındaki fark tek satırdı.

NGFW bu kararı uygulamaya ve içeriğe bakarak inceltir, UTM ise aynı kutuya başka işler ekler. İkisinin bedeli de hızla ödenir.

Örnekteki sınır kapısında da geçişi talimat listesi başlatır, dönüşü kapıdaki kayıt geçirir. Kayıt tutmayan bir kapı, çıkan her tırı dönüşte yabancı sayar.

Firewall, kurumsal network kurulumu işinin sınırda duran parçasıdır. Kural listesinin mekanizmasını ACL yazımızda, bağlantı tablosunun çeviri tarafını NAT yazımızda okuyabilirsiniz.

Firewall Hakkında Sık Sorulan Sorular

Sunucusu olmayan ve bütün işini bulutta yürüten birkaç kişilik bir ofiste çoğu zaman gerekmez; modemdeki filtre dışarıdan başlatılan bağlantıyı durdurur. Misafir ağını çalışan ağından ayırmanız, dışarıdan erişilen bir sunucu barındırmanız, şubeleri VPN ile bağlamanız ya da kimin hangi uygulamaya çıktığını kaydetmeniz gerektiğinde ayrı bir firewall gerekir. Kararı kullanıcı sayısından çok ağın içinde ne barındırdığı belirler.
Var. NAT bir adres çevirisidir, güvenlik işlevi değildir; NIST'in firewall rehberi bunu açıkça yazar. NAT'ın dışarıdan başlatılan bağlantıyı durdurma etkisini durumlu bir firewall da sağlar, ama NAT içeriden dışarıya giden trafiği hiç sınırlamaz ve iç ağın bölümlerini birbirinden ayırmaz. Bu iki işi yalnız firewall kuralı yapar.
Firewall ağın sınırında durur ve hangi adresten hangi adrese, hangi portla bağlantı kurulabileceğine karar verir. Antivirüs cihazın içinde çalışır ve dosyalara, süreçlere bakar. Yeni nesil firewall'lar geçen trafikte zararlı yazılım da arayabilir, ama şifreli trafiğin ve USB bellekle gelen dosyanın içini göremez. Bu yüzden ikisi birbirinin yerine geçmez.
Gerekmez. Durumlu firewall izin verdiği her bağlantıyı bir bağlantı tablosuna yazar ve dönen paketi o tabloda bulursa geçirir. Lab ölçümümde tek bir web isteği 12 paketten oluştu; yeni bağlantı kuralı yalnız ilk paketi saydı, kalan 11 paket tablodaki kayıtla geçti. Aynı istek, dönüş kuralı olmayan durumsuz bir filtrede cevap alamadı ve test komutunun 5 saniyelik sınırında zaman aşımına düştü.
İkisi birlikte çalışır, biri diğerinin yerine geçmez. Windows Defender Firewall yalnız kurulu olduğu bilgisayarı korur; varsayılan olarak üç profilde de dışarıdan başlatılan bağlantıyı engeller, dışarı çıkışı serbest bırakır. Misafir ağını çalışan ağından ayırmak, çıkış trafiğini sınırlamak ve bütün ağın kaydını tek yerde tutmak ağın sınırındaki firewall'un işidir. Kırk bilgisayarlı bir ofiste yazılım firewall tek başına kırk ayrı kural listesi demektir.
İlker Pehlivan
Yazan

BT Danışmanı | Ağ, Sistem ve Güvenlik Yönetimi

İlker Pehlivan, karmaşık BT altyapılarını ölçeklenebilir ve güvenli sistemlere dönüştürür. Buradaki rehberleri kendi laboratuvarında kurup ölçerek yazar.

LinkedIn

Benzer Makaleler

Kurumsal Network Kurulumu altındaki diğer 114 makale