| 
 | 
|  | 
| 
 | 
| Bu makalenin farklı dillerde bulunduğu adresler: English Castellano Deutsch Francais Nederlands Russian Turkce Polish | 
| ![[Photo of the Author]](../../common/images/JoseGonzalez.jpg)  José Salvador González Rivera <jsgr(at)tec.com.mx> Yazar hakkında: José Salvador González Rivera Meksika Linux kullanıcıları grubunun aktif uyelerinden biridir. Serbest yazılım ve özellikle Linux kullanımını teşfik eden etkinliklerde yer almaktadır. Kendisi henüz yeni Bilgisayar sistemleri mezunudur. Kendisiyle iletişimde bulunmak isterseniz, jsgr(at)tec.com.mx or veya jsgr(at)linuxpuebla.org adreslerini kullanabilirsiniz. Türkçe'ye çeviri: Erdal Mutlu <erdal(at)linuxfocus.org> İçerik: 
 | 
| Debian GNU/Linux ile saldırı sezimleme![[debian]](../../common/images/debian.gif)  Özet: 
 Günümüzde bilgiler sayısal olarak elektronik
    ortamlarda saklanmaktadır ve durum böyle olunca, onlara
    bilgisayar ağları aracılığıyla kolayca erişilebilir.
    Verilerin türü ister finanslal, ister yönetsel, ister askeri,
    ister sanayi ve ister ticari olsun, bunlara uzaktan erişmek artık
    çok kolaydır. Ne yazık ki, bunlar kötü niyetli kişilerin verilere
    erişme veya onları yok etmek için kolayca hedef olmaktadır. | 
Linux dağıtımı seçimi yaparken, bir sürü dağıtımı gözönünde bulundurmamız gerekir. Conectiva (Brazilya), Hispa (İspanya), Mandrake (Fransa), SuSE (Almanya), Caldera vs gibi RedHat tabanlıdır ve RPM paket sistemini kullanan birçok Linux dağıtımı daha vardır. Bir de geleneksel Unix'ler gibi sadece .tgz arşivlerini kullanan ve böylece onlara daha yakın olmaya çalışan Slackware vardır. Bunların hemen hemen "hepsi" ticari şirketler tarafından geliştirilmektedir, ancak Debian için bu doğru değildir. Debian İnternet'teki güncellemeleri denetleyen ve bağımlılık denetimlerinde bulunabilen, DPKG adında bir paket yöneticisi sunmaktadır. Böylece, hem sistem yönetimini kolaylaştırmakta ve hem de güvenlik ile ilgili yamalar gözönünde bulundurulduğunda sistemin güncel kalmasını sağlamaktadır.
Debian ayrıca birkaç önemli özellik daha sunmaktadır:
    
    1) Ticari bir amacı yoktur ve pazarın getirmiş olduğu baskıları
    izlememektedir.
    2) İyi bir hata izleme sistemine sahiptir ve hatalar 48 saatten daha
    kısa bir süre içerisinde giderilmektedir.
    3)Başından beri amacı, tam ve güvenilir bir işletim sistemi
    geliştirmektir.
    4) Tüm dünya üzerinde olan gönüllü geliştiriciler tarafından
    geliştirilmektedir.
    
    Dağıtımın her yeni sürümü yeni bir mimariyi daha desteklemektedir.
    Şu anda desteklenmekte olan mimariler şunlardır:
    Alpha, ARM, HP PA-RISC, Intel
    x86, Intel IA-64, Motorola 680x0, MIPS, MIPS (DEC), Power PC, IBM
    S/390, Sparc dır. Sun UltraSparc ve Hitachi SuperH üzerindeki
    çalışmalar sürmektedir. En fazla donanım ortamını destekleyen sistem
    Linux'dur.
Debian'ın var olan paketleri arasında, kötü niyetli bağlantıları gerçek zamanlı olarak sezebilecek araçlar da vardır. Bunlar, ağ üzerinden gelen saldırıyı ve belli bir bilgisayarın çalışmasını izleyen iki türdür.
Bağlantı noktaları tarayıcılarını sezimlemek için PortSentry'yi, sistemdeki değişiklikleri sezimlemek için TripWire'ı ve çetele dosyalarını incelemek için LogSentry'yi kullanmaktayız. Bunlardan birincisi ve üçüncüsü Psionic Technologies şirketinin TriSentry ürününün bir parçasıdır.
PortSentry sistemimizdeki bağlantı noktalarını
    izlemekte ve bağlantı yapılmasını istemediğimiz bir
    bağlantı noktasına bağlantı kurmaya çalışan olursa,
    buna karşı belli bir işlemi (genelde bağlantıyı kesme) yerine
    getirmektedir.
    
    Programın sanaldoku sayfası
    http://www.psionic.com/products/portsentry.html
    adresindedir. Program, Solaris, BSD, AIX, SCO, Digital
    Unix, HP-UX ve Linux altında çalışmaktadır.
    
    Debian'da programı yüklemek için aşağıdaki komutları çalıştırmanız
    gerekmektedir:
    
    apt-get install portsentry
classic, stealth ve advanced (gelişmiş) olmak üzere üç farklı çalışma kipi
    seçilebilir. Programın yapılandırma dosyası
    /usr/local/psionic/portsentry/portsentry.conf dur.
    
    Ana seçenekleri, José Torres Luque'in ES Linux Magazine'de
    yayınlanan yazısında aşağıdaki gibi buldum:
TCP_PORTS, ile ister classic isterse stealth kipinde
    olsun, denetlenmesini istediğiniz bağlantı noktaları
    tanımlanmaktadır. Programı yazan kişi, güvenlik seviyesine
    göre üç liste sunmaktadır. Kullanılabilecek en fazla bağlantı noktası
    64'tür.
    
     UDP_PORTS, UDP bağlantı noktaları için olup, bir önceki seçenek
     gibidir.
    
     ADVANCED_PORTS_TCP, ADVANCED_PORTS_UDP, gelişmiş (advanced) kipinde
     kullanılacak en yüksek bağlantı noktası numarasını belirtmektedir.
     Önceden devre dışı bırakılanların dışında, bu sayılardan küçük numaraya
     sahip her bağlantı noktası denetlenecektir. En büyük sayı 65535
     olabilir. Ancak, yanlış uyarı oluşmasına yol açmamak için, 1024'ün üstündeki
     sayıları vermek pek önerilmez.
    
     ADVANCED_EXCLUDE_TCP, ADVANCED_EXCLUDE_UDP devre dışı bırakılacak
     bağlantı noktalarının  listesidir. Bu bölümde bulunan bağlantı
     noktaları gelişmiş (advanced) kipte izlenmeyeceklerdir.
     Genellikle buraya, uzaktan erişim yapan istemcilerin bağlandıkları
     noktaları ve ident gibi gerçek servis olmayanları yazabilirsiniz.
    
     IGNORE_FILE'da izleme sırasında atlanacak IP'lerin yer aldığı
     dosyanın yoltanımı belirtiliyor. Yerel ağ arayüzü, lo dahil
     bu dosyada yer almalıdır. Eğer isterseniz, yerel IP numarasını da
     ekleyebilrsiniz.
    
     KILL_ROUTE'da saldırıyı yapan bilgisayarı durdurmak için
     çalıştırılması gereken komutu yazabiliriz. Sözgelimi : iptables -I
     INPUT -s $TARGET$ -j DROP. Buradaki $TARGET$, saldırıyı
     gerçekleştiren bilgisayarı işaret etmektedir.
    
     KILL_RUN_CMD'de saldırganın bilgisayarından olan erişimi
     engellemeden önce çalıştırılması gereken komut yer alıyor.
    
     SCAN_TRIGGER'de uyarıyı çalıştırmadan önce yapılması gereken deneme
     sayısı belirtilmektedir.
    
     PORT_BANNER, açık olan bağlantı noktalarında
     bağlanma kipinde iken bir ileti göstermektedir.
    
    Yapılandırma bittikten sonra programı, aşağıdaki üç çalıştırma
    kipinden birinde başlatmanız gerekiyor. Bunun için kullanabileceğiniz
    seçenekler: TCP için -tcp (temel kip), stealth kipi için -stcp
    ve gelişmiş (advanced) kip için -atcp. UDP'ler için ise,
    sırasıyla -udp, -sudp ve -audp kullanılabilir.
TripWire, dosya sistemi bütünşüğü denetlemesi yapmaktadır.
    Programın sanaldoku yöresini
    http://www.tripwire.org
    adresinde bulabilirsiniz. Programı Linux için parasız ve Windows NT,
    Solaris, AIX ile HP-UX için parayla elde edebilirsiniz.
    
    Debian'da programı yüklemek için aşağıdaki komutu çalıştırmanız
    yeterlidir:
    
    apt-get install tripwire
    
    Bilgileri saklamak için iki adet anahtara gerek vardır.
    Birinci anahtar ('site key') yapılandırma dosya ve ilkeleri,
    ikinci anahtar (yerel 'local key') ise, izlenmesi yapılmış
    dosya durum bilgilerini kodlamada kullanılmaktadır.
    
    Yapılandırmalar basitçe /etc/tripwire/twpol.txt dosyasında yapılmakta ve
    hazır olunduğunda "yüklemek" için aşağıdaki komut çalıştırılır:
    
    twadmin -m P /etc/tripwire/twpol.txt
    
    Dosyaların son durumnu içeren veritabanını ilk defa oluştururken
    aşağıdaki komut çalıştırılır:
    
    tripwire -m i 2
    
    Dosya sisteminin bütünlüğünü denetlemek istenildiğinde aşağıdaki
    komut çalıştırılır:
    
    tripwire -m c
    
    Hangi dosyaların değiştiğini saldırganın tarafından öğrenilmesini engellemek için
    aşağıdaki komut aracılığı ile yapılandırma dosyaları silinebilir:
    
    rm /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt
    
    Gerektiğinde tekrar yaratmak için aşağıdaki komut kullanılabilir:
    
    twadmin -m p > /etc/tripwire/twpol1.txt twadmin -m f >
    /etc/tripwire/twcfg.txt
LogCheck, LogSentry'nin bir parçasıdır ve çetele
    dosyaların çözümlenmesinde kullanılmaktadır ve bu işi çok
    etkin bir şekilde yapmaktadır, çünkü yapılan etkinlikler ve
    okunması gereken oluşmuş hatalar hakkında raporlar hazırlamaktadır.
    Dört farklı çeteleme seviyesi sunmaktadır: ignore (gözardı et),
    unusual activity (sıradan olmayan etkinlik), violation of security
    (güvenliğin ihlali) ve attack (saldırı).
    
    Programın sanaldoku sayfasına
    http://www.psionic.com/products/logsentry.html
    adresinden ulaşabilirsiniz. Programın, Solaris, BSD, HP-UX ve Linux
    için sürümleri vardır.
    
    Programı Debian'da yüklemek için aşağıdaki komut çalıştırılabilir:
    
    apt-get install logcheck
    
    Bu, çözümlenmiş dosyaların listesini tutabilmek için logtail programını
    /usr/local/bin dizinine yüklemektedir. Ayrıca, aşağıdaki dosyalar
    da yüklenmektedir:
Logcheck.sh,
    temel yapılandırmaları içeren betik programıdır.
    
    Logcheck.hacking,
     etkinlik seviyelerinin tanımlandığı kurallarını içerir.
    
    Logcheck.ignore,
    gözardı edilecek ifadeleri içerir.
    
    Logcheck.violations,
    güvenlik ihlali sayılacak ifadeleri içerir.
    
    Logcheck.violations.ignore,
    bu dosyada yer alan ifadeler gözardı edilecektir.
    
    
Çetele dosyalarını saat başı denetlemek için cron tablosuna : 
    0 * * * * /bin/sh /usr/local/etc/logcheck.sh 
    satırı eklenebilir.
Ağ üzerinden gelecek saldırıları sezimleyebilmek için Snort
    kullanıyoruz. Snort'un sanaldoku yöresini
    http://www.snort.org adresindedir
    ve BSD, Solaris, AIX, Irix, MacOS ve Linux sistemleri için sürümleri
    vardır.
    Debian'da programı yüklemek için aşağıdaki komut çalıştırılabilir:
    
    apt-get install snort
    
    Program üç farklı kipte çalışmaktadır: sniffer (izleyici, dinleyici),
    ağ paketleri çetele tutucu ve saldırı sezimleme.
Aşağıdaki parametreler kullanılabilir:
-l dizin
    dosyaların saklandığı dizini göstermektedir.
    
    -h IP
    denetlemek istediğimiz ağ IP numarasını belirtiyor.
    
    -b
    tüm ağ paketlerini binary olarak yakalamaktadır.
    
    -r dosya
    binary dosyayı incelemektedir.
İzleme (sniffer) kipinde, ağ üzerinde dolaşan paketler
    ekranda görüntülenirken, çetele tutma (logger) kipinde ise,
    veriler bir dizindeki dosyaya yazılmaktadır.
    
    Snort -v
    
    IP başlıklarını göstermektedir.
    
    Snort -dv
    
    Aynı zamanda dolaşmakta olan verileri göstermektedir.
    
    Snort -dev
    
    Daha ayrıntılı bilgi vermektedir.
Bu kipte snort, bağlantı noktaları taraması, servisleri engelleme
    saldırısı (DoS Deny of Service), güvenlik açıkları vs gibi olaylar
    hakkında bizi bilgilendirmektedir. snort /usr/local/share/snort
    dosyasında yer alan kurallarına dayanmaktadır. Saat başı güncellenen bu dosyayı,
    programın İnternet sayfasından indirebilirsiniz.
    
    Sadece ağ yapılandırma ve çalışma dizinleri bilgilerini
    snort.conf yapılandırma dosyasında belirterek ve üzerinde çeşitli
    değişiklikler yaparak, programın yapılandırılması kolayca
    yapılmaktadır. Sadece IP numarasını değiştirin:
    
    var HOME_NET IP
    
    snort'u çalıştırmak için aşağıdaki komut kullanılabilir:
    
    snort -c snort.conf
    
    Saldırganlarının IP numaralarını de görebileceğimiz çetele dosyaları
    /var/log/snort dizininde saklanmaktadır. Snort'la yapabilecekleriniz
    bu kadarı ile sınırlı değil tabii. Daha fazla bilgi için snort
    hakkındaki yazıları ve belgeleri okumanızı öneririm. Çeşitli
    organizasyonların, dergilerin ve güvenlik gruplarının çoğu
    saldırı sezimleme sistemleri arasında her UNIX veya Windows için
    snort'un en iyisi olduğunu belirtmektedir. Silicon Defense ve Source
    Fire gibi şirketler, ticari destek vermektedir. Sonuçları daha
    çekici biçimde sergilemek için de grafik kullanıcı arayüzleri
    de ortaya çıkmaktadır.
    
    Bazen bir an önce çözülmesi gereken, öngörülmemiş ve daha ayrıntılı
    çözümlenmesi gerekn acil durumlar ortaya çıkabilir.
    
    Bu sorunlar kötü niyetli insanlar veya o veya
    bu nedenden dolayı sunucularımıza erişmek,
    sistemde daha fazla erişim haklarına sahip olmak için
    izleme veya root-kit'ler yükleyerek o veya bu şekilde
    sunucularımıza erişmek ve
    böylece verilerimizi çalmak veya değiştirmek yada
    bizim bilgisayarları kullanarak başkalarına saldırıda
    kullanmak  isteyen saldırganlar tarafından yapılmaktadır.
İzleyici (sniffer), ağ arayüzünü promiscuous kipine geçirerek, tüm ağ üzerindeki trafiği izlemek veya dinlemek isteyen araca denir. Ağ arayüzünün tüm bilgilerini ifconfig komutyla öğrenebilirsiniz.
eth0 Link encap:Ethernet HWaddr
    00:50:BF:1C:41:59
     inet addr:10.45.202.145 Bcast:255.255.255.255
    Mask:255.255.128.0
     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
     RX packets:7180 errors:0 dropped:0 overruns:0 frame:0
     TX packets:4774 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:100
     RX bytes:8122437 (7.7 MiB) TX bytes:294607 (287.7 KiB)
     Interrupt:10 Base address:0xc000
    
Ancak, ifconfig komutu değiştirildiyse veya izleyiciler ağ'daki başka bilgisayardan çalışıyorlarsa, o zaman 'garip' adreslere e-ileti göndererek veya izleyicinin çetele dosyalarını bularak, dış bağlantıları denetlemek gerekecektir.
Ağ'daki promiscuous kipinde çalışan ağ arayüzlerinin
    varliğini belirlemeye yarayan ve İspanyol kırıcılar tarafından
    tasarlanan neped adında bir araç vardır. Bu Debian'nın paketleri
    arasında yoktur, ama İntrenet'teki
    ftp://apostols.org/AposTools/snapshots/neped/neped.c
    adresinden indirebilirsiniz.
    Not: Bu sunucu birkaç haftadır çalışmıyordu.
Bu programı çalıştırdığınızda, aşağıdaki gibi bir çıktı elde edilmektedir:
neped eth0
    ----------------------------------------------------------
     > My HW Addr: 00:80:F6:C2:0E:2A
     > My IP Addr: 192.168.0.1
     > My NETMASK: 255.255.255.0
     > My BROADCAST: 192.168.1.255
    ----------------------------------------------------------
     Scanning ....
    * Host 192.168.0.2, 00:C2:0F:64:08:FF **** Promiscuous mode
    detected !!!
     End.
    
191.168.0.1'den 192.168.0.2'ye bir IP paketi göndermek
    istediğimizde, onun MAC adresini bilmemiz gerekir. İlgili IP
    numarasının MAC adresini öğrenmek için, ağ'ya bir yayım (broadcast)
    paketi gönderilmektedir. Ağ'daki tüm bilgisayarlar paketi aldıkları
    halde, sadece doğru olan yani o IP numarasına sahip olan
    bilgisayar cevap vermektedir.
    
    Bu durumda neped ağ'daki her IP numarasını sorgulamaktadır,
    ancak yayım paketi kullanmayarak, var olmayan bir IP
    numarası kullanmaktadır. Ağ arayüzleri promiscuous kipinde
    olan bilgisayarlar cevap verecektir, çünkü sadece onlar bu paketi
    görebilmektedir.
    
    Bu programı casus sezimleme hakkında olan, İnternet'teki bir yazıda okumuştum.
    Yazıda benzer bir örnek vardı. Eğer, bu yazının adresini
    biliyorsanız, lütfen bana bir ileti atın, çünkü yazıyı
    kaybettim:-)
Rootkit'ler sıradan kullanıcıların sahip oldukları erişim haklarından daha fazlasını elde etmeye yaramaktadır. Genelde, sistemimizdeki çalışan programları, daha sonra sisteme erişim sağlayacakları başkaları ile değiştirmektedir. İşte bu yüzden, hala programların asıllarına sahip olup olmadığımızı chkrootkit programını kullanarak denetlemek zorundayız. Programı aşağıdaki gibi yükleyebilirsiniz:
apt-get install chkrootkit
www.chkrootkit.org adresinden programın sanaldoku yöresine ulaşabilirsiniz. Programın denetlediği dosyalar ise, şunlardır:
aliens, asp, bindshell, lkm, rexedcs, sniffer,
    wted, z2, amd, basename, biff, chfn, chsh, cron, date, du, dirname,
    echo, egrep, env, find, fingerd, gpm, grep, hdparm, su, ifconfig,
    inetd, inetdconf, identd, killall, ldsopreload, login, ls, lsof,
    mail, mingetty, netstat, named, passwd, pidof, pop2, pop3, ps,
    pstree, rpcinfo, rlogind, rshd, slogin, sendmail, sshd, syslogd,
    tar, tcpd, top, telnetd, timed, traceroute, w, write
    
    Programı kullanmak için:
    
    chkrootkit
    
    komutu çalıştırılır. Böylece dosyalar denetlenmekte, bilinen izleyiciler ve
    rootkitler aranmaktadır. Ağ arayüzünün promiscuous kipinde çalışıp
    çalışmadığını bize söyleyen ifpromisc, çetele dosyalarının
    değiştirilip değiştirilmediğini denetleyen chkwtmp ve
    chklastlog gibi başka araçlar da vardır.
Man sayfalarını okumanızı öneriyorum. Size kullandığım
    bazı referansların adresinini burada yazıyorum. E-ileti
    adresime
    Öneri ve düşüncelerinizi lütfen e-ileti adresime göndermekten
    çekinmeyin.
    
    
    
| 
 | 
| Görselyöre sayfalarının bakımı, LinuxFocus Editörleri tarafından yapılmaktadır © José Salvador González Rivera, FDL LinuxFocus.org | Çeviri bilgisi: 
 | 
2004-07-09, generated by lfparser version 2.43