Konu: Linux İşletim Sistemi ile Güvenlik Duvarı !!! Ptsi Ara. 01, 2008 12:47 am
Linux işletim sistemleri güvenlik duvarı çözümünü çekirdek düzeyinde sağlamaktadır. Bunun için kullanılan çekirdeğe gömülü ya da modüler olarak desteğin sağlanması gerekir. Linux işletim sistemi 2.0.x çekirdek serisinde ipfwadm, 2.2.x serisinde ipchains ve 2.4.x serisinde iptables programları ile filtreleme işlemlerini gerçekleştirmektedir. Çekirdek derleme sırasında ilgili programların seçilmesi ya da daha sonradan modül olarak çekirdeğe eklenmesi gerekir.
Yeni Linux sürümleri 2.4 çekirdek serisini kullanığı için, bu yazımızda iptables programını inceleyeceğiz.
Linux çekirdeğinde, Networking options è IP: Netfilter Configuration è IP tables support (required for filtering/masq/NAT) altında güvenlik duvarının kullanım amacına göre kullanılacak modüller seçilmelidir.
Linux işletim sisteminin standart güvenlik duvarı olarak kullanılması:
Çekirdek içerisine gömülü değil ise (genellikle bu yöntem tercih ediliyor);
/sbin/insmod ip_tables /sbin/insmod iptables_filter komutları ile modüller yüklenir. Linux işletim sisteminde, güvenlik duvarında üç ana zincir (chain) vardır: GİRİŞ (INPUT), YÖNLENDİRME (FORWARD) ve ÇIKIŞ (OUTPUT). Bu zincirlerin varsayılan ayarlarının tanımlanması gerekir. Güvenlik duvarlarında varsayılan ayar olarak bütün paketler reddedilir (DROP) ve sadece istenen paketlere izin verilir (ACCEPT). Bunun için ilk olarak kullanılan iptables programının tam konumu belirtilir:
IPTABLES=/sbin/iptables Sonra üç temel zincir için varsayılan ayarlar belirlenir:
$IPTABLES -P INPUT DROP $IPTABLES -F INPUT $IPTABLES -P OUTPUT DROP $IPTABLES -F OUTPUT $IPTABLES -P FORWARD DROP $IPTABLES -F FORWARD Daha sonra istenen paketlerin geçişi için kurallar belirlenir. Örneğin, 144.122.202.19 nolu IP'den gelen ve aynı IP'ye giden paketlere izin vermek için;
$IPTABLES -A INPUT -s 144.122.202.19 -j ACCEPT $IPTABLES -A OUTPUT -d 144.122.202.19 -j ACCEPT komutları girilir. Benzer şekilde tek bir IP tanımlanabileceği gibi blok IP'ler de tanımlanabilir: $IPTABLES -A INPUT -s 144.122.202.0/255.255.202.0 -j ACCEPT $IPTABLES -A OUTPUT -d 144.122.202.0/255.255.202.0 -j ACCEPT Bunun yanında paketin türü (tcp, udp, icmp vb.) ve port numarasına göre de sınırlamalar yapılabilir. Bu filtrelemenin doğru çalışabilmesi için programların kullandığı paket türlerinin ve port numaralarının bilinmesi gerekir. Bu konuda Linux işletim sistemlerinde /etc/services dosyasından standart servisler hakkında bilgi edinilebilir: ftp-data 20/tcp ftp-data 20/udp # 21 is registered to ftp, but also used by fsp Ftp 21/tcp ftp 21/udp fsp fspd ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol telnet 23/tcp telnet 23/udp # 24 - private mail system smtp 25/tcp mail smtp 25/udp mail Örneğin web sunucuları 80.porttan tcp paketleri ile hizmet verirler. Web sunucuna her yerden erişilmesi isteniyorsa aşağıdaki kuralların girilmesi gerekir: $IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT $IPTABLES -A OUTPUT -p tcp --sport 80 -j ACCEPT Benzer şekilde DNS sunucuları 53.porttan hem tcp hem udp paketlerini kullanır. Örneğin DNS sunucusuna sadece ODTÜ'ye tanımlı IP'lerden (144.122 bloğu) erişilmesi isteniyorsa aşağıdaki kurallar tanımlanmalıdır: $IPTABLES -A INPUT -p tcp -s 144.122.0.0/255.255.0.0 --dport 53 -j ACCEPT $IPTABLES -A INPUT -p udp -s 144.122.0.0/255.255.0.0 --dport 53 -j ACCEPT $IPTABLES -A OUTPUT -p tcp -d 144.122.0.0/255.255.0.0 --sport 53 -j ACCEPT $IPTABLES -A OUTPUT -p udp -d 144.122.0.0/255.255.0.0 --sport 53 -j ACCEPT Çekirdek içerisindeki değişik seçenekler kullanılarak iptables programı ile üst düzey filtrelemeler ve kayıt (LOG) tutma özellikleri de kullanılabilir. Iptables programı ile sanal ağların oluşturulması:
Uluslararası standartlarda;
10.0.0.0 10.255.255.255 172.16.0.0 172.16.31.255 192.168.0.0 192.168.255.255 IP blokları sanal ağlar için ayrılmış durumdadır. Internet kafelerde, yeterince IP'si olmayan yerlerde ya da güvenlik gerekçesiyle, Internet erişimi içeride sanal ağlar oluşturarak bir ya da birkaç makina üzerinden sağlanmaktadır. Bu işlem için Internet erişiminin sağlanacağı makina üzerinde, gerçek IP'nin tanımlandığı ethernet kartı (ya da modem) ve içerdeki sanal ağ bağlantısını sağlayan ikinci bir ethernet kartının takılı olması gerekir. İşletim sistemi olarak IP MASQUERADE yapılabilmesi için çekirdeğe /sbin/insmod iptable_nat komutu ile ilgili modülün yüklenmesi gerekir.
Örneğin, gerçek erişimin birinci ethernet kartı (eth0) ve sanal ağ erişiminin ikinci ethernet kartı (eth1) ile sağlandığını ve içerde 10'lu sanal ağ yarattığımızı kabul edersek;
DISAG="eth0" ICAG="eth1" GERCEKIP="144.122.202.19" SANALIP="10.0.0.1" SANALAG="10.0.0.0/255.0.0.0" echo "1" > /proc/sys/net/ipv4/ip_forward echo "1" > /proc/sys/net/ipv4/ip_dynaddr $IPTABLES -t nat -F $IPTABLES -t nat -A POSTROUTING -o $DISAG -j MASQUERADE tanımlamaları yapıldıktan sonra sanal ağ içerisindeki bilgisayarlara IP olarak 10.x.x.x, subnet mask olarak 255.0.0.0 ve gateway olarak 10.0.0.1 girildiğinde Internet erişimi sağlanmış olacaktır.
Detaylı Mesaj
Bilgileri
Mesaj No: 269
Mesajın Ana Konusu:Linux İşletim Sistemi ile Güvenlik Duvarı !!!
Gönderilme Tarihi:Ptsi Ara. 01, 2008 12:47 am
Bu Mesajı Şikayet Et:
Linux İşletim Sistemi ile Güvenlik Duvarı !!!
1 sayfadaki 1 sayfası
1 -
Arama Yapmadan Konu Açmayın. 2 - Mesaj Yazarken Başlıklar Konularla Alakalı Olmalır. 3 - Konularımızı Alakalı Başlıklar Altında Açalım. 4 - Aynı Konuya Ard Arda Mesaj Atmayın(flood Yapmayın) 5 - Bu Kurullara Uymamakta Israr Edenler Siteden Belirli Bir Süreliğine Yada Tamamen Uzaklaştırılır.