T. C. İSTANBUL TEKNİK ÜNİVERSİTESİ Bilişim Enstitüsü ENFORMASYON SİSTEMLERİNİN TASARIMI VE YÖNETİMİ SHOREWALL, FIRESTARTER, DEVIL-LINUX SİSTEMLERİNİN KURULUMU VE KARŞILAŞTIRILMASI Can Mustafa Köne
SHOREWALL Shorewall www.shorewall.net adresinden indirilebilecek esnek ve güçlü bir firewall programıdır. Kurulum Rpm paketi Suse dahil birçok dağıtımla çalışabiliyor. Benim sistemimde Ubuntu Linux kurulu olduğu için apt-get install shorewall komutu ile kurulumu yaptım. Shorewall' u kullanmadan önce yapılandırma dosyalarının isteğimize göre ayarlanması gerekmektedir. Programın yapılandırma dosyaları /etc/shorewall dizini altında bulunmaktadır. Bu dökümanda tek başına kullanılan bir linux sisteminin yapılandırılması anlatılacak. Program çalışmadan önce zones dosyasında alan tanımlamaları yapmalıyız. Bunun için zones dosyasındaki 3 bilgi alanını doldurmamız gerekiyor. ZONE: Alanımızın kısa adı DISPLAY: Alanımızın gözükür adı COMMENTS: Açıklamalar Artık bağlantılar algılandığında nasıl bir işlem yapılacağını tanımlayabiliriz. Bunun için policy dosyasına tanımladığımız alanların ilişkilerini yazabiliriz. policy dosyasındaki 4 bilgi alanını doldurmamız yeterlidir. SOURCE: Bağlantının yapıldığı alan. DEST: Bağlantının yapılacağı alan. POLICY: Programın bu alanlar arasındaki bağlantıya nasıl yanıt vereceği. LOG LEVEL: Bu bağlantının herhangi bir kaydının tutulup tutulmayacağı. Bilgisayarımızın bir dış cihazla internete çıktığı düşünürsek bu cihaz ile tanımladığımız alanların ilşkisi de interfaces dosyası yardımıyla yapılmaktadır. Bu dosyada da 4 adet bilgi alanı bulunmaktadır. ZONE: Zones dosyasında tanımladığımız alan adlarından biri. INTERFACE: Bağlantımızı sağlayan cihaz (eth0 veya eth1). BROADCAST: Cihazın broadcast adresinin tanımlanacağı bölüm. OPTIONS: dhcp' den ip almak vb benzeri opsiyonların belirtildiği alan. Spesifik bağlantı ayarları için örneğin belirli portlara bağlantıların nasıl karşılanacağının
belirtmek için rules dosyasında çeşitli tanımlamalar yapmamız gerekmektedir. Bu dosyada 6 adet bilgi alanı vardır. ACTION: Bağlantı olduğunda ne işlem yapılacağını belirttiğimiz yerdir. Burada önceden tanımlanmış işlemleri yazarak diğer alanları doldurmamıza gerek kalmayabilir. /usr/share/shorewall klasörü altında actions.std dosyasını metin editörü ile açarsak önceden tanımlı olan işlem listesini görebiliriz. Ayrıca bu işlemler yine aynı klasörün altında birer dosya olarak bulunmaktadır. Örneğin Mysql bağlantısına izin veren işlem action.allowmysql dosyasında tanımlanmıştır. SOURCE: bağlantının geldiği kaynak DEST: Bağlantı yapılan yer PROTO: Protokol cinsi. DEST PORT: Bağlantının yapıldığı yerin port numarası. SOURCE PORT: Bağlantının geldiği yerin port numarası. Shorewall çalışırken bir bağlantı algıladığında ilk önce rules dosyasında o bağlantı için bir kural varmı diye kontrol eder eğer yoksa policy dosyasına bakar. Tüm bu ayar dosyalarını isteğimize göre yapılandırdıktan sonra shorewall start komutu ile firewall'umuzu aktif hale getirebiliriz. Durdurmak istediğimizde ise shorewall stop komutunu vermemiz yeterlidir. Eğer firewall'umuz çalışırken yeniden başlatmak istersek shorewall restart komutunu kullanabiliriz. Ayrıca shorewall programını bilgisayar açılırken başlatmak istiyorsak /etc/default/shorewall dosyasındaki startup değişkenini 1 yapmamız yeterlidir. FIRESTARTER Firestarter www.fs-security.com adresinden indirebileceğiniz hemen hemen tüm popüler linux dağıtımları için paketi bulunan bir firewall programıdır. Web sayfasında da belirtildiği üzere bu yazılım kullanımı basit fakat güçlü koruma sağlayan bir araç olması için yazılmış. Kurulum için ben yine apt-get install komutunu kullanarak paketi bilgisayarıma kurdum. Daha sonra Run Command menüsünü açıp firestarter komutu ile root kullanıcı şifremi girerek programı açabilirsiniz. Program ilk açıldığında karşınıza 4 adımdan oluşan bir sihirbaz çıkıyor. Bu sihirbazın ekran görüntüleri aşağıda gösterilmiştir. Aşağıda da görüldüğü üzere esasında sihirbaz 2 adımdan oluşuyor ilk ve son adımda ayar yapacağınız herhangi bir şey bulunmamakta. 2. adımda ağa
bağlandığınız kartınız seçiyorsunuz. 3. adımda ise isterseniz internet bağlantınızı ağdaki diğer makinelere paylaştırabiliyorsunuz. Firestarter internet bağlantı paylaştırma görevini de üstlenebiliyor.
Tüm bu ayarlamalardan sonra Save diyerek programı başlatıyorsunuz. Program açıldığında alttaki resim gibi bir arayüz ile karşılaşıyorsunuz. Resimde de görüldüğü gibi Status sayfasında programın çalışıp çalışmadığı, network cihazlarının durumu ve anlık bağlantı bilgileri yer alıyor. Events sayfasında ise bloklanan bağlantıların bilgileri yer almakta. Policy sayfasına geçtiğimiz vakit burada gelen ve giden bağlantılara kurallar atayabiliyoruz. Örneğin tüm makinelerden yada belirli bir makineden gelebilecek SMTP servis bağlantısını kabul edebiliyoruz yada herhangi bir makineden gelebilecek her türlü bağlantıyı kabul et diyebiliyoruz. Ayrıca dışarıya yapacağımız bağlantılarıda aynı şekilde kısıtlama şansına sahip oluyoruz. Aşağıda Events ve Policy sayfalarının resimlerini görebilirsiniz.
Programın Preferences menüsünde ise ICMP, ToS filtreleme gibi biraz daha üst düzey ayarlamalar yapma şansınsa sahip oluyorsunuz.
DEVIL-LINUX Devil-Linux yukarida anlatilan firewall yazılımlarından daha farklı bir yapıya sahiptir. Devil- Linux bir linux dağıtımıdır. İçinde gelen yazılımlarla bilgisayarınızı firewall,router,web server, FTP Server, Mail Server haline dönüştürebilirsiniz. Sistem iso imaj dosyası olarak bir cd yada usb disk medyasına yüklenebilmektedir. Ayrıca sistemin tüm konfigürasyon dosyalarını da ayrı bir cd,hard disk,usb drive içinde tutabilirsiniz böylece Devil-Linux'u cd den başlattıktan sonra açılan sisteme bu konfigürasyon dosyasını göstererek tüm ayarlarınızı yükleyebilirsiniz. Devil-Linux' u kurmak için www.devil-linux.org sitesinden en son kararlı sürümü.tar olarak sıkıştırılmış biçimde yüklemelisiniz. Daha sonra bu tar dosyasını açtığımızda dökümanların bulunduğu bir docs klasörü, sistemin yer aldığı bootcd.iso dosyası, yapılandırma dosyalarını içeren etc.tar.bz2 dosyası ve 2 adet script dosyası karşınıza çıkar. Sistemi iki şekilde çalıştırabilirsiniz. 1) CD Boot: Bu işlem için bootcd.iso dosyasını herhangi bir cd yazıcı programı ile yazmanız yeterlidir. Cd'yi yazdıktan sonra artık elinizde bir adet bootable Devil-Linux işletim sistemi bulunmakta. Sistemi ilk açtığınızda yapılandırma dosyalarını nerde tutyorsanız (hard disk,usb drive vb) sistemin bu dosyaları yüklemesini sağlayabilirsiniz. Eğer yapılandırma dosyalarınız yoksa sistem sizin seçtiğiniz yazabileceği bir medya ya bu dosyaların default hallerini yazacaktır. Daha sonra sisteme login olarak (ilk başta root kullanıcısının şifresi bulunmamaktadır) yüklü olan her türlü yazılımı kullanmaya başlayabilirsiniz. 2) USB Disk Boot: Bunun için herhangi bir linux sistemi içerisinden tar dosyasını açtıktan sonra install-on-usb komutunu çalıştırarak usb-drive' nizin içerisine tüm sistemi bootable şekilde atabilirsiniz. Bu bütün formatlama, bootloader (grub,lilo) yükleme işlemlerini size sorarak yapan bir script'dir. Tüm işlemler bittikten sonra bilgisayarınızı usb-drive'dan boot ederek başlattığınız zaman Devil-Linux çalışmaya başlayacaktır. Sistemi çalışır hale getirdikten sonra root kullanıcısı olarak girip kullanmaya başlayabilirsiniz. sistemi firewall olarak kullanmak için önümüzde iki seçenek var birincisi iptables kullanarak
firewall'u çalıştırmak ki /etc/init.d klasörü altında firewall adında bir komut bu işlemi yapmakta. Bu komutu kullanmak için firewall start demeniz yeterli. Bu script iptables kullanarak firewall'u aktif hale getirmekte. Bir diğer seçenek ise yukarıda temel kullanımı anlatılmış olan Shorewall programını kullanmak. Devil-Linux içerisinde Shorewall programı yüklü olarak gelmekte sizin sadece yapmanız gereken yapılandırma dosyalarını ayarlayıp programı başlatmanız. Sistemlerin Karşılaştırılması Bu dökümanda incelediğimiz programlar değişik kategorilerde olmasına rağmen temel anlamda karşılaştırılabilirler. Aşağıdaki tablo ile temel özelliklere göre bir karşılaştırma yapılmaya çalışılmıştır. Kurulum Yapılandırma Kullanım alanı Shorewall Firestarter Devil-Linux birçok dağıtım için paketi bulunmakta. bir kullanıcı arayüzü yok. Yapılandırma dosyalarını kendiniz metin editörü ile değiştirmelisiniz. en basit firewall uygulamasından size özel en karmaşık olana kadar ihtiyacınızı giderebilecek bir program. birçok dağıtım için paketi bulunmakta. Kullanıcı arayüzü var. Yapılandırma basit bir şekilde yapılabiliyor son kullanıcının basitçe kullanabileceği ayrıca internet paylaştırma özelliği olan bir program. kendisi bir dağıtım olduğu için iso dosyasının cd ye yazılıp ayarların yapılması gerekli Kullanıcı arayüzü yok. Yapılandırma diğerlerine göre daha zor. Sadece Firewall olarak değil Web Server,Ftp Server, Mail Server vb işler içinde kullanılabilecek komple bir sistem. Son olarak incelediğimiz bu yazılımları ihtiyacınıza yönelik seçebilirsiniz. Desktop makinesinde kullanacak olanlar arayüzü olması ve kullanım kolaylığı sebebiyle Firestarter'ı, daha ayrıntılı ve daha fazla esneklik isteyen kullanıcılar Shorewall'u, kalabalık bir ağı korumak için tüm makinelerin önüne bir firewall sunucusu kurmak isteyen kullanıcılar ise Devil-Linux'u seçebilirler.