Blog Arşivi

Dökümanlar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Dökümanlar etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

2 Aralık 2011 Cuma

Türkiye IP aralıkları

Türkiye ip aralýklarý

E-Kolay.................. : 62.29.0.0     - 62.29.127.255
ISNET.................... : 213.161.128.0 - 213.161.131.255
HALKNET(BANKA)........... : 195.142.98.0  - 195.142.98.255
SOL...................... : 217.131.0.0   - 217.131.255.255
SOL3..................... : 212.253.0.0   - 212.253.255.255
ANTNET................... : 212.2.192.0   - 212.2.223.255
PRIZMA NET............... : 212.33.0.0    - 212.33.4.255
IXIR..................... : 213.43.0.0    - 213.43.128.255
BASARI.NET............... : 213.248.128.0 - 213.248.148.155
IHLAS.NET................ : 213.238.128.0 - 213.238.158.191
VESTELNET................ : 213.14.8.0    - 213.14.15.255
TURK NOKTA NET........... : 195.214.144.0 - 195.214.151.255
TT NET................... : 195.174.128.1 - 195.174.133.254
kablo.................... : 195.174.0.1   - 195.174.31.254
BAÞARI................... : 213.248.128.0 - 213.248.148.255
BAÞARI 2..................: 213.248.149.0 - 213.248.191.255
TNN TRABZON...............: 195.214.133.0 - 213.214.133.255
ÇELÝKNET..................: 213.159.32.0  - 213.159.40.255
FATIH POP TNN.............: 213.153.209.0 - 213.153.209.255
ANT NET...................: 212.2.192.0   - 212.2.223.255
IHLASNET..................: 213.238.139.0 - 213.238.139.255
YIMPAS....................: 213.204.64.0  - 213.204.88.255
KOÇNET ERZURUM............: 195.87.154.0  - 195.87.154.255
KOÇNET ÇAMLICA............: 195.87.86.0   - 195.87.86.255
KOÇNET BURSA..............: 195.87.160.0  - 195.87.160.255
TRNET ERZURUM.............: 195.142.57.0  - 195.142.57.255
DOÐANATA ISPRO............: 217.21.68.0   - 217.21.71.255
FORNET....................: 212.12.128.0  - 212.12.132.255
KÜTAHYA GESNET............: 194.242.32.0  - 194.242.32.255
DORUKNET..................: 212.58.0.0    - 212.58.15.255
TURKCELL..................: 212.58.18.128 - 212.58.18.191
RTNET CYPOP KIBRIS........: 62.85.128.0   - 62.85.128.255
RTNET.....................: 62.85.128.0   - 62.85.159.255
TR BAYSIS.................: 80.71.128.0   - 80.71.129.255
ECZACINET.................: 195.33.192.0  - 195.33.195.255
DOMINET 1.................: 195.4.32.0    - 195.4.36.255
DOMINET 2.................: 195.74.37.0   - 195.74.63.255
TR RAKSNET................: 195.244.32.0  - 195.244.63.255
FORNET....................: 212.12.128.0  - 212.12.132.255
TR KOÇNET.................: 212.12.133.0  - 212.12.159.255
PRIZMANET.................: 212.33.0.0    - 212.33.4.255
PRIZMANET 2...............: 212.33.5.0    - 212.33.31.255
TR FIDAN..................: 212.45.64.0   - 212.45.95.255
TR COMSAT.................: 212.48.224.0  - 212.48.255.255
ESERNET...................: 212.50.36.0   - 212.50.63.255
DORUKNET..................: 212.58.0.0    - 212.58.15.255
ATLAS.....................: 212.64.192.0  - 212.64.223.255

Radmin ile Bilgisayarlara Girme

Radmin ile Bilgisayarlara Girme (Sayfa:1)

Kullanýlan programlar

----------------------------------

Remote administrator v 2.1 programýný ve kayýt için gerekli olan seri numarasýný Tahribat.com dosya arþivinden indirebilirsiniz.



Baþlýyoruz

Bu dökümaný yazma nedenim dikkatsiz kiþilerin kullandýklarý programlarýn  koruma önlemlerini dahi kullanmaktan aciz olmasý ve internette herkesin girebileceði þekilde dosyalarýný kullanýma açýk býrakmasý e tabi bizimde bu açýklardan yararlanmamýz gerekir .

Radmin nedir?

Radmin programý bir uzaktan kontrol programýdýr uzaktan kontrol programý ile bir çok iþinizi herhangi bir yerdeki baþka bir bilgisayardan evdeki iþlerinizi halledebilirsiniz

program aslýnda trojan mantýðýyla çalýþýr tabii bu program trojandýr demiyorum yani program client ve server kýsmýna sahiptir tabii biz sadece client kýsýmý ile ilgileneceðiz program standart olarak deðiþtirilmediði sürece ki   %99 deðiþtirilmez iletiþim için 4899 . portu kullanýr.

Nasýl bilgisayarlara gireriz?

Program hakkýnda genel bilgiye sahip olduk peki nasýl bilgisayarlara gireceðiz aslýnda olasýlýklarýmýz biraz þans biraz da sabýr, þans dedim çünkü bir port scanner ile türkiye ip aralýklarýnda 4899 portunu kullanan tüm bilgisayarlarý tarayýp bunlarý not alacaðýz peki nasýl yapacaðýz ilk olarak advanced port scanner'ýmýzý açýyoruz (http://www.radmin.com/download/pscan11.zip buradan indirebilirsiniz)  select ports range kýsmýndaki iki bölümede 4899 yazýyoruz daha sonra select ip kýsmýna tarayacaðýmýz ip aralýklarýný yazýyoruz altta türkiye ip aralýklarýný veriyorum mesela ilk alana e-kolay ip aralýklarýný yazýyorum 62.29.0.0 ikinci aralýða  62.29.50.255 yazýyorum  dikkat ederseniz ip aralýklarýnýn hepsini yazmadým bunun nedeni port scannerda portlarý tararken bilgisayarýn takýlýp kalmasýný önlemek çünkü yaptýðýmýz iþlem bilgisayarý yavaþlatan bir iþlem tabii makinanýz iyi bir donanýma sahipse aralýðý büyütebilirsiniz yada kaldýðýnýz yerden tekrardan devam edersiniz mesela üstteki ip aralýklarýnda bulamadýk diyelim son kaldýðýmýz ip aralýðýndan devam edicez yani ilk aralýða  62.29.50.255 ikinci aralýða 62.29.100.255 gibi .Daha sonra üstteki yeþil ve beyaz renkteki bilgisayar simgesi olan butonlarada basýyoruz bunlar sadece online olan bilgisayarlarý gösterecektir sonrada scan diyoruz ve tarama iþlemine baþlýyoruz tarama iþlemi sýrasýnda ip'ler tek tek taranmaya baþlanýr her ip yanýnda open ports ve close ports diye bilgi ekraný olur open ports kýsýmý 1 olan ip leri bir kenara not alýn ben taramamda 1 tane buldum 62.29.5.25 adresinde 4899. portun açýk olduðu gösteriliyor þimdi remote administrator viewer programýmýzý açýyoruz bunu baþlat>programlar>remote administrator v2.1>remote administrator viewer diyerek açýyoruz. Connection menüsünden connect to kýsýmýna týklýyoruz ip adress or dns name kýsýmýna bulduðumuz ip adresini yazýyoruz ben kendi bulduðum ip adresini yazýyorum yani 62.29.5.25 yazýyorum sað tarafta connection type kýsýmýnda full control kýsmý karþý bilgisayarda tüm yetkiye sahip olmanýzý saðlar yani karþý tarafýn masaüstüne her türli müdahale edebilirsiniz view only 'yi seçerseniz karþý tarafýn bilgisayarda ne yaptýðýný izleyebilirsiniz telnet 'i seçerseniz telnet oturumu açar tabii telnet komutlarýný bilmeniz gerekir file transfer'i seçerseniz dosya gönderimi yada alýmý yapabilirsiniz shutdown'ý seçerseniz karþý tarafýn bilgisayarýný kapatýrsýnýz ben buradan file transfer'i seçiyorum ve connect butonuna basýyorum eðer þansýnýz var ve karþý taraf serverýna þifre koymadýysa bilgisayara direk  baðlanýrsýnýz  yok þifre koyduysa ya deneme yanýlma yoluyla bulacaksýnýz yada yeni ipler arýyacaksýnýz ki inanýn þifresiz o kadar çok bilgisayar varký ben girdiklerimin sayýsýný hatýrlamýyorum tabi þifreli olanlarada girebilirsiniz mesela 123456 , admin ,789456,987654321,12345 vb. çok kullanýlan þifreler bu yöntemi kullanarak ip adreslerini tarayýn mutlaka elinize bir çok bilgisayar geçecektir bilgisayara girdikten sonra istediðinizi yapabilirsiniz baþlangýç için güzel bir yöntem tabii þimdi diyorsunuz programý bizde kurduk bizim bilgisayarýmýzada giremezlermi elbette bu mümkün ama serverý çalýþtýrýrsak baþlat>programlar>remote administrator v2.1 menüsünün altýnda install services var iþte bu servisleri bilgisayar yüklemediðimiz sürece sorun yok yok eðer kaza ile yüklediyseniz yapacaklarýnýzý söylüyorum tekrar

baþlat>programlar>remote administrator v2.1>settings for remote administrator  'ü seçiyoruz ve açýlan ekranda üstten ikinci butonu yani remove services'i týklýyoruz ve servisler kaldýrýlmýþ oluyor hepsi bu birde karþý tarafýn bilgisayarýna girdiðinizde eðer karþý taraf ayarladýysa kayýtlar c:\logfile.txt  altýnda tutulur karþý bilgisayara girince bu dosyayý silerseniz ip adresiniz kayýtlý kalmaz.

Hepsi bu kadar umarým bir faydasý olur ben bu yolla çok kiþiyle makara yaptým adamlarýn ekranýný seyredip mircten girdiði kanallara bende girip muhabbet ettim bazýlarý korkudan bilgisayarlarýný kapattý yani eðlenmek istiyorsanýz uygun bi yöntem tabii dosya falanda ödünç çalabilirsiniz :))))) benden bu kadar Eyvallah!!!

Virüs Çeşitleri


Virüs Çeşitleri (Sayfa:1)
    Virüsler, kendi kodlarını başka programlara veya program niteliği olan dosyalara bulaştırabilme özelliği olan (kendi kodunu kopyalayabilen) bilgisayar programlarıdır.Bulaştıkları bilgisayarda genelde hızlı bir şekilde yayılırlar.Belli bir amaca yönelik olarak yazılmış, zarar vermeye yönelik olabilecekleri gibi eğlence amacıyla da yazılmış olabilirler.
    Truva atları, virüslerden oldukça farklı bir yapıya sahiptir.Asla başka programlara bulaşmazlar.Belli olaylara bağlı olarak tetiklenen bir rutindirler.Kendilerini kopyalayamadıkları için bazı programların içine bilinçli olarak yerleştirilirler.Trojanlar, ilgi çeken, utility gibi programların içine yerleştirilirler.Trojan kodu, trojanın içine gizlendiği programın yazarı tarafından yazılmış olabileceği gibi sonradan da programa eklenmişolabilir.Trojanlar aslında kopya koruma amacıyla hazırlanırlar.
    Virüsler çoğunlukla Assembly gibi düşük seviyeli bir programlama dili ile yazılırlar.Bunun asıl 2 sebebi vardır.
1- Assembly'ın çok güçlü bir dil olması:
2- Yazılan programların derlendikten sonraki dosya boylarının çok küçük olması. Bu özelliklerin her ikisi de virüs yazarlarının assembly dilini kullanması için yeterli ve gerekli sebeplerdir.Virüsleri özelliklerine göre sınıflandırmak pek mümkün olmasa da aşağıdaki şekildeki gibi bir sınıflandırma yapmak yanlış olmayacaktır.Ancak pek çok virüs, pek çok özelliği bünyesinde barındırabilir.Bulaşma hızını arttırabilmek amacıyla yapılan bu durum  sonucu virüs, boot sektörlere, mbr kayıtlarına, programlara bulaşabilir. Şimdi de bu virüs türlerinin işleyişlerine bakalım.

1 - Disk virüsleri :
    ---Boot sector virüsleri
    ---MBR (Master Boot Record virüsleri)

2 - Dosya virüsleri :
    ---Program (TSR ve nonTSR)
    ---Makro virüsleri

3- FlashBIOS virüsleri

            1 - Disk Virüsleri
    Disk virüsleri, adından da anlaşılacağı üzere, disk ve/veya disketler üzerinde işletim sistemi için özel anlamı olan bölgelere (boot sektör, MBR) yerleşen virüslerdir. Disk virüsleri, hakkında en çok yanlış bilginin olduğu virüs türüdür.Boot ve MBR virüsleri, aşağıda da göreceğiniz gibi işletim sisteminden önce hafızaya yüklenir.Bu yüzden işletim sistemini kolaylıkla atlatıp, Yukarıdaki şekilde de görüleceği gibi disk virüslerini boot ve MBR (partition) virüsleri olarak 2 gruba ayırabiliriz.

        Boot Sector Virüsleri
    Boot virüslerinin ne olduğuna geçmeden önce boot sektör nedir, disk üzerinde nerede bulunur, önce bunlara bir bakalım; Boot sektör, bir diskin veya disketin işletim sistemini yüklemeye yarayan 1 sektör (512 byte) uzunluğundaki bir programdır.Boot sektörler, disketlerde 0.cı iz, 0.cı kafa,1.ci sektör üzerinde bulunur. Hard disklerde ise boot sektörü 0.ci iz, 1.ci kafa ve 1.ci sektör üzerinde bulunur.Boot sektör, açılış için gerekli sistem dosyalarının yükleyen programdır.Aynı zamanda disk (veya disket) ile ilgili bilgileri saklar.DOS buradaki bilgileri kullanarak cylider hesaplarını yapar.
Normal koşullarda, bilgisayarı başlatabilecek durumdaki bir sistem disketini (virüssüz) sürücüye takıp bilgisayarı açtığımızda, bilgisayar ilk olarak disket sürücüye bakar.Eğer sürücüde bir disket var ise bu disketin boot sektörü hafızanın 0000:7C00 (hex) adresine okunur ve okunan boot sektör çalıştırılır.Boot sektör, işletim sistemini yükleyerek denetimi işletim sistemine bırakır. Eğer bilgisayarı boot edecek disket bir boot virüsü içeriyorsa o zaman durum değişir.Bilgisayar, boot sektörü yine 0000:7C00 adresine okur ve akışı bu adrese yönlendirir.Disketten okunan boot kaydı, yapı olarak değiştiğinden dolayı, 0000:7C00'daki kod virüsü hafıza içine yükleyip, hafızadaki konumunu garanti altına alacaktır.Virüs aktivitesi için gerekli interrupt servislerini de kontrol altına aldıktan sonra orjinal boot kayıdını okuyarak işletim sisteminin yüklenmesini sağlayacaktır.

        MBR (Partition) Virüsleri
    MBR virüsleri esas olarak, boot virüslerinden pek de farklı değildir.Ancak can alıcı bir nokta vardır ki, bu boot ve mbr virüsleri arasındaki en önemli noktadır. Hard diskler kapasite olarak çok farklı ve büyük kapasitede olduklarından diskin DOS'a tanıtılması amacıyla MBR - Master Boot Record (Ana açılış kaydı) denilen özel bir açılış programı içerirler.Bu kod diskin 0.cı iz, 0.cı kafa ve 1.ci sektörü üzerinde bulunur.Yani disketlerde boot sektörün bulunduğu konum, hard diskler için MBR yeridir.Master boot record, hangi disk partitionundan bilgisayarın açılacağını gösterir.Bu yüzden çok önemlidir.Eğer bilgisayar hard diskten boot ediliyorsa, o takdirde mbr ve partition table okunur.Aktif partitiona ait boot sektör okunur.Bundan sonrası boot sektör kısmındaki sistemin aynısıdır.

            2 - Dosya Virüsleri
    Dosya virüsleri açıkça anlaşılacağı gibi hedefi dosyalar olan virüslerdir.Dosya virüsleri çoğunlukla COM, EXE, SYS olmak üzere OVL, OVR, DOC, XLS, DXF gibi değişik tipte kütüklere bulaşabilirler.

    Program virüsleri
    Program virüsleri, DOS'un çalıştırılabilir dosya uzantıları olan COM ve EXE türü programlar başta olmak üzere SYS, OVL, DLL gibi değişik sürücü ve kütüphane dosyalarını kendilerine kurban olarak seçip bu dosyalara bulaşabilirler.Dosya virüsleri bellekte sürekli kalmayan (nonTSR) ve bellekte yerleşik duran (TSR) olarak 2 tipte yazılırlar.


nonTSR (Bellekte sürekli kalmayan) virüsler: Bellekte sürekli olarak kalmazlar.Kodları oldukça basittir.Bellekte sürekli kalmayan virüsler sadece virüslü bir program çalıştırıldığında başka programlara bulaşabilirler.Virüslü program çalıştırıldığında programın başında program kontrolünü virüs koduna yönlendirecek bir takım komutlar bulunur.Virüs kontrolü bu şekilde ele aldıktan sonra virüs kendisine temiz olarak nitelendirilen virüssüz programlar aramaya koyulur.Bulduğu temiz programların sonuna kendi kodunu ekler ve programın başına da virüsün kontrolü ele alabilmesi için özel bir atlama komutu yerleştirir ve kendisine yeni kurban programlar arar.Virüs bulaşma işini bitirdikten sonra çalıştırmak istediğimiz program ile ilgili tüm ayarları düzenleyerek kontrolü konak programa devreder.

TSR (Bellekte sürekli kalan) virüsler: TSR virüsler yapı olarak TSR olmayan virüslerden çok farklıdır.TSR virüsler, 2 temel bölümden oluşurlar.1.ci bölüm; Virüsün çalışması için gerekli ayarlamaları yapar ve TSR olacak kodu aktifleştirir.2.bölüm TSR olan kodun kendisidir ve TSR virüslerin hayati önemdeki bölümüdür.Bu tip virüsler, çalışmak için sadece TSR olmakla kalmazlar.Aynı zamanda çeşitli Interruptları (kesilmeleri) kontrol altına alırlar.Böylece DOS üzerinden yapılan işlemleri bile kontrol altına alabilirler.Örnek vermek gerekirse; TSR bir virüs DIR, COPY gibi DOS komutları ile yapılan -daha doğrusu yapılmak istenen- işlemleri kontrol altına alabilir.Kullanıcı DIR komutunu kullandığında dosya boylarının 0 olarak gösterilmesi, dosya boylarının eksik gösterilmesi gibi işlemler TSR bir virüs için çok kolaydır.

    Makro Virüsleri
    Makro virüsleri Word, Excel gibi programların makro dilleri ile (mesela VBA - Visual Basic for Applications) yazılırlar.Aktif olmaları bazı uygulamalara (word, excel vs) bağlı olduğundan program virüslerine oranla çok daha az etkilidirler.

            3 - FlashBIOS Virüsleri
    FlashBIOS virüsleri tekrar yazılabilir özellikteki BIOS chiplerine bulaşırlar.

            Sorular

    Virüslerin neleri yapıp neleri yapamayacakları konusu en çok ilgi çeken, üzerinde en çok konuşulan konulardan birisidir. Çünkü bir virüs, yaptıklarıyla anılır ve bilinir.

    Bir virüs silindikten sora kendi kendine etkinleşebilirmi?
Hayır.Bir virüsün temizlenmesinden sonra durduk yerde yeniden peydahlanması doğru değildir.Eğer bir antivirüs programı ile sisteminizden virüsü temizlemenize rağmen virüs tekrar ortaya çıkıyorsa 2.durum sözkonusu olabilir.
1- Antivirüs, virüsü temizleyemiyor olabilir.Amatör programcıların yazdıkları shareware olarak dağıtılan antivirüs programlarından birini kullanıyorsanız bu durumla karşılaşmanız olasıdır.Bunun pek çok sebebi olabilir.Örneğin antivirüs, virüsü başka bir virüsle karıştırıyor olabilir.İmza tarama esasına göre çalışan antivirüslerde ortaya çıkabilecek bu sorun genellikle iki virüsün birbirinin varyantı (üzerinde küçük değişiklikler yapılmış biçim) olmasından kaynaklanır.Bir veya birkaç virüsü temizlemek için hazırlanmış eski antivirüs programlarının o virüsün yeni bir varyantının temizlenmesi amacı ile kullanılması sonucu da ortaya çıkabilir.Mesela; elimizde bir programcının 4 yıl önce yazdığı xx virüsünün antivirüs programı olsun.1 yıl önce ortaya çıkan xx virüsünün bir varyantı olan xx.a gibi bir virüsü temizlemek istersek muhtemelen tarama imzaları aynı veya benzer yapıda olacağından bu tür bir sorun ile karşılaşabiliriz.Bunun sonucu olarak virüs uzunluğunun farklı oluşundan dolayı yanlış isimle bile olsa tespit edilir ancak temizlenemez.Bu durumda antivirüs kullanıcıyı yeni bir virüsle karşılaştığını belirten bir mesaj ile uyarır.
2- Bir yerlerde temizlemeyi unuttuğunuz birkaç virüslü dosyanız kalmıştır.Virüs taramalarında taramayı unuttuğunuz disketleri kullanırsanız ve disketteki programlar virüslü ise siz farkına varmadan virüs tekrar sisteminize bulaşacaktır.Virüs taraması yaparken sahip olduğunuz tüm disk ve disketleri virüs taramasından geçirin.Ancak bu şekilde virüslerden kurtulabilirsiniz. Burada belirtmek isterim ki, bu iki durumdan 2.sinin olması daha muhtemeldir.Birinci durumun gerçekleşme ihtimali çok azdır.

    Virüsler veri dosyalarına zarar verebilir mi?
Evet, kesinlikle verebilir.Özel bir veya birkaç dosya türünü hedef alan virüsler, bu tür dosyalara silebilir veya içlerindeki veriyi değiştirebilir, dosyanın yapısını bozabilir.Örneğin yerli virüslerden Trakia.653 virüsü AutoCAD'in DXF ve DWG uzantılı dosyaları hedef almakta ve bu kütüklerin yapısını bozarak işlenemeyecek hale getirmektedir.Trakia.560 virüsü bazı dosyaları silmektedir.Ancak bu tür etkiler virüsün farkedilmesi kolaylaştıracağından pek tercih edilmezler.


    Virüsler yazma korumalı disketlere ve disklere bulaşabilirler mi?
Disketlerin yazma koruması yazılımla kontrol edilen bir sistemdir ve bu sistem aşılabilir.Ancak yazma korumasını kapatmak virüs içinde ekstra kod anlamına gelir.Eksta kod, virüsün boyunu uzatacak ve virüsün farkedilmesini kolaylaştıracaktır.Bu yüzden uygulanan bir yol değildir.Virüsler, yazma korumasını kapatmak yerine yazma korumasını kontrol edip koruma varsa bulaşmamayı tercih ederler.

    Virüsler CMOS'a bulaşabilirler mi?
Herhangi bir virüsün CMOS alanına bulaşması mümkün değildir.Hatta imkansızdır.CMOS bellek kapasitesi üretici firmaya bağlı olarak 128 veya 256 bayttır.Bu alan virüsün ihtiyaç duyacağı belleğin çok altındadır.Kaldı ki CMOS, setup parametrelerinin saklandığı bir veri alanıdır.Ancak virüsler setup parametlerini değiştirebilirler.

Virüsler antivirüs programlarını atlatabilirler mi?
Yeni bir virüs veya çok iyi yazılmış bir virüs bu tür programları safdışı edebilir.Ancak koruma programları virüslü programı daha çalışmadan önce test ettiklerinden bu düşük bir ihtimaldir.Virüsler, bu tür programları aktivitelerinin rapor edilmesinin engellemek için atlatmak ister.

Proxy, Firewall ve kurulumu


Proxy, Firewall ve kurulumu (Sayfa:1)
     Her şirkette bir gün Internet'e bağlantı ve bunun getireceği yararlar gündeme getirilir. Fakat Internet bağlantısı, Bilgi İşlem açısından bir kaç sorun teşkil etmektedir:
  • Dışarıdan içeriye yapılacak saldırılar.
  • İçeriden yetkisiz kişilerin dışarıya bilgi göndermesi.
  • Internet'te "tehlikeli alanlarda" dolaşma sonucunda sisteme virüs bulaşması.
  • Internet'te özellikle vakit kaybettirici bazı sitelere ulaşımın şirket içerisinde, şirket zamanında yapılması.
  • Yetkisiz kullanıcıların Internet'te gezinmesi.
    Günün sonunda, %100 güvenlik ve kontrol yoktur. Fakat güvenlik ve kontrolü, kolaylıkla bertaraf edilebilir halden çıkarmak mümkündür.
        Firewall/Güvenlik Duvarı Nedir?:
    Bütününe güvenlik duvarı dediğimiz servisler aslında bir kaç alt kavramdan oluşmaktadır: Bastion host, NAT, Paket Filtreleme, Proxy (vekil). Bütün güvenlik duvarları (ticari olanlar ve olmayanlar), bu uygulamaların hepsini veya bir kısmını uygularlar.
        Güvenlik Duvarı - Satın Almak, Kendiniz Yapmak?
    Neyi, nasıl güvenlik altına aldığınızı bilmeden, pahalı bir ticari güvenlik duvarı satın almak size güvenlik sağlamaz. Dünyanın en pahalı ve gelişkin güvenlik duvarı, eğer çeşitli protokolleri açmış, fiziksel bağlantının tekliği kavramına uymamış, her tür erişime izin vermiş iseniz, size bir fayda sağlamaz. Elinizdeki Cisco router'unuzu paket filtrelemek için programlamaktan tutun, ticari ve pahalı bir güvenlik duvarı satın almaya kadar uygulayacağınız her tür yöntem, neyi, ne için yaptığınızı biliyorsanız faydalıdır. Güvenlik duvarları, sizin ağ altyapınız ve sizin erişim ihtiyaçlarınız ile alakalıdır. Dolayısıyla ticari bir güvenlik duvarı satın almak niyetinde olsanız dahi, güvenlik duvarlarının ne yaptığını öğrenmek ve erişim ihtiyaçlarınızı belirlemek zorundasınız.
    Güvenlik duvarınızı kendiniz, Linux temelli bir makina üzerinde oluşturabilirsiniz, veya kendiniz oluşturmak istemezseniz Linux temelli hazır bir güvenlik duvarını uygulayabilirsiniz. Ticari olarak satılan güvenlik duvarlarının yapıp, doğru oluşturulmuş bir Linux sisteminin yapamadığı hiç bir şey yoktur.
        Linux Temelli Hazır Güvenlik Duvarları
    Her ne kadar genel bir dağıtım (örneğin Redhat) ile başlayıp kendiniz güvenlik duvarını oluşturabilseniz dahi bazı sebeplerden dolayı bunu yapmak istemeyebilirsiniz:
  • Güvenlik duvarı olarak kullanacağınız makinayı doğru kurmanız gereklidir. Bunun üzerindeki gerekmeyen servisleri kaldırmanız, makinayı güvenli çalışabilecek şekilde kurmanız gereklidir. Bunları yapmakta kendinize güvenmiyorsanız, aşağıda bahsedilen hazır Linux güvenlik duvarlarından birini kurmak isteyebilirsiniz.
     
  • Güvenlik duvarı bir kez kurulup ondan sonra hiç güncellenmeyecek bir sistem değildir. Ticari güvenlik duvarları da sürekli olarak yeni bulunan eksiklikleri kapatmak için güncellenirler. Genel bir dağıtım kullanarak bir güvenlik duvarı oluşturduktan sonra, sürekli olarak yeni çıkan güncellemeleri takip etmek zorundasınız. Eğer bu takibi yapmaya zaman ayıramayacaksanız, aşağıdaki hazır Linux güvenlik duvarlarından birini kullanın. Yalnızca bu paketlere gelen güncellemeleri takip eder ve genel bir dağıtıma yapılan güncellemelerin sizin açınızdan gerekli/gereksiz olup olmadığına karar vermek yükünden kurtulursunuz.
     
  • Güvenlik duvarı üzerinde aşağıda bahsedilen yöntemleri doğru uygulamanız gereklidir. Eğer bunları doğru uygulayacak sistem bilgisine sahip değilseniz ve öğrenmek istemiyorsanız, hazır bir güvenlik duvarı sizin için en iyi yöntem olabilir.
     
  • Güvenlik duvarını gün be gün yönetecek kişi ile güvenlik duvarını kuracak kişi aynı olmayabilir. Aşağıda bahsedilen Linux temelli güvenlik duvarları gayet profesyonel görüntülü, grafik arayüzlerine sahiptir. Bunları kullanmak ve yönetmek kendi oluşturacağınız bir makinayı kullanmak ve yönetmekten daha kolay olacaktır. 
  • Güvenlik duvarı için gereken bütün servisleri bir araya getirmek azımsanmayacak bir sistem entegrasyonudur. Bu işi yapmak yerine hazır, Linux temelli bir güvenlik duvarı kurmayı tercih edebilirsiniz.
    Genel olarak, eğer Internet erişiminiz, kullanacağınız makina, uygulayacağınız protokoller Linux temelli hazır güvenlik duvarlarının birisi tarafından karşılanıyorsa, bunu kurmayı tercih edin. Eğer daha özel bazı istekleriniz varsa, kullandığınız donanım bu sistemler tarafından desteklenmiyorsa, o zaman aşağıda Redhat dağıtımından yola çıkılarak bir güvenlik duvarının nasıl oluşturulduğu anlatılmıştır.

Astaro

    Astaro gerçekten profesyonel bir güvenlik duvarı. Internet'ten indirebilirsiniz. Ticari kuruluşların lisans alması isteniyor. Güvenlik duvarı üzerinde, Internet'ten gelen postalar virüs kontrolünden geçiriliyor ve alınan lisans ağırlıklı bununla ilgili. Modem bağlantısı desteklemiyor -- fakat eğer sabit bir bağlantı ile Internet'e erişiyorsanız, bu sistemi kurun. Piyasadaki bütün ticari, kapalı güvenlik duvarları ile rahatlıkla yarışabilecek bir ürün. Lisanslandığı zaman otomatik olarak virüs dosyalarını ve kendisini güncelleyebiliyor. Sahiden güzel bir web tabanlı grafik arayüzü var.

        Smoothwall

    Daha ziyade ev kullanıcıları için tasarlanmış, modem bağlantısı da destekleyen bir güvenlik duvarı. Sevenleri çok, fakat 2.2 çekirdeği kullandığından dolayı dinamik filtreleme yapamıyor. Geliştiricileri pek geçimli değil ve son zamanlarda ürünlerini giderek daha fazla kapalı hale getirme çabası içerisindeler. Salt bu sebeplerden dolayı ben kullanmazdım.

        Kendiniz Yapmak

    Aşağıda bir Redhat makinasının nasıl güvenlik duvarı haline getirildiği anlatılmıştır.

        Güvenlik Duvarı Kavramları

        Bastion Host:

    İdealde ağınızdaki güvenlik ağ seviyesinde ve ağdaki her bir makinada uygulanır. Pratikte ise, bu ya yapılamamakta, ya da ihtiyaç duyulan kimi protokollerin güvenlikten yoksun olduğu bilinse dahi kullanılmaktadır. Böyle durumlarda güvenlik duvarı, içeride birbirlerine güvenen, az korumalı makinaların olduğu bir ağla, dış dünya arasına yerleştirilir ve aradaki fiziksel bağlantı yalnızca güvenlik duvarı tarafından sağlanır. Dolayısıyla içerideki ağa girmek isteyen her kötü niyetli dış saldırı, önce özel olarak korumalı tasarlanmış güvenlik duvarı makinasını bertaraf etmek zorundadır. Bu makinaya kale, nöbetçi kale anlamına gelen bastion host da denir. Bastion host, fiziksel olarak iki farklı ağa bağlıdır: iç ağ (Intranet) ve dış ağ (Internet). Bastion host iki özelliğe sahiptir:
  • Yüksek güvenliğe sahip olmalıdır -- yani bu makinaya izinsiz erişim son derece zor hale getirilmelidir.
     
  • İki (bazen üç) fiziksel ağ bağlantısına sahip olmalı ve bu farklı ağlar arasındaki iletişimin nasıl yapılacağına dair karar verebilmelidir.
Description: http://rene.tahribat.com/img/Dokuman/proxy/bastion.jpg
NAT, Masquerade:
    Günümüzde iç ağların hemen hepsi tahsisli olmayan IP numaraları (10.0.0.0, 192.168.0.0 vs.) kullanmaktadır. Bu IP numaraları Internet üzerindeki yönlendiriciler (router) tarafından bilinmez. Dolayısıyla bu ağlardan Internet'teki herhangi bir makinaya bir erişim olduğu zaman Internet'teki makina bu ağa nasıl geri döneceğini bilmez ve pratikte iletişim yapılamaz. Güvenlik duvarı ise, dinamik veya statik olarak Internet'te bilinen ve kendisine yönlendirme yapılabilen bir IP numarasına sahiptir. İç ağdaki makinalara erişim sağlayabilmek için güvenlik duvarı, kendisine iç ağdan gelen her paketin kaynak adresini kendi adresi olarak değiştirir. Kendisine Internet'ten gelen paketlerin de hedef adresini iç ağdaki ilgili makinanın adresi olarak değiştirir ve bu yolla iç ağdaki makinaların Internet üzerindeki makinalarla haberleşmesini sağlar. Bu işleme IP Masquerade (IP Taklidi) veya NAT (Network Address Translation - Ağ Adres Çevrimi) denir.
    NAT yapıldığı zaman, oluşan trafiğin Internet'ten görüldüğü hali, Internet'te bulunan tek bir makinanın (güvenlik duvarı) bazı Internet alışverişleri yaptığıdır. Internet'e, bu makinanın arkasındaki ağın büyüklüğü, bu ağdaki makinaların cinsi, sayısı, ağın yapısı vs. hakkında herhangi bir bilgi gitmez. Dolayısıyla NAT, yalnızca tahsissiz ağlardan Internet'e erişimi sağlamakla kalmaz, ağınızdaki makinalar hakkında bilgi edinilmesini (ve dolayısıyla size karşı yapılabilecek saldırıları) zorlaştırır.

        Paket Filtreleme:

    Yukarıda bahsedilen önlemler (güvenlik duvarının tek fiziksel bağlantı olması, NAT uygulanması) ağınıza belli bir miktar güvenlik sağlar, fakat esas güvenlik, paket filtreleme yöntemlerinden gelir. Bu yöntemler, güvenlik duvarından geçen her IP paketine bakılması ve ancak belli şartlara uyarsa geçişine izin verilmesi şeklinde uygulanır.
    Örneğin:
  • İç ağınızdan kimsenin Internet'te ICQ kullanmasını istemiyorsunuz.
     
  • Dışarıdan içeriye hiç kimsenin telnet yapabilmesini istemiyorsunuz.
    Bu hedefleri gerçekleştirmek için paket filtreleme yöntemleri kullanacaksınız. Paket filtreleme, güvenlik duvarının her fiziksel bağlantısı üzerinde ayrı ayrı ve yöne bağlı (dışarıya çıkışa izin ver, fakat içeriye girişe izin verme) olarak uygulanabilir.
    Paket filtrelemede özellikle yapmanız gereken minimum, dışarıdan gelip de kaynağını içerisi gibi gösteren (ip spoofing, ip aldatmacası) paketleri ve devam etmekte olan bir trafiğin parçası imiş gibi gelen paketleri (ip fragments) filtrelemek ve bunların geçişine izin vermemektir. Çoğu saldırı, bu şekilde başlar.
    Bu minimumu sağladıktan sonra, dışarıdan içeriye yapılmasına izin verdiğiniz erişimleri (telnet yapsınlar mı?, ping yapabilsinler mi?) ve içeriden dışarıya yapılmasına izin verdiğiniz erişimleri (kullanıcılarınız dışarıya telnet yapabilsin mi? Web'e erişsinler mi? ICQ yapabilsinler mi?) belirlemeniz ve güvenlik duvarı üzerindeki filtre protokollerinizi buna göre oluşturmanız gerekir.

        Stateful (dinamik) Filtreleme

    Eskiden filtreleme metodları ağırlıklı olarak statikti -- yani genel olarak ağınıza ICQ paketlerinin girmesine izin verip vermeme kararı söz konusu idi. 2.4 Çekirdeği ve bizim aşağıda örneğini verdiğimiz iptables uygulaması ile birlikte stateful (dinamik) filtreleme Linux üzerinde kullanılabilir hale geldi. Aradaki fark, paketin sırf protokolüne bakarak karar vermek yerine, güvenlik duvarının bir bağlantıyı hangi tarafın başlattığını takip etmesi ve çift yönlü paket geçişlerine buna göre karar vermesidir. Yani bir telnet bağlantısında her iki taraftan da paketler gelir ve gider. Fakat dinamik filtreleme ile, bir telnet bağlantısı iç ağınızdan başlatılmışsa izin verir, başlangıç istemi dış ağdan gelmişse reddedebilirsiniz. Dinamik filtreleme özelliği olmayan güvenlik duvarlarını kullanmanızı önermiyoruz. 2.4 çekirdeği ve iptables uygulaması olan her Linux üzerinde dinamik filtreleme yapabilirsiniz.

Bazı Internet Servislerini İç Ağdan Vermek:

    Ağınızda Internet'ten erişimi olması gereken web, posta gibi sunucular bulunabilir. Bu sunuculara erişimi iki yoldan vermeniz mümkündür:
  • DMZ - Demilitarized Zone -- Silahsızlandırılmış bölge uygulaması.
     
  • İç ağınızda bu servislere direkt filtreleme yaparak.

        DMZ Demilitarized Zone -- Silahsızlandırılmış bölge

    DMZ, güvenlik duvarı tarafından daha az korunan, daha fazla erişime izin verilen bir bölgedir. Güvenlik duvarına üçüncü bir ağ çıkışı eklenmesi ve Internet'e servis verecek olan makinaların buraya konulması ile oluşturulur. Örneğin DMZ'deki makinalara NAT uygulanmayabilir, tahsisli IP numaralarına sahip olabilirler. Güvenlik duvarı, telnet, ssh gibi kimi protokollerin buraya erişimini filtreleyerek DMZ bölgesindeki makinalara güvenlik sağlar. Dikkat edilecek nokta, DMZ'de bulunan makinaların daha fazla erişime (ve dolayısıyla saldırıya) açık olmasıdır. Buradaki makinalar dikkatli kurulmalı, güvenliğe aykırı protokoller vs. burada yer almamalıdır.
Description: http://rene.tahribat.com/img/Dokuman/proxy/dmz.jpg

        Direkt Filtreleme

    DMZ oluşturmak için ek ekipman ve IP numarası gerekir. Güvenlik duvarında üçüncü bir ağ birimi, ayrı bir switch, daha fazla adette tahsisli IP numarası, ve iç ağınızda başka herhangi bir görev görmeyecek olan sunucu makinalar gerekir. Eldeki imkanlar buna yetişmeyebilir. Böyle durumlarda, güvenlik duvarınızdaki filtreleme politikasını değiştirerek iç ağınızdaki kimi makinalara dışarıdan sınırlı erişim imkanı verebilirsiniz. Örneğin güvenlik duvarınız ağınızın genelinde dışarıdan gelen SMTP (posta) protokolünü filtrelerken, sadece posta sunucunuza dışarıdan SMTP protokolü erişimini verebilir. NAT ile birleştirileceğinden, bu dışarıdan bakıldığı zaman sanki güvenlik duvarınız posta sunuculuğu yapıyormuş izlenimini verir.

Proxy - Vekil

    Proxy'nin kelime anlamı vekil'dir. Yukarıdaki metodların hepsi, belli kurallara bağlı olarak Internet'teki bir makina ile iç ağdaki bir makina arasında direkt alışverişe izin verir. Vekil uygulamaları ise, bu direkt alışverişin arasına girer. Dolayısıyla protokol bazlı herhangi bir saldırı, vekil sunucuya yönelik gerçekleşir, iç ağdaki makinayı etkilemez. Örneğin bir http (web) vekili, iç ağdan dışarıya giden bütün web isteklerini toplar. Bu istekleri kendisi yapar, gelen sonuçları iç ağa dağıtır. Örneğin eğer web protokolü yolu ile istemci makinanın bazı bilgilerinin alınması veya bir saldırı yapılması söz konusu olur ise, bundan etkilenen sadece web vekili makina olur, iç ağda web erişiminde bulunan her makina değil.
    Güvenlik amacı ile proxy kullanımı, application level firewall (uygulama temelli güvenlik duvarı) olarak adlandırılır.

        Vekillerin Başka Kullanımları:

  • Güvenlik amaçlı - yukarıda bahsedilmiştir.
     
  • İzin amaçlı - İç ağınızdan bazı servislere kimin erişebileceğini belirlemekte, izin politikası uygulamakta kullanılırlar.
     
  • Performans amaçlı - Pek çok istemci aynı istekte bulunuyorsa, bunların bir defaya indirgenmesini sağlayarak hem sunucu makinanın üzerindeki yükü, hem de kullanılan bağlantı yükünü hafifletirler.
    Vekil sunucular, en fazla kullanılan örneği olan web vekili (squid) üzerinde daha detaylı olarak aşağıda anlatılmıştır.

        Sıfırdan, Genel Bir Linux Dağıtımı (Redhat) Kullanarak Güvenlik Duvarı Oluşturmak:

        Neden Kendi Güvenlik Duvarımızı Kurduk?

    Bizim Firma A.Ş.'de henüz hızlı bir Internet bağlantısı bulunmamaktadır. Sabit hattın kurulması beklenirken Internet erişimini başlatmak istedik. Bunu yaparken elde olan Equinox çoklu modem kartını kullanmak, ve karttaki modemlerden birisini Internet'e tahsis etmek istedik. Karttaki diğer modemler başka işler için kullanılacak. Bir modem ise dial-on-demand (gerektiği zaman çevir/bağlan) yöntemi ile Internet'e bağlantı sağlayacak.
    Bir modem ile sürekli olmayan bir bağlantı üzerinden ne kadar dış saldırı gelebileceği tartışılabilir. Fakat bu uygulamayı gelecek olan sürekli bağlantı için bir ön çalışma olarak kullandık. Üstelik, bir modemin bağlantısını paylaştırabilmek için NAT yapmamız, bu kadar düşük hızlı bir bağlantıda biraz daha iyi performans sağlamak için web vekili (squid) kullanmamız, ve ICQ vs. gibi iş için gerekli olmayan erişimleri engellememiz gerekmekte idi. Bu da zaten genel bir güvenlik duvarı oluşturmakta kullanılan bütün kavramları devreye soktu.
    Özel bir modem kartı kullanmamız, bu karttaki başka modemler üzerinde farklı hizmetler vermek istememiz ve Internet bağlantımız modem üzerinden olduğu için Astaro'yu kullanamadık.
İşletim Sistemi ve Kurulum:
    Makina üzerine Redhat kurduk. Custom server (özel sunucu) seçeneğini kullandık. Disk bölümünü Disk druid ile manuel olarak yaptık, 96 Meg /boot, 1 Gig swap (ileride RAM'i arttırırsak ek iş çıkarmamak için gereğinden 4 kat fazla), geri kalanı da / olarak bölümledik. /boot ve / üzerinde ext3 jurnalli dosya sistemini kullandık.
    Makina üzerindeki iki ethernet kartının birini devre dışı bıraktık. İleride sabit bağlantı olduğu zaman bu kart üzerinden dışarıya bağlanacağız. İçeriye bağladığımız ethernet kartına manuel olarak 10.254.254.254 IP numarasını verdik. Ağın genelinde bu IP numarası gateway adresi olarak kullanılacak. DNS sunucu numarası 127.0.0.1 (makina üzerinde yerel bir DNS sunucusu çalıştırıyoruz, iç ağdaki DNS sunucusundan bağımsız)
    Güvenlik duvarını kendimiz kuracağımızdan dolayı "no firewall" seçeneğini seçtik. Kurulumda yaptığımız paket seçenekleri:
  • Classic X
  • X Windows
  • KDE
  • Network Support
  • Dialup Support
  • DNS Server
  • Web Server
  • Messaging/Web Tools
  • Router/Firewall
  • Authoring/Publishing
  • Emacs
  • Utilities
  • Software Development
  • Kernel Development
    Makinayı text (metin) bazlı açma seçeneğini etkinleştirdik. Kurulum esnasında kurduğumuz paketler gerekenden bir hayli fazla. Bunların bir bölümünü daha sonra makinadan kaldırdık. Güvenlikli bir sistem kurmanın püf noktası makinada gerekmeyen hiç bir şeyin bulunmamasından geçmekte. Dolayısıyla daha sonra makinadan pek çok paketi kaldırdık.
Servisleri Kapatma
    Makina kurulduktan sonra ilk işimiz gerekmeyen servisleri kapatmak oldu. Teker teker bütün servisleri gözden geçirip gerekip gerekmediğini düşündük.
cd /etc/rc.d/rc3.d
ls *
mv S09isdn K09isdn
mv S28autofs K28autofs
mv S80sendmail K80sendmail
mv S13portmap K13portmap
mv S14nfslock K14nfslock
mv S60lpd K60lpd
mv S56rawdevices K56rawdevices
mv S25netfs K25netfs
mv S55sshd K55sshd
    Bundan sonra /etc/xinetd.d dizininde yer alan, xinetd vasıtası ile başlatılan servislere baktık (telnet, ping vs.). Bunların hepsinin kapalı olduğundan emin olduk.

Gereksiz Paketleri Kaldırma

    Sistemden kaldırılan paketler biraz sizin tercihinize bağlı. Biz bütün paketlere bakarak gerekmediğini düşündüğümüz herşeyi kaldırdık. Genel teamüle aykırı olarak development (geliştirme) ile ilgili paketleri ve istediğimiz zaman grafik arayüz kullanmak için kullanılan paketleri sistemde bıraktık. Bunun ne kadar doğru olduğu tartışılabilir, fakat güvenlik duvarı makinası üzerinde yapılacak işlemleri bizim açımızdan kolaylaştırmakta.

        Güncellemeleri Uyguladık

    Redhat web sitesinden sistemimizi ilgilendiren bütün güncellemeleri uyguladık. Genel prensip olarak, eğer sistemde kurulu ise, ve güncellenmesi çıkmış ise, bunu indirip kurduk. Zaman zaman da bu güncellemeyi yapmaya devam edeceğiz. Bu makinanın güncellenmesi, iç ağda yer alan herhangi bir makinanın güncellenmesinden çok daha önemli. Saldırılar genelde bilinen ve yeni sürümlerde düzeltilmiş olan eksikleri kullanarak güncellenmemiş sistemlere yönelik oluyor.

        Modem Kartımızı Sisteme Tanıtmak

    Kullandığımız modem kartının sürücülerini Internet'ten indirmek zorundayız. Equinox web sitesinden eqnx-4.01-1.i386.rpm paketini indirdik ve kurduk. Bu paket rpm -Uvh eqnx* komutu ile sürücüsünü derliyor, ve sistem açılırken gerekli olan ayarlarını /etc/rc.d/rc.local dosyasına yazdırıyor. Bu işlemden sonra Internet için kullanacağımız modem /dev/ttyQ1a1 aygıtı olarak sistem tarafından görüldü. Eğer seri port üzerinden external modem kullansa idik, aygıtımız /dev/ttyS01 olarak görülecekti ve bu işlemi yapmak zorunda olmayacaktık.

        PPP Ayarlarını Yapmak

        Bağlantıyı Sağlamak

    Grafik arayüzleri (kppp vs.) normal masaüstü kullanımı için bu işlemi çok kolay hale getirmiş durumda, fakat bizim yaptığımız gibi sunucu şeklinde otomatik aranacak bir sistemde kendi bağlanma betiklerimizi hazırlamak zorundayız. Bu işlem biraz deneme yanılma gerektiriyor ve bir ISP'de çalışan betik bir diğerinde çalışmayabiliyor.
    Deneme yanılma yöntemi ile bulduğumuz, NetOne ve AttGlobal için çalışan arama betikleri (telefon yazan yere telefon numarasını, örneğin 08225551212, yazın): call-netone, call-attglobal. Bu betikleri /etc/ppp dizinine kaydedin: cp call-netone /etc/ppp; cp call-attglobal /etc/ppp. Başka ISP'ler için çalışan bağlanma betikleriniz varsa, lütfen bana gönderin. Bu betiklerin dosya izinlerinin gerektiği kadar olduğundan emin olun: chmod 600 /etc/ppp/call*
    ISP'deki parola ve kullanıcı isminizi chap-secrets ve pap-secrets dosyasına kaydedin. AttGlobal Chap desteklemiyor, dolayısıyla onu yalnızca pap-secrets dosyasına koyduk. Bu dosyalarda kullanici-ismi yazan yere ISP'deki kullanıcı isminizi (örneğin mehmet), parola yazan yere parolanızı (örneğin c2fj80d90) yazın. Bu dosyaları /etc/ppp dizinine kaydedin (orada boş dosyalar olduğundan soru sorabilir): cp chap-secrets /etc/ppp; cp pap-secrets /etc/ppp. Bu dosyaların dosya izinlerinin gerektiği kadar olduğundan emin olun: chmod 600 /etc/ppp/*secrets .

  PPPD Seçenekleri

PPPD çok amaçlı bir servis. Bütün seçeneklerini detaylı anlatmamıza imkan yok. Önemli bir nokta, eğer /etc/ppp/options.ttyXYZ diye bir dosya bulur ise, o aygıt için o dosyayı otomatik uygulayacağı. Bizim aygıtımız ttyQ1a1 olduğu için, /etc/ppp/options.ttyQ1a1 dosyası aşağıda:
#Bu seçenek bağlantı olduğu zaman aradaki ayar paketlerinin sayısını belirliyor.
#Bazen öntanımlı 10 paket yetmeyebiliyor. 30 olarak kullandık.

lcp-max-configure 30
#Bağlantı başlayınca modemi kilitliyor
lock
#10 dakika bir iletişim olmadığı zaman bağlantıyı kapatıyor
idle 600
#Dışarıdaki bağlantı ppp'nin iki ucundaki dinamik IP adreslerini belirler
ipcp-accept-remote
ipcp-accept-local
#Biz parola sormuyoruz, onlar bize soruyor
noauth
#Hangi kullanıcı olarak bağlandığımız. secrets dosyalarındaki parolayı bulmak
#için kullanılıyor.
user kullanici-ismi
#Birden fazla hesap secrets dosyasında yer alıyor. Bunlardan hangisi kullanılacak.
remotename attglobal
#Modem hızımız
57600 crtscts
#İlk başlatıldığı zaman ppp'nin iki ucundaki IP numaralarını belirlemek zorundayız.
#Bağlantıdan sonra bunlar değişecek ve gerçek (ve o bağlantıya has) IP numaraları
#olacak. Ama şimdi bir şeyler vermek zorundayız.
139.92.80.128:152.158.100.30
#Bağlantı betiğimiz.
connect '/usr/sbin/chat -v -f /etc/ppp/call-attglobal'
#Dial-on-demand, yani dışarıya biri bir paket gönderdiği zaman bağlanacağız, hemen değil.
demand
#ppp bağlantısı bu makina için öntanımlı gateway olacak.
defaultroute
    Bu dosyayı birebir değil, sizin modem aygıtınızın ismi ile kaydedeceksiniz. Yani modeminiz /dev/ttyS01 ise, cp options.ttyQ1a1 /etc/ppp/options.ttyS01. Bu dosyanın dosya izinlerinin gerektiği kadar olduğundan emin olun: chmod 600 /etc/ppp/options* .

        PPP Servisini Başlatmak

    Bizim modemimiz ancak /etc/rc.d/rc.local dosyasında ilgili satırlar işlendikten sonra sistem tarafından görülebilir. Dolayısıyla biz pppd başlatma komutumuzu rc.local'e koyduk. Bu bütün sistem ayağa kalktıktan sonra en son işlendiği için sizin için de çalışacaktır.
/etc/rc.d/rc.local dosyasına
/usr/sbin/pppd ttyQ1a1

ilave ettik. Sizin modeminiz ttyS01 ise, /usr/sbin/pppd ttyS01 yazacaksınız. Bundan sonra makinanız her yeniden başlatıldığında, "dial-on-demand" yöntemi ile Internet'e bağlanmaya hazırdır. Henüz bu Internet bağlantısını başkalarına paylaştırmak konusunda bir bilgisi yok, fakat kendisi Internet'e otomatik olarak ihtiyaç gördükçe bağlanır, ve belli bir süre trafik olmazsa bağlantıyı kapatır.        

Güvenlik Duvarını Oluşturma Yazılımı: Fwbuilder

    Bundan sonra ilgili NAT ve filtreleme kurallarını oluşturmamız gerekiyor. Bu işlemi elle de yapabilirdik. Fakat Internet'ten indirebileceğiniz Fwbuilder yazılımı bu işlemi bir hayli kolaylaştırıyor.

        Ön Gereklilikler:

    Fwbuilder'ı derleyebilmemiz için bize libxml2-devel, libxslt-devel, libsigc++ ve libsigc++-devel paketleri gerekti. Bunları Redhat CD'sinden yükledik. Ayrıca, Internet'ten Gtkmm paketini indirdik. Bu paketi rpm -tb gtkmm-1.2.8.tar.gz komutu ile derledik ve oluşan RPM'leri sisteme kurduk: rpm -Uvh /usr/src/redhat/RPMS/i386/gtkmm*.

        Paketleri derlemek:

    Fwbuilder web sitesinden fwbuilder-1.0.0-1rh72.src.rpm ve libfwbuilder-0.10.4-1rh72.src.rpm paketleri indirildi. rpm --rebuild libfwbuilder* komutu ile libfwbuilder paketi derlendi, rpm -Uvh /usr/src/redhat/i386/libfwbuilder* komutu ile sisteme kuruldu. Daha sonra rpm --rebuild fwbuilder* komutu ile fwbuilder derlendi, rpm -Uvh /usr/src/redhat/RPMS/i386/fwbuilder* komutu ile sisteme kuruldu.

        NAT ve Filtreleme Politikalarını Yazmak

     fwbuilder komutu ile yazılım açıldı. Iptables seçeneği seçildi. Yerel network (intranet) ve güvenlik duvarı makinası (perde adında) tanımlandı. "Help me build firewall policy" seçeneğinin yardımı ile ilk temel kurallar oluşturuldu, üzerine aşağıdaki kurallar ilave edildi.

        Ağ Birimlerine Ait Politikalar

    ppp0


Kaynak
Hedef
Servis
İşlem
Yön
Açıklama
Herkes
Herkes
ip_fragments
Paketi yok et(deny)
içeri gelen (inbound)
Modem kartına gelen (içeriden veya dışarıdan) her tür IP paket parçacığı reddedildi.
intranet, perde
Herkes
Bütün servisler
Paketi yok et(deny)
içeri gelen (inbound)
Modem kartına dışarıdan içeriye gelip de kaynağını iç ağ olarak gösteren bir paket bir ip taklidi (ip spoofing) saldırısı olabilir. Reddedildi.
XIntranet, Xperde
Herkes
Bütün servisler
Paketi yok et(deny)
dışarı çıkan (outbound)
Modem kartına içeriden gelip de kaynağını dışarısı olarak gösteren bir paket olmaması gerekir, fakat başka bir sorunun işareti olabilir. Reddedildi.
    lo


Kaynak
Hedef
Servis
İşlem
Yön
Açıklama
Herkes
Perde
Hepsi
Kabul et
İçeri gelen (inbound)
Loopback, makinanın kendi içinde çalışması gerekli olan bir arabirim. Herşey buna açık
Perde
Herkes
Hepsi
Kabul et
Dışarı çıkan (outbound)
Loopback, makinanın kendi içinde çalışması gerekli olan bir arabirim. Herşey buna açık

NAT Politikaları

İlk Kaynak
İlk Hedef
İlk Servis
Çevrilen Kaynak
Çevrilen Hedef
Çevrilen Servis
Açıklama
Intranet
Herşey
http
Değişmedi
Perde
squid
Bir web vekili (squid) kullanıyoruz. Dolayısıyla iç ağdan web (http) kullanarak dışarı çıkmak isteyen bütün paketleri güvenlik duvarı üzerinde squid portuna gönderiyoruz. Bunu kullanabilmek için güvenlik duvarı üzerinde squid vekil sunucusu çalıştıracağız.
Intranet
Herşey
Herşey
Perde
Değişmedi
Değişmedi
Intranet'ten dışarıya çıkmak isteyen herşeyi sanki paket güvenlik duvarından kaynaklanmış gibi yeniden yazıyoruz.

    Genel Politikalar

Kaynak
Hedef
Servis
İşlem
Açıklama
Herkes
Herkes
ip parçacıkları
Paketi yok et(deny)
Bütün olmayan IP paketlerini yok ediyoruz
Herkes
Intranet, perde
Faydalı ICMP
Kabul et
Bu icmp servisleri bazı servislerin doğru çalışması için faydalı.
Perde
Intranet
Zaman aşımı
Kabul et
Traceroute için bu gerekiyor
Intranet
Perde
Herşey
Kabul et.
İçeriden güvenlik duvarına erişim var
XIntranet
Perde
ssh, telnet, http
Paketi yok et(deny)
İçeriden gelmeyen ssh, telnet, http isteklerine cevap vermiyoruz. Zaten güvenlik duvarı üzerinde ssh ve telnet çalıştırmıyoruz ve aşağıdaki genel kural bunları da engellerdi. Fakat gene de emin olalım dedik..
perde
Herşey
herşey
Kabul et
Güvenlik duvarı herkese erişebilir
Intranet
Herşey
http, https, dns_tcp, dns, ntp, traceroute, bütün icmp, telnet, imap, imaps, pop3, smtp, smtps, ssh, ftp, ftp data
Kabul et
İç ağdan bu servislerle dışarıya erişime izin var
Intranet
Herşey
Herşey
Reddet
Yukarıda kabul edilmeyen servisleri iç ağ için hemen reddediyoruz (bekleme olmuyor)
Herşey
Herşey
Herşey
Paketi yok et(deny)
Yukarıdaki kuralların dışında kalan bütün durumları reddediyoruz
    Fwbuilder, verilerini bir xml dosyası halinde saklıyor. /usr/local/firewall adında bir dizin oluşturduk, ve burada perde.xml adında bir dosyada tanım dosyamızı tutuyoruz. Bizim kullandığımız tanım dosyasını indirebilir ve bunu değiştirerek kendi kurallarınıza uygun hale getirebilirsiniz. Kural kümemizi oluşturduktan sonra derleme (compile) seçeneği ile kuralları derliyoruz. Derlenen kurallar /usr/local/firewall/Perde.fw adında bir dosyaya konuyor.

        NAT ve Filtrelemeyi Devreye Almak

    Filtreleme kurallarımız /usr/local/firewall/Perde.fw dosyası altında oluştu. Şimdi bunu devreye almamız gerekli. Redhat'in iptables betiğini bu iş için değiştirerek kullandık. Burada dikkat edilecek nokta, filtreleme işinin modem devreye alınıp pppd çalıştırıldıktan sonra yapılması gerektiği. Dolayısıyla Redhat'in öntanımlı iptables çalıştırma sırası da değişmek zorunda. Bu betiği rc.local'dan çalıştıracağız.
    Önce bir hata olmaması için iptables betiğini normal yerinden sildik: rm -f /etc/rc.d/rc3.d/*iptables. Değiştirilmiş iptables betiğini /etc/rc.d/init.d altına kopyaladık. Dosya izinlerinin doğru olduğundan emin olduk: chmod 755 /etc/rc.d/init.d/iptables. /etc/rc.d/rc.local betiğinde, pppd satırından sonra:

/etc/rc.d/init.d/iptables start
satırını ekledik. Bundan sonra makina yeniden başlatıldığı zaman otomatik olarak NAT ve filtreleme başlayacak. Yerel ağdaki makinalara gateway adresi olarak güvenlik duvarımızın IP adresi olan 10.254.254.254'ü verip, iç ağdan herhangi bir şekilde Internet'e ulaşmak istediğimiz zaman güvenlik duvarımız Internet'e bağlanacak ve oluşturduğumuz kurallar dahilinde erişimi sağlayacak.

        Web Vekili (Squid)

    Eğer bir vekil kullanmayacak olsak, güvenlik duvarımız kullanmaya hazır idi. Fakat vekil sunucular, özellikle http için performans kazandırıcı bir unsurdur.
    Özellikle Web (Internet'te sörf) kullanımında, her bir sayfa, her bir tarayıcı istemi için tekrar tekrar ana sunucudan getirilmektedir. Description: http://rene.tahribat.com/img/Dokuman/proxy/proxysiz.jpg
    Ağ üzerinde yüz istemcinin Hürriyet gazetesini okumak istemesi, aynı sayfanın tam 100 defa ağa getirilmesi demektir. Araya vekil konduğu zaman ise, ilgili sayfa yalnızca bir defa getirilir ve daha sonra isteyen bütün istemcilere vekilin kendi deposundan sunulur. Dolayısıyla Internet trafiği azaltıldığı gibi, ilk istemden sonraki bütün istemcilere yerel ağdan sunum yapıldığı için kullanıcılar sayfaya çok daha hızlı (yerel ağ hızlarında) erişirler. Ülkemizde Internet bağlantılarının pahalılığı ve yavaşlığı göze alınırsa, şirketlerin hiç bir izin mekanizması uygulamak niyetleri olmasa dahi, salt performans arttırmak için vekil uygulamaları tavsiye edilir.

Proxy, Firewall ve kurulumu (Sayfa:12)
Description: http://rene.tahribat.com/img/Dokuman/proxy/proxyli.jpg
    Vekilde izin mekanizması uygulamak ve dolayısı ile çeşitli hizmetleri herkese yasaklamak, çeşitli kullanıcılara bazı hizmetleri yasaklamak gibi izinlendirme politikaları uygulamak mümkündür.
Description: http://rene.tahribat.com/img/Dokuman/proxy/proxyizin.jpg
    Burada Linux üzerinde squid ve squidGuard vasıtası ile:
  • Performans kazandırıcı (caching)
     
  • Transparent (şeffaf) -- kullanmak için kullanıcı tarafında bir ayar gerektirmeyen
     
  • Web sitesi bazında izin mekanizmalı
    bir web vekil uygulaması konu alınmıştır.

Squid Kurulumu

    Redhat  güncelleme paket indirilmiş ve kurulmuştur. Sistem açılışında squid servisinin başlatılması için mv /etc/rc.d/rc3.d/K25squid /etc/rc.d/rc3.d/S25squid komutu uygulanmıştır.
        Ayarlar:
  • Squid'in Internet web deposu (cache) için 1 Gig yer ayrılmıştır.
     
  • İzinlendirme squidGuard paketi ile yapılmaktadır. Yasaklanan siteler: Kimi sitelere erişim engellenmektedir. Bu siteler squidGuard'un yayınladığı Internet karalistesi kullanılarak belirlenmektedir.
    Ayar Dosyası:
/etc/squid/squid.conf dosyası bir hayli uzun olduğundan yalnızca değiştirilen ayarlar buraya alınmıştır. Dosyanın tamamı linkten sağlanabilir.
#VEKIL
#Öntanımlı portun yanısıra 8080 üzerinden de proxy servisi veriyoruz
http_port 3128 8080

#VEKIL
#Başka squid'lerle bilgi paylaşmıyoruz
icp_port 0

#VEKIL
#Yerel ağımızı burada tarifliyoruz
acl intranet src 10.0.0.0/255.0.0.0

#VEKIL
#erişim engellemesi squidGuard tarafından yapılacağı için
#burada yer almıyor

http_access allow intranet

#VEKIL
#Eger proxy yolu ile ftp yaparsak, anonymous isteklerde bu adresi
#verecek
ftp_user Squid@bizimfirma.com.tr

#VEKIL
#1 Gig'lik (1000) büyüklüğünde bir cache dizini kullanıyoruz.
#Ayrıca diske bloksuz yazma yöntemini kullanıyoruz
cache_dir aufs /var/spool/squid 1000 16 256

#VEKIL
#squidGuard kullanıyoruz
redirect_program /usr/local/squidGuard/bin/squidGuard

#VEKIL
#20 adet squidGuard başlatıyoruz. Çok fazla sayıda olursa kaynak israfı
#çok az sayıda olursa beklemeye yol açabilir.
redirect_children 20


#VEKIL
#ICP sorgularına izin vermiyoruz
icp_access deny all

#VEKIL
#Hata iletilerimizi Türkçe verelim
error_directory /usr/lib/squid/errors/Turkish

#VEKIL
#Squid'i transparent (yani kullanıcıların herhangi bir ayar yapmasına gerek kalmaksızın şeffaf olarak
#kullanmak için bu ayarlara ihtiyacımız var.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_single_host off

Squid Kurulumunda ikinci adım: SquidGuard

        Neden SquidGuard? SquidGuard, squid ile birlikte çalışan ve erişim izinlerini belirleyen bir yazılımdır. Squid'in kendisi de erişim izinlerini belirleyebildiğine göre squidGuard'a ihtiyaç olmadığı düşünülebilir. Fakat, squidGuard kullanımının bazı avantajları vardır:
  • Erişim izinlerini squid.conf'un içine yazmak yerine, diskte ayrı dosyalar halinde tutabilirsiniz. Dolayısıyla bir ek izin/kısıtlama ilave ederken yanlışlıkla squid ayarlarını bozma ihtimaliniz ortadan kalkar.
     
  • squidGuard, Internet'te bir arama yazılımı yardımı ile çeşitli kriterlerde karalisteler hazırlamakta ve bunları düzenli olarak güncellemektedir. squidGuard kullanmazsanız, buna alternatifiniz trafiğinizi kontrol etmek ve kullanıcıların gittiği siteleri gözden geçirip kendi karalistenizi oluşturmaktır. Bunun yerine squidGuard'un karalistesini kullanabilirsiniz.
    SquidGuard Kurulumu: SquidGuard web sitesinden squidguard-1.2.0.tar.gz ve blacklists.tar.gz paketleri indirildi ve /usr/local/src dizinine kaydedildi. tar -xzvf squidguard-1.2.0.tar.gz komutu ile paket açıldı. cd /usr/local/src/squidGuard-1.2.0. Paketin ayarları için configure.squidGuard betiği aynı dizine kaydedildi: cp configure.squidGuard /usr/local/src/squidGuard-1.2.0; cd /usr/local/src/squidGuard-1.2.0; chmod 755 configure.squidGuard; ./configure.squidGuard; make ; make install komutları ile paket sisteme kuruldu.
    Karalistenin Oluşturulması: İndirilmiş olan blacklists.tar.gz paketi /usr/local/squidGuard/db/blacklists altına açıldı. /usr/local/squidGuard/configs/filter.conf dosyasında erişim izinleri belirlendi. Esas olarak kara listedeki tüm adresler engellendi. Karaliste squidGuard tarafından haftada 3 kez güncelleniyor. Biz de, zaman zaman bu güncellemeyi yapacağız.
    Hata İletisi: SquidGuard'ın bir kötü tarafı kendi içerisinde bir hata iletisi oluşturmayıp, bir web sunucusuna gereksinim duyması. Sırf bu sebeple güvenlik duvarı üzerinde bir apache web sunucusu kurmak zorunda kaldık. Aslında bunun için içeride herhangi bir web sunucusu da kullanılabilir, fakat mümkün olduğunca güvenlik duvarını kendi başına çalışabilecek halde kurmak istedik.
    SquidGuard paketinin içinden çıkan squidGuard.cgi betiğine Türkçe dilini ilave ettik ve dışarıdan bir siteye verdiği gif link'ini kaldırıp yerel bir link haline getirdik. Betik öntanımlı olarak tarayıcıdaki dil seçeneğine göre dil seçimini yapmakta idi, fakat biz salt Türkçe olmasını istedik. Değiştirilmiş SquidGuard.cgi betiği buradan temin edilebilir. Bu betiği cgi-bin dizinine kaydettik: cp squidGuard.cgi /var/www/cgi-bin. Erişim izinlerinin doğru olduğundan emin olduk: cd /var/www/cgi-bin; chown nobody.nobody squidGuard.cgi ; chmod 755 squidGuard.cgi. Yasak işareti veren forbidden.gif dosyasını ilgili dizine kaydettik: cp forbidden.gif /var/www/html. En sonunda web sunucusunun sistem açıldığı zaman açılmasını sağladık: mv /etc/rc.d/rc3.d/*httpd /etc/rc.d/rc3.d/S15httpd .

        DNS Sunucusu

Sistem kurulurken bir DNS sunucusu kurmuştuk. Bunun sistem açıldığı zaman başlatılmasını sağladık: mv /etc/rc.d/rc3.d/*named /etc/rc.d/rc3.d/S45named.

        Sistemi Yeniden Başlatmak

İlgili servisleri kapatıp açmak ve sistemi yeniden başlatmamak mümkün, ama en kolayı güvenlik duvarını yeniden başlatmak. İç ağınızda gateway adreslerini 10.254.254.254 olarak değiştirdiğiniz zaman Internet erişiminiz ve güvenlik duvarınız hazırdır.

    Sonuç:

Bir kaç saatlik bir çalışma ile ufak bir makina üzerine bir güvenlik duvarı kurabilirsiniz. Güvenlik duvarları salt dış saldırılara karşı sisteminizi korumakla kalmaz, performans arttırıcı ve izin politikası uygulayıcı amaçlar için de kullanılırlar.
akkus@alum.mit.edu