Ateş duvarları ağın içinden veya dışından gelen yetkisiz erişimleri engelleyen, süzen ve izin denetimi sağlayan yazılımlar veya donanımlardır. Ateş duvarlarını yazılımsal, donanımsal veya her ikisinin de bir arada oldugu gruplara ayırabiliriz. Aslına bakarsanız donanımsal olanların üstünde de bir çeşit gömülü yazılım (firmware), BIOS vs ismi altında yazılımlar çalışmaktadır.Ateş duvarı deyince sadece bizi dışarıdan gelen saldırılara karşı koruyan birşey düşünmemek gerekir. Gelişmiş ateş duvarları bunların dışında NAT (Ağ Adres Çevrimi), VPN (Virtual Private Networking - Sanal Özel Ağ) gibi teknolojileri de bize sunarlar. Fakat şimdilik bu konulara girmeyeceğiz.

Koruma sağlamak için çeşitli ateş duvarı tipleri/teknolojileri vardır. Bunlardan en çok kullanılanları şunlardır;
Uygulama Katmanlı Ateş Duvarı - Application Level Firewall



Bu tip ateş duvarları içeri veya dışarı gidecek OSI modelinde uygulama (application) katmanında çalışan belli iletişim kurallarına bakarlar (OSI modeli ağ ortamında bilgisayarların birbirleriyle haberleşirken kullandıkları yedi katmanlı bir standarttır). Programcılar ve ağ cihazlarını üreten firmalar bu standarta uyarak ürünleri bize sunarlar. İsteseler uymazlar da ama o zamanda standart dışında kalacakları için yaptıkları bir işe yaramayacaktır. OSI modelini daha fazla uzatmayalım. Başka bir makalede yedi katmanı da detaylı anlatırım. Konumuza dönelim. FTP,HTTP,SMTP,POP3,IMAP,TELNET,FINGER,DNS…. Uygulama katmanında çalışan iletişim kurallarından bazılarıdır.

Uygulama Katmanlı Ateş Duvarı - Application Level Firewall, Devam
İç ağdaki (LAN) bir kişi Internet Epxlorer’ı açtı yazdı giriş tuşuna bastı diyelim. Yazılım dış ağdaki (Internet) sunucuya bağlanmak isteyecektir ve 80 numaralı portu hedef olarak gösterecektir. Bu paket ateş duvarına geldiğinde tamam iyi güzel paket 80 numaralı porta gidiyor ama içinde HTTP var mı yok mu ona bakar. Varsa HTTP’nin içinde istemediğim bir şey var mı yok mu ona da bakabilir.

İstemciler bunu yapabilmek için bir yazılım kullanırlar. Bu yazılımda IP paketi içerisine kendisi ile ilgili bilgiyi yerleştirir. Bu sefer yönlendirici bölümünde bahsettiğimiz gibi IP başlığına değil de uygulama başlığına (application header) koyar. Ateş duvarı da IP paketini açar bakar ve bu başlık ile ilgilenir (Bütün ateş duvarları paketleri açıp içlerine bakarlar. Sadece baktıkları yerler veya kullandıkları teknolojiler farklılık gösterir). Bu tip ateş duvarlarını MSN’yi dışarıya engellemek için kullanılabiliriz.

Katman

İletişim Kuralları ve Yapılan İşler

7.Uygulama (Application)

HTTP, DNS, FTP, TFTP, BOOTP, SNMP, POP3, SMTP, MIME, NFS, FINGER, TELNET, SMB

6.Sunum (Presentation)

Şifreleme varsa burada gerçekleşir.

5.Oturum (Session)

NetBIOS, Names Pipes, Mail Slots, RPC

4.Taşıma

TCP, ARP, RARP, SPX, NWLink, NetBIOS, NetBEUI

3.


IP, IPX (Yönlendiriciler burası ile ilgilenir)


2.Veri Bağlantısı


Mantıksal bağlantı kontrolu : 802.1,802.2
Media Access Control(MAC) : 802.3CSMA/CD (Ethernet) 802.5 Token Ring


1.Fiziksel


IEEE 802,IEEE 802.2,ISDN

Burada siz MSN’de A harfine bastınız diyelim. Dünyanın her yerinde yediden bire kadar olan sıra izlenir. Bire gelindiğinde A harfiniz artık elektriğe dönüşmüştür ve karşı tarafa gönderilir. Karşı taraf da birden yediye kadar olan sırayı izler ve karşısında A harfini (uygulama katmanında) görür. Her katman bir üst veya alt katman ile ilgilenir. İki üstü ile ilgilenmez. Bir sıra izlenmelidir. İletişim kuralları (protocol) ve yapılan işlemler sadece örnek olsun diye yazılmıştır. Bunların dışında daha pek çok işlem ve iletişim kuralı vardır.

Paket Süzen Ateş Duvarı (Packet Filtering Firewall)

Bu tip ateş duvarları IP iletişim kuralını (protocol), IP adresini ve port numarasını denetleyen eden bizim tarafımızdan belirlenen bazı kurallar (rule) içerirler. O yüzden ayarlarını çok iyi yapmamız gerekmektedir. Diğer türlere nazaran daha zahmetlidir. Bu tip ateş duvarları paketlerin uygulama olup olmadığıyla değil ağ tarafı ile ilgilenirler. IP paketini açıp IP başlığına yani kaynak (source) hedef (target), iletişim kuralı, port vs bakarlar.



Bunun bir kötü tarafı vardır. Örneğin ağ sunucunuz var diyelim. Her şeyi engelleyip sadece web trafiğini açarsınız. Buraya kadar her şey güzel. Herkes web sunucunuza erişiyor. Başka hiçbir şey yapamıyorlar ama sizin web sunucunuza saldıran da erişiyor gezinti yapan da. Bunu ayırt edebilmesi için IDS (Intrusion Detection System - Saldırı Denetleme Sistemi) veya IPS (Intrusion Prevention System - Saldırı Önleme Sistemi) özelliginin olması gerekir. Paket süzen ateş duvarları bu farkı algılayamazlar. Ayrıca bu tip ateş duvarları stateful packet inspection (ip paket denetleme) yapamazlar. Yani paketlerin gerçekten istenilen iletişim kuralı (protocol), port ve ip den gelip gelmediğini anlayamazlar. Biraz daha açmak gerekirse paketin daha önceden kurulmuş bir bağlantıdan mı geldiğini anlayamazlar. Eklediğimiz kural ne diyorsa ona bakarlar. Yani bu tip ateş duvarına “sadece dışardan gelen paketlere izin ver ama bağlantı daha öncedenkurulmuş olsun” diyemiyoruz.

Bu biraz kafa karıştırıcı olabilir. Burada şunu anlamamız gerekiyor. Mesela A ve B makinası TCP bağlantısı kurduğunda üç yollu el sıkışma (3-way handshake) diye bir işlem gerçekleşir. Basit olarak anlatacak olursak, bu işlemde A makinası B makinasına (1)SYN paketi gönderir. B makinası karşılık olarak (2)SYN/ACK gönderir. Ondan sonra A makinası B’ye (3)ACK paketi gönderir ve bağlantı kurulmuş olur. Siz bilgisayarınızda başlat/çalıştır a “cmd” yazıp komut isteminde “netstat -an” yazarsanız gördüğünüz “ESTABLISHED” bağlantılar bu işlemin gerçekleştigini göstermektedir. Daha fazla ayrıntıya girmek istemiyorum. Sonuç olarak herhangi bir A makinası böyle bir işlem olmadan paket süzen bir ateş duvarının zaafından yararlanabilir. Mesela saldıran biri durmadan SYN gönderebilir. IP yanıltma (spoofing) yapabilir.

Durum Denetlemeli Ateş Duvarı (Stateful Firewall)

Bunlar paket süzen ateş duvarları gibilerdir ama daha akıllılardır. 90′larda Checkpoint firması tarafından geliştirilmiştir. Zamanla bir standart haline gelmiştir. OSI modelinde ağ katmanına ve iletim katmanına bakarlar (bazen tüm paketi daha iyi incelemek için üst katmanlara da bakarlar).

Örnek verecek olursak yine bir ağ sunucunuz var diyelim. Siz kural eklersiniz ve kullanıcılar sunucuya bağlanır. Bu noktada bu tip ateş duvarları gelen isteğin gerçekten bağlantı kurulacak IP olup olmadığına, iletişim kuralına, kaynak ve hedef portlarına bakarlar. Ondan sonra üç yollu el sıkışma (3-way handshake) gerçekleşir ve bağlantı kurulur. Mesela saldırgan yanıltma (spoofing) yapıyorsa (yani kendi ip adresini, iletişim kuralını veya portunu olması gerektiğinden farklı gösteriyorsa) bunu anlarlar ve karşı tarafa SYN/ACK göndermezler ve paket karşı tarafa herhangi bir bilgi göndermeden düşürülür (Drop). Bu olmasa ne olurki diyeceksiniz. Mesela eğer böyle bir şey olmazsa saldırgan on binlerce yanıltıcı paket gönderip sizin ağ sunucunuzu gelecek gerçek SYN paketlerine SYN/ACK gönderemez hale getirebilir. Sonuç olarak kimse sunucuya erişemez.

Yine de bu ateş duvarları hala iyi ve kötü trafiği algılayamazlar. IDS veya IPS gereklidir. Bu noktada IDS veya IPS’inde tabiri caizse kul yapımı olduğunu belirtmek gerekiyor. Yani bunlar bilmedikleri kötü trafik için bişey yapamazlar. Bazı firmalar kendi IDS veya IPS sistemlerinin akıllı olduklarını ve bilinmeyen saldırılara karşı önlem alabildiklerini iddia etseler de ne kadar başarılı olduğu konusunda şüphe duymak gerekir. IDS/IPS demişken ateş duvarı ile ilgili bir teknoloji daha var. Buna da Deep Packet Inspection(Derin Paket İnceleme) diyoruz. Bu IDS/IPS ile tümleşik çalışan bir teknolojidir. Şimdilik bu konuya değinmeyeceğiz. Durum denetimi yapan (Stateful) ateş duvarına tanıdık bir örnek verecek olursak Windows’umuzun o basit ateş duvarı bu türdendir.

Firewall Programları: Kerio Personal Firewall
McAfee Personal Firewall
ZoneAlarm Professional
Symantec Internet Security