Güvenlik duvarı (firewall), farklı güvenlik seviyelerine sahip ağlar ya da cihazlar arasındaki ağ trafiğini denetleyen, önceden tanımlanmış kurallara göre hangi trafiğin geçeceğine ve hangisinin engelleneceğine karar veren bir cihaz veya yazılımdır. NIST'in firewall rehberi NIST SP 800-41 Rev. 1 de firewall'u tam olarak böyle tanımlar: farklı güvenlik duruşlarına sahip ağlar veya hostlar arasındaki trafik akışını kontrol eden cihazlar ya da programlar.

Bir zamanlar firewall denince akla yalnızca internet ile şirket ağı arasındaki sınırda duran tek bir kutu gelirdi. Bugün aynı işlev bir router'ın içinde, bir sunucunun işletim sisteminde, bir sanallaştırma platformunda ya da web uygulamasının önündeki bir hizmette bulunabiliyor. Bu yazıda firewall'un nasıl çalıştığını, NIST'in tarif ettiği türleri, donanım ile yazılım (host) firewall farkını, MikroTik, pfSense ve OPNsense gibi ağ cihazlarının bu resimde nereye oturduğunu ve WAF ile farkını anlatıyoruz. Bu yazı aynı zamanda ağ ve güvenlik cihazları serimizin başlangıç noktası; ayrıntılar için ilgili yazılara bağlantılar veriyoruz.

Firewall nasıl çalışır?

Firewall nasıl çalışır? Paketin kaynak IP adresi (paketin geldiği host), Paketin hedef IP adresi (paketin ulaşmaya çalıştığı host), Kullanılan ağ veya taşıma protokolü, Taşıma...

Firewall, üzerinden geçen her paketi veya bağlantıyı bir kural listesine (ruleset) göre değerlendirir. Kurallar genellikle yukarıdan aşağı okunur; trafiğe uyan kuralın eylemi (izin ver, engelle, reddet, logla) uygulanır. NIST SP 800-41'e göre en temel paket filtresi şu bilgilere bakarak karar verir:

  • Paketin kaynak IP adresi (paketin geldiği host)
  • Paketin hedef IP adresi (paketin ulaşmaya çalıştığı host)
  • Kullanılan ağ veya taşıma protokolü: TCP, UDP, ICMP gibi
  • Taşıma katmanı bilgileri, örneğin kaynak ve hedef port numaraları (bir web sunucusu için hedef port TCP 80 gibi)
  • Paketin geçtiği arayüz (interface) ve yönü: içeri mi (inbound), dışarı mı (outbound)

Dışarıdan gelen trafiği süzmeye ingress filtering, içeriden dışarı çıkan trafiği süzmeye egress filtering denir. NIST, kurumların yalnızca kendi kullandıkları kaynak IP adresleriyle çıkan trafiğe izin vermesini önerir; bu, sahte (spoofed) adresli trafiğin başka ağlara sızmasını engellemeye yardım eder. IP adresi ve port kavramlarına yabancıysanız önce IP adresi nedir ve internet ve ağ temelleri yazılarına göz atabilirsiniz.

Varsayılan olarak engelle (deny by default)

NIST'in en net önerilerinden biri şudur: firewall, politikada açıkça izin verilmemiş tüm gelen ve giden trafiği engellemelidir. Buna deny by default denir. Host'lar, ağlar, protokoller ve uygulamalar sürekli değiştiği için, açıkça yasaklanmayan her şeye izin vermek yerine yalnızca gerekene izin vermek daha güvenli bir yaklaşımdır. Pratikte bu, kural listenizin sonunda "geri kalan her şeyi engelle" anlamına gelen bir kural bulunması demektir.

Firewall türleri (NIST SP 800-41'e göre)

NIST SP 800-41 Rev. 1, firewall teknolojilerini trafiğin hangi katmanına ne kadar derinlemesine baktıklarına göre ayırır. Temel firewall'lar alt katmanlarda (IP ve port) çalışırken, gelişmiş firewall'lar uygulama katmanına kadar inebilir. Uygulama katmanını anlayan bir firewall, örneğin kullanıcı kimlik doğrulaması isteyebilir ve olayları kullanıcı bazında loglayabilir.

1. Paket filtreleme (stateless)

Paket filtresi firewall'un en temel özelliğidir. Yalnızca paket filtresi yapan eski firewall'lar stateless (durumsuz) olarak da bilinir: her paketi tek başına değerlendirir, bir bağlantının önceki paketlerini hatırlamaz ve paketin içeriğiyle ilgilenmez. NIST'e göre bu yetenek çoğu işletim sistemine ve yönlendirme yapabilen cihaza gömülüdür; saf paket filtrelemenin en yaygın örneği erişim kontrol listeleri (ACL) kullanan bir router'dır. Stateless filtreler, sahte adresli paketleri ve protokolün açıklarını kullanan saldırıları ayırt etmekte zorlanır.

2. Stateful inspection (durum takibi)

Stateful inspection, paket filtrelemenin üzerine bağlantıların durumunu takip etmeyi ekler. Firewall her bağlantıyı bir durum tablosunda (state table) tutar; tablo genellikle kaynak ve hedef IP adresini, port numaralarını ve bağlantı durumunu içerir. Yeni gelen bir paket, tablodaki beklenen durumla çelişiyorsa engellenir. Örneğin saldırgan "ben kurulu bir bağlantının parçasıyım" diyen sahte bir paket gönderirse, stateful firewall önce bu bağlantının tabloda gerçekten var olup olmadığına bakar. NIST'in örnek durum tablosu kabaca şöyledir:

Kaynak adresKaynak portHedef adresHedef portDurum
192.168.1.1001030192.0.2.7180Başlatıldı (initiated)
192.168.1.102103110.12.18.7480Kuruldu (established)
192.168.1.106103510.231.32.1279Kuruldu (established)

UDP gibi bağlantısız protokollerde resmi bir açılış ve kapanış olmadığı için stateful firewall'lar çoğunlukla yalnızca adres ve port bilgisini takip eder; kayıt, belirlenen bir zaman aşımından sonra tablodan silinir. NIST'in örneğine göre dışarıdan gelen bir DNS yanıtı, ancak firewall içeriden giden ilgili DNS sorgusunu daha önce görmüşse geçebilir. Bugün kullandığınız neredeyse tüm firewall'lar bu şekilde stateful çalışır.

3. Uygulama firewall'ları (application firewall)

Bu tür, stateful inspection'a stateful protocol analysis yeteneği ekler; bazı üreticiler buna deep packet inspection (DPI) der. Firewall artık yalnızca port numarasına değil, uygulamanın ağ üzerinde nasıl davrandığına bakar. NIST'in örneklerine göre bir uygulama firewall'u e-postada izin verilmeyen bir ek türü (örneğin çalıştırılabilir dosya) olup olmadığını, 80 numaralı port üzerinden HTTP dışında bir uygulamanın kullanılıp kullanılmadığını anlayabilir ya da FTP'de dosya yazmaya yarayan "put" komutunu engelleyebilir. NIST yine de bu tür firewall'ların tam teşekküllü bir saldırı tespit ve önleme sistemi (IDPS) olmadığını vurgular; bu konuyu IDS/IPS nedir yazısında ayrıca anlatıyoruz.

4. Application-proxy gateway ve proxy sunucular

Application-proxy gateway, iki host arasına giren ve aralarında doğrudan bağlantıya hiç izin vermeyen bir aracıdır. Her başarılı bağlantı aslında iki ayrı bağlantıdan oluşur: istemci ile proxy arasında ve proxy ile gerçek hedef arasında. Dış dünya yalnızca proxy'yi gördüğü için iç IP adresleri görünmez. NIST'e göre bazı proxy gateway'ler SSL ile korunan içeriği çözüp inceleyebilir ve yeniden şifreleyerek iletebilir; buna karşılık her paketi derinlemesine yorumladıkları için yüksek bant genişliği ve gerçek zamanlı uygulamalarda zorlanabilirler. Ayrı (dedicated) proxy sunucular ise daha sınırlı firewall yeteneğine sahiptir ve genellikle ana firewall'un arkasına yerleştirilir; günümüzde en yaygın örnek, dışarı çıkan web trafiği için kullanılan HTTP proxy'dir. Proxy ile VPN arasındaki farkı proxy ve VPN farkı yazısında bulabilirsiniz.

5. UTM, NGFW, WAF ve sanal altyapı firewall'ları

NIST aynı bölümde firewall'a eklenen diğer işlevleri de sayar: firewall üzerinde çalışan VPN, uzak kullanıcıların cihazlarını kontrol eden ağ erişim kontrolü (NAC), birden çok güvenlik işlevini tek kutuda toplayan UTM, web sunucusunun önünde duran web application firewall (WAF) ve sanal makineler arasındaki trafiği izleyen sanal altyapı firewall'ları. 2009 tarihli bu belge "NGFW (next-generation firewall)" terimini kullanmaz; NGFW daha çok üreticilerin kullandığı bir kategori adıdır ve uygulama ile kullanıcı farkındalığını öne çıkarır. UTM ve NGFW'yi UTM ve NGFW nedir yazısında ayrıntılı karşılaştırıyoruz.

TürNeye bakarKısa not
Paket filtresi (stateless)IP, protokol, port, arayüzBağlantı geçmişini hatırlamaz
Stateful inspectionYukarıdakiler ve bağlantı durumuGünümüz firewall'larının temeli
Application firewallUygulama katmanı davranışıDPI olarak da anılır, tam IDPS değildir
Application-proxy gatewayUygulama içeriği, iki ayrı bağlantıDaha derin denetim, daha fazla kaynak
UTMBirden çok güvenlik işlevi tek sistemdeYönetimi kolay, kaynak ihtiyacı yüksek
WAFWeb uygulamasına giden HTTP trafiğiWeb sunucusunun önünde durur

Donanım firewall, yazılım firewall ve host firewall farkı

Donanım firewall, yazılım firewall ve host firewall farkı: Ağ (network) firewall, Host-based firewall, Kişisel (personal) firewall, Kişisel firewall cihazı (appliance)

Günlük dilde "donanım firewall" ağın sınırına konan ayrı bir cihazı, "yazılım firewall" ise bir bilgisayar veya sunucu üzerinde çalışan programı anlatır. Aslında her ikisi de yazılım çalıştırır; fark, neyi koruduklarında ve nerede durduklarındadır.

  • Ağ (network) firewall: Ağın girişinde veya iki ağ arasında durur, arkasındaki tüm cihazları korur. Bir router, ayrı bir firewall cihazı ya da sanal makinede çalışan bir firewall işletim sistemi olabilir.
  • Host-based firewall: NIST'e göre korunan sunucunun kendi üzerinde çalışan yazılımdır ve yalnızca o host'un gelen ve giden trafiğini denetler. Linux, Windows ve BSD gibi sunucu işletim sistemlerinde yerleşik olarak bulunur. Aynı alt ağdaki diğer makinelerden gelen saldırılara karşı da koruma sağlar.
  • Kişisel (personal) firewall: Masaüstü ve dizüstü bilgisayarlar için host firewall'un son kullanıcıya yönelik hâlidir; bazıları ağ konumuna göre farklı profiller kullanabilir.
  • Kişisel firewall cihazı (appliance): NIST'in ev ve uzaktan çalışma ağları için andığı küçük firewall router'lardır.

Bu katmanlar birbirinin alternatifi değil, tamamlayıcısıdır. NIST, ağ sınırındaki firewall'un her saldırıyı tanıyamadığını ve bir iç host'tan diğerine giden saldırıların sınır firewall'undan hiç geçmeyebileceğini hatırlatır. Bir VPS veya VDS kullanıyorsanız sunucunuzun önünde sizin yönettiğiniz bir ağ firewall'u çoğu zaman yoktur; bu yüzden host firewall'u doğru kurmak önemlidir. Ubuntu'da bunun nasıl yapıldığını UFW güvenlik duvarı rehberi, genel sertleştirme adımlarını ise VPS güvenlik sertleştirme yazısında anlatıyoruz.

Ağ firewall cihazları: MikroTik, pfSense, OPNsense ve UTM

Küçük ve orta ölçekli ağlarda firewall görevi çoğunlukla aşağıdaki cihaz veya yazılım ailelerinden biriyle yapılır. Hangi cihazın ne işe yaradığını genel olarak görmek isterseniz router, modem, switch ve access point farkı yazısı iyi bir başlangıç olur.

MikroTik RouterOS

MikroTik cihazlarının işletim sistemi RouterOS, yönlendirme ile birlikte kapsamlı bir firewall içerir. MikroTik belgelerine göre filtre kuralları üç hazır zincire (chain) yazılır: input router'ın kendisine gelen paketleri, forward router'ın üzerinden geçen paketleri, output ise router'ın kendisinin ürettiği paketleri işler. Bağlantı takibi established, related, new ve invalid durumlarını ayırt eder. Belgedeki örnek kurallardan bazıları şunlardır:

bash
/ip firewall filter
add action=accept chain=input comment="default configuration" connection-state=established,related
add action=drop chain=forward comment="Drop invalid" connection-state=invalid log=yes log-prefix=invalid
add action=drop chain=input

RouterOS'un ne olduğunu ve hangi cihazlarda çalıştığını MikroTik nedir yazısında, sanal makinede çalışan sürümünü ise MikroTik CHR nedir yazısında anlatıyoruz.

pfSense ve OPNsense

pfSense ve OPNsense, bir bilgisayara, sanal makineye veya özel donanıma kurulan açık kaynak tabanlı firewall ve router platformlarıdır. Netgate belgeleri pfSense'i bağlantılar hakkındaki bilgiyi hatırlayan ve yanıt trafiğine otomatik izin veren stateful bir firewall olarak tanımlar; bu yüzden trafiğe yalnızca firewall'a girdiği arayüzde izin vermek yeterlidir. Aynı belge WAN kurallarında sessizce düşüren block, iç arayüzlerde ise istemciye yanıt dönen reject kullanmayı en iyi uygulama olarak önerir. OPNsense kendini FreeBSD tabanlı, açık kaynak bir firewall ve yönlendirme platformu olarak tanımlar. İkisini pfSense ve OPNsense nedir yazısında karşılaştırıyoruz.

UTM ve NGFW cihazları

Ticari firewall üreticilerinin cihazları genellikle firewall'a ek olarak saldırı önleme (IPS), kötü amaçlı yazılım taraması, web filtreleme ve VPN gibi işlevleri tek kutuda toplar. NIST bu yaklaşımı UTM (Unified Threat Management) olarak tanımlar. Ayrıntılar UTM ve NGFW nedir yazısında.

Firewall ile birlikte anılan kavramlar: NAT, VLAN, DMZ, IDS

  • NAT: NIST'e göre NAT çoğu zaman firewall özelliği sanılsa da aslında bir yönlendirme (routing) teknolojisidir ve firewall türü olarak görülmemelidir. Port yönlendirme ile birlikte NAT ve port yönlendirme nedir yazısında anlatıyoruz.
  • VLAN: Tek bir fiziksel ağı mantıksal parçalara bölerek firewall kurallarının bu parçalar arasında uygulanmasını sağlar. Bkz. VLAN nedir.
  • DMZ: NIST'in tarifine göre DMZ, firewall üzerinde korumalı tarafa benzeyen ama ayrı politikalar uygulanan bir arayüzdür. Web ve e-posta sunucusu gibi dışarıya hizmet veren sistemler genellikle buraya konur; DMZ ile iç ağ arasındaki trafik yine firewall'dan geçer.
  • IDS/IPS: Firewall trafiği kurallara göre geçirir veya engeller; IDS/IPS ise trafikte saldırı belirtisi arar. Bkz. IDS/IPS nedir: Suricata ve Snort.

Firewall ile WAF arasındaki fark

WAF (Web Application Firewall), NIST'in tanımıyla web sunucusunun önünde duran ve HTTP protokolünü kötüye kullanan saldırıları tespit etmeye odaklanan özel bir uygulama firewall'udur. Ağ firewall'u "bu IP bu porta bağlanabilir mi" sorusunu sorarken, WAF "bu HTTP isteği web uygulamasına zarar vermeye mi çalışıyor" sorusuna odaklanır. NIST, WAF'ların geleneksel firewall'lardan çok farklı görüldüğünü de not eder. Yani bir web sitesi için ağ firewall'u ve WAF birbirinin yerine geçmez; ikisi farklı katmanları korur. Bulut tabanlı bir WAF örneğini Cloudflare WAF güvenlik kuralları yazısında, saldırı trafiğine karşı genel önlemleri DDoS koruma rehberi yazısında bulabilirsiniz.

Firewall'un yapamadıkları

Firewall'un yapamadıkları: Şifreli trafik, Tünellenmiş trafik, İç trafik, Parçalanmış (fragmented) paketler

NIST, firewall'ların yalnızca inceleyebildikleri trafik üzerinde etkili olabileceğini vurgular. Bu, pratikte şu sınırlamalar anlamına gelir:

  • Şifreli trafik: IPsec, TLS, SSH gibi protokollerle şifrelenmiş içeriği firewall okuyamaz. Kuruluşun şifreli trafiğe nasıl davranılacağına dair bir politikası olmalıdır.
  • Tünellenmiş trafik: Şifresiz olsa bile firewall'un tanımadığı bir tünelleme yöntemiyle taşınan trafik yorumlanamaz. NIST örnek olarak IPv4 içinde tünellenen IPv6 trafiğini verir.
  • İç trafik: Aynı ağdaki iki host arasındaki trafik sınır firewall'undan geçmeyebilir.
  • Parçalanmış (fragmented) paketler: NIST, tüm parçalanmış paketleri otomatik engellemeyi önermez; çünkü VPN gibi teknolojiler meşru olarak parçalanmaya yol açar ve bu paketlerin engellenmesi VPN uyumluluk sorunlarının yaygın bir nedenidir. Konuyla ilgili olarak MTU ve MSS nedir yazısına bakabilirsiniz.

Firewall kurarken iyi uygulamalar

  • Önce yazılı bir firewall politikası oluşturun: hangi trafiğin hangi yönde, hangi adres ve uygulamalar için geçeceğini belirleyin. NIST, politikanın risk analizine dayanmasını önerir.
  • Deny by default uygulayın; yalnızca gereken servislere izin verin.
  • Giden trafiği de süzün; dışarı çıkan paketlerin yalnızca kendi adres aralığınızdan çıkmasına izin verin.
  • Dışarıya hizmet veren sunucuları iç ağdan ayırın (DMZ veya ayrı VLAN).
  • Kural değişikliklerini kaydedin ve logları düzenli inceleyin. Linux tarafında Linux loglarını okuma yazısı yardımcı olur.
  • Ağ firewall'unu host firewall ile destekleyin; tek bir katmana güvenmeyin.

Bu serideki yazılar

Ağ ve güvenlik cihazları serisinin diğer yazıları:

Sık Sorulan Sorular

Firewall ile antivirüs aynı şey mi?

Hayır. Firewall ağ trafiğini kurallara göre geçirir veya engeller; antivirüs ise dosyalarda ve süreçlerde kötü amaçlı yazılım arar. NIST'e göre kişisel firewall yazılımları sıklıkla antivirüs ve saldırı tespit araçlarıyla birlikte paketlenir; UTM cihazları da bu işlevleri tek kutuda toplar. Ama kavram olarak ayrıdırlar.

Modemimde firewall varsa ayrıca firewall gerekir mi?

Ev kullanımı için modem veya router üzerindeki firewall ile cihazlardaki kişisel firewall çoğu zaman bir başlangıç sağlar. NIST, ev ağlarında her bilgisayarda kişisel firewall olsa bile bir firewall cihazının ek bir koruma katmanı olarak değerli olduğunu belirtir. Birden fazla ağ bölümü, dışarıya hizmet veren sunucular veya detaylı loglama ihtiyacı varsa ayrı ve daha yetenekli bir firewall düşünülebilir.

Stateful ve stateless firewall arasındaki fark nedir?

Stateless firewall her paketi tek başına değerlendirir. Stateful firewall ise bağlantıları bir durum tablosunda takip eder ve kurulu bir bağlantıya ait olmayan paketleri reddedebilir. Bu sayede yanıt trafiği için ayrı kural yazmanız da gerekmez.

Block ve reject arasındaki fark nedir?

Netgate belgelerine göre block trafiği sessizce düşürür, reject ise reddedilen TCP ve UDP trafiği için istemciye yanıt döner. Belge, WAN kurallarında block, iç arayüzlerde ise çoğu durumda reject kullanılmasını önerir.

VPS sunucumda firewall nasıl açarım?

Ubuntu kullanıyorsanız işletim sistemiyle gelen UFW aracını kullanabilirsiniz. Adım adım anlatım için UFW rehberine bakın; SSH bağlantınızı kesmemek için önce SSH portuna izin vermeyi unutmayın.

Marka adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen kuruluşlarla bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: UTM ve NGFW nedir · IDS/IPS nedir · NAT nedir · UFW rehberi · Cloudflare WAF · VPN nedir