Linux dünyası bize netfilter/iptables’la (IP tabloları) olağanüstü bir firewall işlevi sunuyor. Bu işlev ücretsiz olup zayıf nitelikli eski PC’lerde dahi düzgün işlemektedir. Netfilter/iptables esnektir, güçlüdür ve bilgisayarın giriş çıkış trafiğinin ince ayrıntılara kadar denetimini sağlamaktadır. Bu dizilerin sahip olduğu başlıca iki işlev firewall’lar kurmak ve bununla bağdaşık bir biçimde Internet bağlantılarını paylaştırmaktır. Bölüm 1-2-3’de temel kavramları göreceğiz; Bölüm 4-5-6 ise size çeşitli kullanımlar için kural grupları sunacak.
Netfilter/iptables’ın içinde firewall için 2.4/2.5 Linux firewall kerneli, network adres çevirisi (NAT) ve packet mangling işlevleri bulunmaktadır. iptables kullanıcı-tanımlı kural grupları için oluşturulmuş çizelge yapısındayken netfilter kernelin içinde çalışmaktadır. Netfilter/iptables eski dostlarımız ipchains (ip zincirleri) ile ipwadfm (IP firewall idaresi)nin yeni neslidir; basitleştirmek için bundan sonra buna kısaca iptables diyelim.
iptables’ın olağanüstü kullanım alanlarından diğer bazıları; bireysel Unix/Linux/BSD çalışma istasyonları için firewall inşa etmek ve ayrıca diğer platformları korumak amacıyla alt netlere firewall kurmaktır. Bunlar ücretsizken niye savunma katmanları oluşturmayasınız ki?
iptables sadece paket başlıklarını okur ve bunun sonucunda da faydalı yükü yoklamaz. Doğrulama işlevi de yürütmez. Fazladan güvenlik sağlamak için bunu squid gibi bir proxy sunucusuyla birleştirerek kullanın. Windows kullanıcıları için, analogX kullanım kolaylığıyla tanınmış popüler bir proxy sunucusudur. (Özelleştirilmemiş konfigürasyonun tamamiyle güvensiz olduğunu aklınızdan çıkarmayın. Bütünüyle yüklenip açıldıktan sonra onu “açıldığı gibi bırakmayın”.)
Neler Yapar
Normal kurulumda iki network arayüzüne gereksinim vardır – bir “dışa-doğru” ve bir de “içe doğru” (bunları genel ve özel diye de adlandırabiliriz). Iptables giren (ve çıkan — çıkış filtresini unutmayın!) paket başlıkları okur ve onları kural gruplarıyla kıyaslar, sonra da kabul edilebilir paketleri bir arayüzden diğerine yollar. Kabul edilmeyen paketler, sizing tercihinize göre ya spot’ta bırakılır – boom splat – ya da başka yere yönlendirilir.
Paketler tables (tablolar) ve chains (zincirler)den oluşmalıdır. iptables’ın üç adet gömme tablosu vardır: filtre, NAT ve mangle. (mangle tablosu, bu dizide ele almayacağımız özel paket biçimlenmeleri içindir). Zincirler paketlerle örtüşen ve onlarla ne yapılacağını söyleyen her bir tablodaki kurallar listesidirler. Target (hedef) örtüştüğü pakete uygulanan herhangi bir kurala verilen isimdir. Bu terimlerle sık sık karşılaşacağız.
ipchains ve ipfwadm’den farklı olarak iptables durum belirtici paket araştırması yapmaktadır. Iptables kaynak ve erek IP adreslerini, kaynak ve erek portları ve gelen paketlerin süregelme sayısını araştırır. Bir bakıma iptables mevcut bağlantıda daha önce izin verilmiş paketleri “hatırlar”. Bu güvenliğin sağlanmasında hayli önemli bir kazançtır – kısa ömürlü portlar, firewall’daki kalıcı deliklerin çeşitli protokolleri barındırmak için her süreçte gerekmesi halinin aksine, sadece kendilerine gerek duyulduğu müddetçe açıktır. Başkalaşmış başlıklara sahip kötü huylu paketler, normalde izin verilen erek adrese ve porta sahip olsalar bile saptanırlar ve düşürülürler.
Bu yazının 2. bölümünü IpTable ile Firewall Oluşturmak – 2 başlığı altında okuyabilirsiniz.