??ÖÖç?LINUX SISTEMLERDE GUVENLIK DUVARI EVRIMI Her yeni kernel, güvenlik duvar? yaratma ve yönetmede kullan?lan araçlar için geli?meler getiriyor. Linux, evlerinde a? kuranlardan, kendi a?lar?n? kuran firmalar ve ticari ürünlerinde içeren üretici firmalara kadar pek çok güvenlik duvar? in?a eden için seçilen bir i?letim sistemi. Her güvenlik cihaz?nda oldu?u gibi, bir Linux güvenlik duvar? kurduktan sonra arkan?za yaslan?p ilgisiz kalamazs?n?z. Güvenlik yamalar? ve alarmlar?n? takip etmeli ve kernelinizi hep gözden geçirmeli ve güvenli?i artt?rmak ve sald?r?lardan korunmak için güncellemelisiniz. Linux y?llar geçtikçe geli?ti?i gibi güvenlik duvar? yetenekleride geli?iyor. ?lk Linux güvenlik duvarlar? paket-filtreleme kurallar? yarat?p yönetmek için ipfwadmin arac?n? kulland?. Linux kernel 2.2 geçti?imiz iki y?lda 2.0`?n yerine geçti?inden beri, ipchains`de ipfwadmin`in yerini ald?. Bu sene kernel 2.4`ün ç?kmas?yla pek çok ticari güvenlik duvar?nda bulunan durumsal paket inceleme (stateful packet inspection) çözümü art?k Linux`dada mevcut. Linux ile güvenlik duvar? çözümünün 3 yüzü Linux sistemlerdeki güvenlik duvarlar?n?n en son 3 üretim sürümü Linux kernel`lerine (2.0,2.2,2.4 - Çift rakaml? Linux kernel minör sürüm numaralar? kernel`in üretim amaçlar? için uygun oldu?unu gösterir. Tek say?l? Linux kernel minör sürüm numaralar? sadece deneysel ve geli?tirme kullan?m? için uygun oldu?unu gösterir) kar??l?k gelen 3 farkl? uygulamas? vard?r. Tamamen olmasada 2.0 eskimeye ba?lad?. Red Hat Linux 1999`da ç?kan v5.2 sürümünden beri kernel 2.0`? kullanmad?. Geçen sene, ço?u da??t?m kenerl 2.2 kullan?yordu ve 2.4 bu sene ba?lar?nda ç?kt?. De?i?en kernel sürümleri Linux güvenlik duvar? çözümü için kritik çünkü her yeni sürüm güvenlik duvar? yönetimi mekan?zmas?n? de?i?tiriyor. Kernel 2.0`?n IP Firewall (IPFW) mekan?zmas? için arabirim sa?layan ipfwadmin program?, kernel 2.2`de ipchains ile de?i?tirildi. Ve ipchains`in yerinide kernel 2.4`de iptables ald?. IP paketleriyle u?ra?maktan Linux kernel sorumlu olsada, sistem yöneticisi kernel`e hangi paketleri geçirece?ini, sessizce bloklayaca??n? yada gönderene bir hata mesaj? ile bloklayaca??n? belirleyen kurallar? yaratmal?. Tabiki bu klasik IP filtreleme güvenlik duvar? kurulumu: Güvenlik duvar? IP ba?l?klar?n? kontrol eder, de?erlendirir ve filtre kurallar? ile kar??la?t?r?r. Ço?u Linux kullan?c?s?, a? güvenlik araçlar? yapmada kullanan üretici firmalar dahil kernel 2.0 ile ba?lad?lar. Her yeni kernel sürümü geli?meler ve önemli yeni özellikler getirsede, sistem yöneticileri genelde
iyi çal??an Linux sistemleri güncellemeyi pek dü?ünmediler. Bu sebeple pek çok sistem hala kernel 2.0 çal??t?r?yor çünkü i?e yar?yor ve güncellemenin getirece?i bozulmalar yada bölünmeler buna de?mez. Ayr?ca a? güvenlik araçlar? kullan?c?lar? Linux kulland?klar?n? fark?nda bile olmayabilir yada güncelleyecek yeterlilikte olmayabilir. Sky-NetWEB`de bir Unix sistem yöneticisi ve Bastille Linux Project`de (http://www.bastille-linux.org) koordinatör olan Jon Lasser`e göre kernel 2.0`?n 'ipfwadmin BSD sistemlerinde mevcut olan araçlar?n bir yans?s?.' 1997`de ç?kt???nda kernel 2.0, Linux, BSD veya di?er Unix-tabanl? i?letim sistemleri ile çal??an a? sorumlular? için mükemmel bir mükemmel bir seçim idi. IPFW için kurallar? s?f?rdan yazmak yerine bir sistem yöneticisi var olan BSD-tabanl? güvenlki duvarlar?n?n kurallar?n? kullanabilirdi. Ipfwadmin basit, dü?ük-ihtiyaç IP paket filtreleme gereksinimleri için uygun. Örnek ipfwadmin filtreleme kurallar? pek çok yerde mevcut ve ço?u Linux sistem yöneticisi kolayl?kla paket filtreleme güvenlik duvarlar? in?a edebilirler. Ipfwadmin yüksek h?zda internet ba?lant?lar? olan ve evlerinde a? kurmu? olanlar?n ço?u taraf?ndan kullan?lmakta. Kernel 2.2`nin 1999`da ç?kmas?yla ipchains güvenlik duvar? çözümü için ileri at?lm?? bir ad?m olarak kabul edildi. Ek olarak ipfwadmin ile geriye uyumlu olman?n yan?nda, geli?tirilmi? yaz?m, IP üzerindeki katmanlarda protokol testi ve wildcard arabirimlerde filtreleme deste?i gibi yeni özellikler getirdi. Linux Firewalls kitab?n?n yazar? Robert Zeigler`e göre 'ipchains optimizasyon ve filtreleme performans? konular?nda büyük kazanç olabilecek kullan?c?-tan?ml? zincirler ekledi.' ipchains`in dinamik olmas? ile ipfwadmin`den daha geli?mi? oluyor. Kurallar 'chains' ad? verilen tablolar içinde ('input', 'output' ve 'forward') tutuluyor. Yeni kurallar güvenlik duvar? çal???rkan bu tablolar?n herbiri içinde en ba?a yada sona eklenebiliyor. Bu, güvenlik duvar? kurallar?n? günün belirli saatine göre de?i?tirme veya yeni bulunan tehditlere kar?? koymay? mümkün k?l?yor. Ipchains`in di?er önemli bir özelli?i ise ICMP alt-tip mesaj kodlar?na eri?ebilmesi. Zeigler 'Bu küçük bir?ey gibi görünebilir. Fakat bu sayede güvenlik duvar? sistemleri için önemli olan Type 3 hata kodlar? filtrelenebilir.' diyor. ('port unreachable error' içeren bir ICMP pakedi sald?rganlar?n potansiyel olarak zay?f sistemleri bulabilmesine yard?mc? oluyor). Durumsuz Filtreleme ve Durumsal-Paket inceleme Tekrar dizayn edilmesine kar??n ipchains, ipfwadmin gibi hala bir IP paket filtreleme güvenlik duvar?. Paket filtreleleri kullan??l? fakat günümüzde pek çok enterprise-s?n?f? güvenlik duvar?, daha kapsaml? bir yakla??m olan durumsal-paket inceleme teknolojisini kullan?r. Kernel 2.4 ve iptables arabirimi yeni bir mekanizma getirdi: Netfilter, IPFW modülünün yerine geçen bir kernel modülü. IPFW gibi
netfilter`da güvenlik duvar? kurallar? ile bir pakete ne yapaca??na karar verir. Fakat netfilter basit filtreleme yerine durumsal paket inceleme kullan?r. Bir durumsuz paket filtreleme güvenlik duvar? paketleri kabul eden, ba?l?klar?n? inceleyen ve sistem yöneticisi taraf?ndan belirlenen kurallara göre pakedi geçirip geçirmeyece?ine karar veren bir güvenlik duvar?d?r. Her tip güvenlik duvar? için tipik yakla??m kesin bir politika ile ba?lamakt?r. Varsay?lan olarak tüm paketlerin eri?imi engellenmeli, ve sadece kurallarda izin verilmi?se geçirilmelidir. Tipik olarak sadece belirli baz? TCP/IP ba?l?klar? incelenir, böylece belirli IP adreslerinden veya portlar?ndan gönderilen ve al?nan paketlere izin verilir yada bloklan?r. Paket-filtreleme güvenlik duvarlar?n? ayarlamak zordur, sistem yöneticisinin güçlü bir TCP/IP a?lar? ve güvenlik bilgisi olmas?n? gerektirir. Düzgün yap?land?r?lmayan kurallar güvenlik aç?klar? ile sonuçlanabilir. En tehlikelisi paket filtreleme kavram? bilgisinin eksikli?idir. Paket filtreleme güvenlik duvarlar? 'durum bilgisini korumazlar'. Di?er bir deyi?le, gelen yada giden paketlerin durum kay?tlar?n? tutmazlar. Buda bir pakedin geçerli görünebilece?i fakat gerçekte bir sald?r?n?n parças? olabilece?i anlam?na gelir. Örne?in, ço?u paket filtreleri içeriye gelen istenmeyen trafi?i bloklarlar, fakat içerdeki bir hostun iste?ine cevap olarak gelen bir pakete izin verilir. E?er güvenlik duvar? d??ar? giden isteklerin bir kayd?n? tutmuyorsa, bir paket filtresi, gerçek bir cevap ile bir sald?rgan taraf?ndan gerçek bir cevap gibi gösterilmek üzere de?i?tirilmi? pakedi birbirinden ay?ramaz. Durumsal paket filtreleme güvenlik duvarlar? IP ba?l?k bilgisini ve paket içeri?ini kontrol eder ve içerdeki host`lar?n haberle?ti?i d?? hostlar?n kayd?n? tutar. Örne?in bir UDP pakedi bir DNS iste?ine cevap olarak geliyor göründü?ünde durumsal-inceleme güvenlik duvar? bunu orjinal istekle kar??la?t?racakt?r. E?er orjinal istek yoksa güvenlik duvar? pakedi bloklayacakt?r. Ayn? ?ekilde, bir durumsal-inceleme güvenlik duvar? Web sunucusundan gelen paketlerin içerdeki bir makinadan yap?lan iste?e kar??l?k olup olmad???n?da kontrol edebilir. Durumsuz-filtreleme güvenlik duvarlar? bu tip sald?r?lar? alg?layamazlar. Netfilter IPFW`ye kar?? Eski IPFW ile Netfilter aras?ndaki en büyük fark Netfilter`?n durumsal-paket-inceleme içeriyor olmas?. Ve güvenlik duvar? kullan?c?lar? için büyük bir de?i?iklikde Netfilter`?n güvenlik duvar? kurallar?n?n yönetimi için iptables kullan?yor olmas?. Sistem yöneticileri için iyi bir haber uyumluluk modülünün olmas?, böylece ipchains kurallar? iptables ile
kullan?labiliyor. iptables ile ipchains aras?nda önemli farklar var. ipchains taraf?ndan kullan?lan kurallar zincirleri yerine, hedefi gösteren zincirleri içeren tablolar (tables) geldi. Hedef, bir güvenlik duvar? aksiyonunu temsil ediyor: bir pakedi reddet, yönlendir, kabul et veya logla. Tablolar ile, ayn? paket için çoklu hedefler kullanabilirsiniz. Örne?in, bir pakedi loglay?p yönlendirebilir veya loglay?p reddedebilirsiniz. Netfilter`daki bir di?er özellik ise A? adres çevriminin (Network Address Translation - NAT) geli?mi? kullan?m?. IPFW`de oldu?u gibi NAT`? bir hedef olarak uygulamaktansa Netfilter hem gelen gemde giden NAT fonksiyonlar? ile daha iyi entegre olan yeni bir NAT modülü sa?l?yor. Gelen NAT (Inbound NAT-INAT) tüm a??n tek bir IP adresini payla?abilmesini sa?l?yor, G?den NAT (Destination NAT-DNAT) a? içinden gelen paketleri direk hedefe de?ilde önce -örne?in proxy sunucuya- yönlendiriyor. Netfilter ayr?ca tek bir kaynaktan gelebilecek SYN paketlerinin say?s?n?da s?n?rlayabiliyor. Böylece SYN-flood DoS sald?r?lar?na kar?? bir koruma sa?l?yor. Paket filreleme güvenlik duvarlar?n? a?mak için bozuk TCP ba?l?klar? kullanan gizli (stealth) taramalar? (örne?in port tarama arac? nmap) alg?layabiliyor. Linux güvenlik duvar? kullan?c?lar? Netfilter`in durumsal-paket-inceleme fonksiyonlar?n? hevesle bekliyorlard?. Linux Firewalls yazar? Zeigler Netfilter ve iptables bu konudaki olumlu görü?lerini ?öyle belirtiyor: 'durum ve NAT modüllerinin sundu?u özellikler çok büyük bir kazanç ve herkes mümkün oldu?unca çabuk geçi? yapacakt?r.' Fakat Zeigler ayn? zamanda birde uyar?da bulunuyor: 'Ö?renilmesi gereken çok ?ey var, bir iki günde yapmay? hayal etmeyin.' Eskisini mi kullanacaks?n?z, yenisine mi geçecekmisiniz? Geçti?imiz y?llardaki yönetici fonksiyonlar?n?n evrimini gözönünde bulundurursak, Linux güvenlik duvarlar? daha güvenli hale geldimi? Evet ve Hay?r. Ever çünkü her yeni sürümle ve özellikle bug`lar düzeltildi. Hay?r çünkü her yeni yaz?l?m yeni riskleri ortaya ç?kar?r. Case Western üniversitesi doktora yapan ve bir a? güvenli?i uzman? olan Jose Nazario 'Linux kernel`inin fixlediklerinden daha çok bug içerenler sundu?u uzun ve denenmi? bir tarihi vard?r.' diyor. 'Bir?eyi fixlemek isterken ba?ka de?erli bir ?eyi bozuyor olman?z mümkün.' Geçti?imiz y?llarda Linux kernel modüllerinde birkaç ciddi güvenlik aç??? bulundu. En son olarak Nisan ay?nda rapor edilen, Netfilter modülünün FTP trafi?ini i?lemesiyle ilgili oland?. FTP istemci ile sunucu aras?nda iki ba?lant? seti gerektirdi?inden di?er protokollerden biraz farkl?. Birincisi istemciden sunucuya kontrol ba?lant?s?, ikincisi sunucudan istemciye bilgi-transfer ba?lant?s?. (Tüm FTP ba?lant?lar? bu ?ekilde