Linux'ta Internet Güvenliği
Guarddog - Firewall Düzenleme Programı

Guarddog - Firewall Düzenleme Programı - 27 Ekim 2003
Tanju Taşçılar - tanju@elektronist.com
Registered Linux User #283274

Guarddog - Firewall Düzenleme Programı İle
Internet'te Stealth-Görünmez Linux

Herşeyden önce şunu belirtelim; Linux güvenli bir işletim sistemidir ve burada anlatılanların Windows işletim sistemlerinin Nasreddin Hoca'nın türbesi benzeri yapısı ile ilgisi yoktur. Olay sadece Linux açısından daha da güvende olma ile ilgilidir.

Linux'ta İnternet'te kullanılan TCP/IP protokolünde bulunan portların koruma işlemi son olarak iptables servisi ile sağlanmaktadır. Port denilen şeyler aslında gidip gelen bilgi paketlerinin içindeki 'port' olarak tanımlanan 16 bitlik numaralardır. iptables servisi paketleri inceler ve sahip olduğu port numarası geçmesine izin verilen numara (açık port) ise geçirir aksi halde (kapalı port) geçirmez. Yani firewall'un kendisi aslında iptables sistemidir diyebiliriz. Shorewall veya Guarddog gibi programlar ise bu sisteme açık veya kapalı tutacakları portları belirleyen programlardır. Yani firewall düzenleme programlarıdır.

Mandrake Linux ile Shorewall programı geliyor. Ancak daha anlaşılır, daha detaylı bir program arayanlar için Guarddog çok güzel bir seçim olabilir. Guarddog programını http://www.simonzone/software/guarddog adresinden indirebilirsiniz. Önemli Linux dağıtımları için rpm dosyaları bulunuyor. Mandrake Linux 9.1 için

guarddog-2.2.0-2mdk.i586.rpm

dosyasını kullanabilirsiniz. Guarddog'u kurmadan önce İnternette http://www.grc.com/default.html adresini ziyaret ederseniz mevcut durumunuzu öğrenebilirsiniz. Burada ShieldsUP! linkini kullanarak testlerin yapıldığı bölüme giriyoruz. Gelen uyarı sayfasını 'proceed' ile geçiyoruz. Daha sonra karşımıza çıkan sayfada

olan bölüme geliyoruz. 'Common Ports'a tıkladığımızda sık kullanılan önemli portlarla ilgili test yapılıyor ve durum görüntüleniyor. Burada normal olarak portlar 'kapalı' görülebilir. Ancak 'stealth-görünmez' değiller ve

ile bu durum açıklanıyor. Ayrıca 'All Service Ports' seçeneği ile ilk 1056 port test ediliyor. ve sonuç görüntüleniyor. Burada da portların çoğu Linux bilgisayarı için kapalı görünüyor. Birkaç portun açık veya görünmez olduğu belirtiliyor.

Şimdi Guarddog kurulumuna dönelim. Elde ettiğimiz rpm dosyasını bu işler için kullandığımız bir alana kopyalayalım. Konqueror'da üzerine gelip tıkladığımızda, eğer kpackage paketini kurmadıysanız Mandrake'nin Yazılım Kurma programı çalışıyor. Sorulan 'root' parolasını giriyorsunuz işlem devam ediyor. Size bağımlılıkları belirten bir pencere geliyor. Devam diyorsunuz. Eğer sisteminizde iptables paketi kurulu değilse zamanı geldiğinde sizden ilgili Mandrake Linux CD'sini isteyecektir. Ayrıca paketin imzasının olmadığını belirten soruya da tamam diyorsunuz. Kurulum tamamlandığında KMenü'de 'Ag -> Diğer -> Guarddog Firewall (non-root)' ve 'Yapılandırma -> Ağ -> Guarddog Firewall isimli iki giriş bulunuyor. Bunlardan ilki yalnızca tanım dosyası oluşturmak için veya oluşturulmuş tanım dosyalarını incelemek için kullanılırken, 'root' olarak kullanılan ikincisi tam olarak çalışan program oluyor.

Kurulumdan sonra 'root' olarak ilk defa çalıştırıldığında önceki firewall tanımlarının değişeceğine dair bir uyarı çıkıyor. Bunu 'ok' ile geçiyoruz program açılıyor.

Guarddog düzenleme işlemini tanımlı bölgeler ve bu bölgelerde kullanılacak protokollere izin vererek veya engelleyerek yapıyor. Windows'taki Zone Alarm ve benzeri uygulamalar ise daha çok uygulamalar temelinde konuya yaklaşıyorlar.

Burada programın detaylarına girmek yerine, İnternete dialup ile bağlanan bir bilgisayarda normal olarak yapılması uygun olan ayarları göreceğiz. Bunun için de web sayfalarında gezinebilmek ve e-mail alıp verebilmek için gerekli protokolleri kullanıma açacağız. Programda 'Zone', 'Protocol', 'Logging' ve 'Advenced' olarak üç pencere bulunuyor. Başlangıçta ön tanımlı olarak 'İnternet' ve 'Local' zonları bulunuyor. 'Protocol' sayfasına geçelim ve 'Defined Network Zones' bölümünde 'İnternet'in seçili olmasını sağlayalım. Sağ bölümde 'Zone Properties' başlığı altında sıralanan protokol gruplarından 'File Transfer' grubunun yanındaki (+) işaretine tıkladığımızda bu gruptaki protokoller seçilmek üzere açılır. Her protokolün sağında bir işaret kutusu bulunur. Bu kutu üç şekil alabilir, boş, aktif ve kapalı. Her tıklamada bir işaret değişir. İstediğimiz ayarlar için FTP, HTTPS, HTTP protokollerini aktif olacak şekilde seçelim. Bunları seçmekle FTP ile dosya transferi yapabileceğiz ve standart ve güvenli web sayfalarını görüntüleyebileceğiz.

Sonra 'Mail' grubunu açalım. Burada eğer Pop3 mail hesabı kullanıyorsanız POP3, POP3S ve SMTP protokollerini webmail türünde hesabınız varsa IMAP ve IMAPS protokollerini aktif hale getirmelisiniz.

Son olarak 'Network' grubunu açalım ve burada DNS protokolünü aktif hale getirelim. Bunu yapmazsak web sayfalarının IP numaralarını kullanmak zorunda kalırız.

Yaptığımız ayarların geçerli olması için 'Apply' butonuna tıkladığımızda bir uyarı peneceresi açılacaktır. Bu pencereyi onaylamak için 'Continue' butonuna tıklayalım. Bunun ardından Guarddog gerekli işlemleri yapacak ve 'Starting Firewall' penceresinde durumu gösterecektir. 'Ok' ve 'Okey' tuşları ile programdan çıkabiliriz. Artık yeni Firewall kurallarımız geçerlidir.

Artık yeni kurallarımızla sistemimizin durumunu deneyebiliriz. Yukardaki gibi grc.com'a bağlanıp testleri yaptığımızda bütün portların 'stealth-görünmez' olduğunu göreceğiz.

Eğer firewall'u kapatmak istiyorsak 'Advenced' sayfasından kapatabıliriz.

  İnce Ayar:

Guarddog'un ve dolayısıyla da firewall'unuzun düzgün çalışabilmesi için eğer aktif ise Mandrake'nin kendi firewall'unu kapatmalısınız. Bundan daha önemlisi aşağıdaki değişiklikleri yapmazsanız, Guarddog'un kuralları siz Guarddog'u çalıştırıp aktif hale getirmediğiniz zamanlarda geçerli olmayacaktır. Guarddog'un kurallarını /etc/rc.firewall scripti belirliyor. Ancak bu scriptin çalıştırılması için kullanılacak iki dosya oluşturulmamış durumda. Bu iki dosya içerikleri aynı olan /etc/ppp/ip-up.local ve /etc/ppp/ip-down.local dosyaları ve içerikleri de şöyle:

#!/bin/bash

[ -x /etc/rc.firewall ] && /etc/rc.firewall

Bu içerikte iki dosya oluşturup /etc/ppp/ip-up.local ve /etc/ppp/ip-down.local adları ile kaydettikten sonra her ikisini de çalıştırılabilir dosya haline getirmeliyiz. Bir 'root' konsolunda

chmod 755 /etc/ppp/ip-up.local
chmod 755 /etc/ppp/ip-down.local

komutlarını uygularız. İnternete bağlanırken ppp çalıştırıldığında /etc/ppp/ip-up scripti çalıştırılır. Bu scriptin sonundaki

[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"

satırı ile eğer /etc/ppp/ip-up.local dosyası varsa ve çalıştırılabilir dosya ise bu dosya çalıştırılır. Aynı şekilde bizim oluşturduğumuz dosyaların içindeki

[ -x /etc/rc.firewall ] && /etc/rc.firewall

satırı ile de eğer /etc/rs.firewall dosyası varsa ve çalıştırılabilir dosya ise bu dosya çalıştırılır. Bu dosyanın çalıştırılması ise bizim Guarddog kurallarının geçerli hale gelmesi demektir.


Elektronist - Linux
Guarddog - Firewall ile İnternette görünmez Linux

Bu ve ilişkilendirilmiş yazılar GPL lisansına göre yayınlanmaktadır. Bütün hakları yazarına aittir. Yazarının ismi belirtilerek serbestçe dağıtılabilir ve kullanılabilir. Ancak bunların hiçbiri, hiçbir şekilde ve şartta GPL lisansı haricinde kullanılamaz. Burada yer alanları bulundurmaktan, kullanmaktan veya alıntı yapmaktan dolayı hiçbir sunucu, servis veya protokol, yazı veya içeriği üzerinde hak iddia edemez. info@elektronist.com