[LinuxFocus-icon]
Ev  |  Erişimdüzeni  |  İçindekiler  |  Arama

Duyumlar | Belgelikler | Bağlantılar | LF Nedir
Bu makalenin farklı dillerde bulunduğu adresler: English  Castellano  Deutsch  Francais  Portugues  Russian  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
tarafından Georges Tarbouriech
<georges.t(at)linuxfocus.org>

Yazar hakkında:

Georges uzun zamandır UNIX kullanıcısıdır. Güvenlik konusunun, bu yüzyılın en önemli fırsatlarından olduğunu düşünmektedir.



Türkçe'ye çeviri:
Erdal MUTLU <erdal(at)linuxfocus.org>

İçerik:

 

Nessus : (güvenlik) duvarına konulmuş bir tuğla daha

[illustration]

Özet:

Nessus, serbest yazılım olan bir güvenlik tarayıcısıdır. Nessus'u http://www.nessus.org adresinden elde edebilirsiniz. Nessus projesi Renaud Deraison tarafından başlatıldı ve devam ettirilmektedir. Bu yazının yazımı sırasında 1.09 sürümü sağlam, 1.14 ise, deneme sürümü idi. Yazılım GPL lisansı altında dağıtılmakta ve projeye birçok kişi, özellikle eklenti (plugin) yazılımlarında katkıda bulunurken, bazıları da nessus çalışmalarından hiç söz etmeden yararlanmaktadır (bu konuya yazının sonuna doğru değineceim). Nessus birçok UNIX ortamında hem istemci hemde sunucu olarak çalışmaktadır. Win32 ortamlarında sadece istemcisi vardır. Bu müthiş araca bir göz atalım.



 

Nessus'un elde edilmesi ve yüklenmesi

http://www.nessus.org adresini ziyaret ederek, bu müthiş yazılımı elde edebilirsiniz. Nessus'un istemcisi, Win32 için var olmasına karşın, biz burada doğal olarak Posix sürümünü ele alacağız.
Nessus'u kullanabilmek için en azından nmap ve Gtk (Gimp Toolkit) ya gereksinim vardır. Bu yazılımlara olan bağlantı adreslerini, nessusun sayfasından bulabilirsiniz. Nessus'u komut satırından da kullanabileceğinize göre, Gtk'nın olması şart değildir.
Nessus'u üç farklı yoldan elde edebilirsiniz : iyi, kötü ve çirkin. İyi, standart yoldur, yani size yakın bir ftp alanından. Dört adet arşiviniz olacaktır : nessus kütüphaneleri, nasl kütüphaneleri, çekirdek nessus ve nessus eklentileri. Arşivleri açtıktan sonra, yapmanız gerek her zaman olduğu gibi sırasıyla : ./configure, make ve make install dır. Eğer, nessusun daha önceki sürümüne sahipseniz, onu sistemden silmeniz gerekecektir. Bunun için nessusun, "./configure" dan sonra kullanılmak üzere, bir kabuk programı vardır. Bu kabuk programını her arşiv için "make" ten önce çalıştırınız ve işlem tamam.
Kötü yol, nessus-installer.sh kabuk programını İnternet'ten indirdikten sonra çalıştırmaktan geçer. Bunun için "sh nessus-installer.sh" komutunu auto-install seçeneği ile çalıştırınız. Dolayısıyla dört ayrı paket yüklemenize gerek kalmayacaktır. Artık, sadece bir paket yükleniyor.
Çirkin yol ise, sisteminizde lynx yüklü ise, "lynx -source http://install.nessus.org | sh" komutunu çalıştırmanız yeterlidir. Bunun için root OLMAMANIZ gerekmektedir.
Tabii ki, önerilen yol "iyi" olanıdır... Eğer, nessusu çektiyseniz, güvenlik sizin için önemli olmalıdır! Güvenlikten sözettiğimize göre MD5 toplamlarını çekmeyi ve denetlemeyi unutmayın.
Nessus, farklı bileşenler içermektedir (nasl, betik dili, nessus-adduser, nessus-build ...). Herbir bileşenin istemci ve sunucu için kendi man sayfası vardır. Daha fazla bilgi, gelen paketlerirden (README, INSTALL ...) veya nessusun sanaldoku sayfasından elde edebilirsiniz.

 

Nessus'un yapılandırılması ve çalıştırılması

İşleri kolaylaştırmak için örnekleri, nessusun X11 sürümü, yani Gtk için olan istemci üzerinden göstereceğiz.

Nessusd sunucusu

Nessus'u çalıştırmak için, açıktır ki, nessus sunucusunu çalıştırmanız gerekecektir. Nessus sunucusu ilk defa çalıştırırken, nessus-useradd ile bir kullanıcı ve geçişsözcüğü belirtmeniz gerekecektir. Eğer, nessus kütüphaneleri, "--enable-cipher" seçeneği ile derlenmişler ise, (önerilen, mutlaka grekli demiyorum!) kişisel bir anahtar yaratılacaktır. Bu anahtar bir geçiş ifadesi ile korunabilir. Nessus sunucu programını çalıştırmak için birçok seçenek vardır. Bunların hepsini, nessusd'nin man sayfasından bulabilirsiniz.
Bundan sonra kullanıcı veritabanınızı oluşturabilir ve kuralları belirleyebilirsiniz. Yani, nessusd sunucusunu kimin çalıştırma hakkı olduğu ve neleri tarayabileceği (bilgisayar, ağ ...) gibi. Kurallar, "accept" veya "deny" sonra IP adresi ve onun ağ maskesi gelecek şekilde belirtilmektedir.
Sözgelimi : accept 192.168.1.0/24, kullanıcıya tüm 192.168.1 ağını taramasına izin vermektedir.
Sadece kullanıcı tanımlayarak, hiç kural koymayabilirsiniz. Eğer, çeşitli kullanıcıların nessusd çalıştırmasını istiyorsanız, nelere izin verdiğinizi çok dikkatli belirlemeniz gerekmektedir. Herkese, ağınız üzerinde hertürlü hakkı vermeyi düşünmüyorsunuz herhalde, yoksa düşünüyor musunuz?
Son olarak, nessusd, (genellikle) /usr/local/etc/nessus/nessusd.conf da bulunan yapılandırma dosyasına göre çalışmaktadır. Eğer, ne yaptığınız biliyorsanız, bu dosya üzerinde değişiklik yapabilirsiniz.

Nessus istemcisi

Bundan sonra, nessus sunucusuna bağlanmak için, nessus istemcisini çalıştırabilirsiniz. İstemciyi çalıştırmak için, komut satırından "nessus &" komutunu vermeniz yeterlidir. Yukarıda sözünü ettiğimiz geçiş ifadesini doğru bir şekilde yadığınızda, nessusun yapılandırma penceresi ekrana gelecektir. Bu pencerede, birden fazla pencereye ulaşmanızı sağlayan tablar vardır.
İlk pencerenin adı "hessus host" dur. Buradaki "Log in" tuşuna basarak nessusd sunucusuna bağlanabilirsiniz. Tabii ki, sunucuya bağlanma izninizin olması gerekmektedir, başka bir deyişle, kullanıcı olarak sisteme tanımlanmış olmanız gerekmektedir.

nessusd host


İkinci pencere, eklentiler hakkındadır. Burada, tarama sırasında kullanmak istediğniz ve istemediğiniz eklentileri seçebilirsiniz. Sözgelimi, tehlikeli olan eklentileri (bilgisayarınızı çökertebilecek olanları!) iptal edebilirsiniz. Pencerenin alt tarafındaki eklentinin üzerine tıklarsanız, eklenti hakkında daha ayrıntılı bilgi edinebilirsiniz.

eklentiler eklenti hakkında ayrıntılı bilgi


Üçüncü pencerede, eklentiler hakkındaki seçimlerinizi belirtebilirsiniz. Bu, ping, FTP, TCP ... gibi servisleri içermektedir. Burada hedef bilgisayarı (ları) veya ağı nasıl tarayacağınızı ayrıntılı olarak ayarlayabilirsiniz.

preferences


Dördüncü pncereden, tarama seçeneklerini ve tarayıcıyı seçme imkanınız vardır. Genellikle nmap kullanılmaktadır. Nmap hakkında daha fazla bilgi adresinden bulabilirsiniz..

scan options


Beşinci pencere, nessusa hangi hedefi taraması gerektiğini söylediğiniz yerdir. Hedef alanına, tarama yapacağınız bilgisayarın adını veya IP'sini, birden fazla ise, virgül ile ayrılmış olarak veya ağ ise, ağ adresi ile birlikte ağ maskesni (sözgelimi 192.168.1.0/24) vermeniz gerekmektedir. Ayrıca, DNS (ad veya isim) bölgesini aktarma seçeneği de vardır. Bunu işaretlerseniz, DNS (isim) sunucusuna bağlanarak, o bölgeye ait tüm bilgisayarların listesini almasını, yani alan aktarımı yapılmasını sağlayabilirsiniz.

hedef seçimi


Altıncı pencere, kullanıcı geçiş ifadesini değiştirilmesini, anahtarınızı silmenizi veya kural eklemenizi sağlamaktadır.

user


Yedinci pencere, program sürüm numarası ve yazarlar bilgisini içermektedir. Yani, nessusu başka projelerde kullanacaksanız, belirtmeniz gereken tüm bilgiler bundan ibarettir... Yani, böyle olması gereklidir!

credits


Eğer, nessusu "--enable-save-kb" seçeneği ile derlediyseniz, sekizinci pencereye de sahip olacaksiniz. Buradaki Kb (knowledge base) bilgi (veri) tabanı anlamındadır. Şu an için bu deneysel bir özelliktir ve daha önceki taramaların sonuçlarını kullanmanızı sağlamaktadır. Bu özellik, nessus 1.1.0 da benimsenmiş değer olarak yer alacaktır. Bununla ilgili daha fazla bilgi www.nessus.org/doc/kb_saving.html adresinden elde edebilirsiniz.
Tüm pencereleri ziyaret ettikten sonra, programı çalıştırabilirsiniz. Bunun için "Start the scan" (Taramayı başlat) tuşuna basmanız yeterli olacaktır. Ondan sonra ne olacak?

 

Nessus işbaşında

Taramayı başlattığınız anda, nessus tarama hakkında durum bilgileri içeren bir pencere açmaktadır. Sözgelimi, tüm 192.168.1.0/24 ağ üzerinde denetleme yaptığınızı varsayalım. Pencerede aynı anda sekiz bilgisayar görüntülenecektir. Herbiri için hangi eklenti programın kullanıldığı, ilerleme çubuğu ile birlikte yer alacaktır. İşte örnek bir görüntü :

tarama durum bilgisi


Görüldüğü üzere tüm denetlemeyi istediğniz anda durdurabilirsiniz.
Doğal olarak, tüm bir ağ üzerindeki bilgisayarları taradığınızda, süreç oldukça uzun olacaktır. Tarama süresi, bilgisayarlanızda yüklü olan isletim sistemlerine, ağ hızınıza, bilgisayarların işlevlerine (açık olan portlara), aktif olan eklentilere vs. bağlı olacaktır.
Ayrıca, taramayı iki farklı yoldan yapabilirsiniz : arka planda tarama veya fark (diferansiyel) tarama. Bunun için nessusu "--enable-save-kb" seçeneği ile derlemiş olmanız gerekmektedir. Arka planda tarama, adında da anaşılacağı üzere, tarama işlemini arka planda gerçekleştirmektedir. Fark tarama işe, iki tarama arasındaki farkları göstermektedir.
Bu özellikler ile ilgili çok daha fazla bilgi nessus documentation (www.nessus.org/doc) adresine giderek öğrenebilirsiniz.
En önemlisi, tarama sonucunda elde edeceğiniz sonuçtur. Nessus'un en önemli özelliği, size sunduğu raporlarda yatmaktadır.

rapor


Bu raporlar oldukça ayrıntılıdır ve genellikle, çözüm için öneride de bulunmaktadır. Eğer, keşfedilen güvenlik açığı gerçek değil ise, nessus bunun yanlış olumlu (false positive) olduğunu söyleyecektir. Bu özellikle, yama yaptığınız bazı sunucu programlarında gerçekleşebilir : yakında giderilen bir güvenlik açığı, potansiyel risk olarak görülebilir. Ancak, bu türden olan yanlış uyarılara yol açan nessus eklentilerine, oldukça hızlı bir şekilde yamalar oluşturulmakta ve sorun giderilmktedir.
İşletim sistemlerin sürüm numaralarını tanımlarken, nmap'in (2.53) sürümü kullanıldığında küçük hatalar oluşabilir. Bu gerçekte pek ilginç bir şey değilir. Şahsen benim için, SP6a (Servıce Pack) NotTerminated (Sonlandırılmamış veya Tamamlanmamış) 4.0 (NT 4.0) sistemi, NT 4.0 SP5 olarak tanımlanması veya Linux 2.2.19, Linux 2.2.14 olarak tanımlanması benim için hiç de önemli değildir. Hatta, AmigaOS veya BeOS gibi "ekzotik" işletim sistemlerinin, yazıcı veya router olarak tanımlanmalarını şikayet bile etmeyeceğim. Demek istediğim, nmap'in yazarı olan Fyodor'a böyle bir şeyden söz eden bir e-ileti gönderirken kendimi hayal bile edemiyorum. Bu işletim sistemlerini ağ ortamında kim kullanıyor ki? AmigaOS için dünyada 5 kişi diyebilirim :-(
Diğer bazı işletim sistemleri de tam olarak tanımlanamamakta. Nedeni, belkide, yeni olduklarından veya pek kullanılmadıklarından olabilir. Bu MacOS X veya QNX için doğrudur. Aslında, bunlar pek de önemli değildir. Belkide bu sorunlar nmap'in 2.54 beta sürümünde çözülmüştür bile (bu arada, bu yeni sürümün MacOS X sürümü de var).
Herneyse, esas nokta şudur, kendi ağınızın güvenlik açıkları düzeltmeniz için, nessus size bir ton bilgi vermektedir.
Bu raporları, metin, NSR, HTML, HTML pay grafikleri ile ... gibi farklı biçimlerde kaydedebilirsiniz. Böylece iki tarama arasındaki farkları görebilirsiniz. Bu belki de aşikar olabilir, ancak bilgisayar ağınızın belli bir andaki durumu 30 dakika sonraki durumu ile aynı olmayabilir. Neden? Bilgisayar ağınız canlı da ondan! Bir bilgisayar ağın güvenliğinin sağlanmasının zor taraflarından en önemlisi şudur : sürekli değişen bir şeyler vardır. Eğer, bunun için nessus ve nmap gibi araçlara gereksinimiz varsa, işte size cevap.
Eğer, nessusun nasıl çalıştığına kuşkulu bakıyorsanız, log dosyalarına bakınız veya snort kullanıyorsanız, onun log dosyalarına bakın. Bilgi alabileceğiniz başka bir yer de /usr/local/var/nessus dizinidir.
Bundan sonra, ağ üzerindeki bilgisayarların zayıf noktalarını güçlendirmekle uğraşacaksınız sanırım. Ne kadar sağlamlaştırırsanız, o kadar iyi. Bu çalışmada, vazgeçilmez yardımcılarınız nessus ve nmap olacaktır ve bunlarsız yaşayamaz duruma geleceksiniz.

 

Eklentiler

Eklentiler, nessusun kalbidir. Onlar güvenlik denetimleridir, yani harhangibir güvenlik açığını keşfedebilmek için yazılmış programlar. NASL (Nessus Attack Scripting Language , Nessus Saldırı Betik Dili) eklentilerin yazılımında kullanılması önerilen programlama dilidir. NASL hakkında bilgi http://www.nessus.org/doc/nasl.html adresinden bulabilirsiniz.
Ayrıca, eklenti yazarak projeye katkıda bulunabilirsiniz. Bu yazının yazımı sırasında nessusun veritabanında 756 adet eklenti vardı!
Yaklaşık olarak 20 eklenti ailesi vardır : arka kapılar, servis önleme, uzaktan root hakkı elde etme, ... Daha önce de söylenildiği gibi, her eklenti neyin yanlış olduğunu ve nasıl düzeltilebileceğini raporlamaktadır.
Eklentiler hakkında sözederken, CVE (Common Vulnerabilities and Exposures, Bilinen Güvenlik Açıkları) dan sözetmemek olmaz. Bu, http://cve.mitre.org adresinde bulabileceğiniz, çok büyük bir veritabanıdır. Burada bilinen tüm güvenlik açıkları hakkında bilgi edinebilirsiniz. Bilgi paylaşımında bulunabileceğiniz müthiş yerlerden birisidir. Bu sanaldoku yöresi, ziyaret etmeniz gereken yerlerden birisidir.
Tabii ki, nessusun eklentileri hakkında birçok şey söylenebilir, bunun için kitap bile yetmez. Nasıl çalıştıklarını ve nasıl yazıldıklarını öğrenmenin yolu /usr/local/lib/nessus/plugin dizinine gidip incelemektir. Böyle müthiş bir iş başardıkları için Renaud Deraison ve diğer katkıda bulunanlara tekrar teşekkür.

 

Ve şimdi, tamamen farklı bir şey !

Yazıyı okuyan üç veya dört kişi benim konu dışı cümlelerimi iyi bilmektedir. Bu sefer bunun için ayrı bir bölüm ayırdım. Konu dışı olup olmadığı, ayrı bir tartışma. Herneyse.
Bilgisayar güvenliği konusunda oldukça ilgili olduğum için, sık sık bu konu ile ilgili olan sanaldoku yörelerini ziyaret ediyorum. Buralardan yeni güvenlik açıkları veya güvenlik araçları hakkında bilgi edinebiliyorsunuz. Kaza eseri, sanaldoku sayfalından güvenlik tarama araçları olan bir yer buldum. Kendilerini ASP (Application Service Provider, Uygulama Servis Sağlayıcısı) olarak (en azından şimdilik) adlandırılmaktalar. Eğer, biraz ileri giderseniz veya biraz araştırma yaparsanız, arka planda kullandıkları motorun nessus olduğunu görüyorsunuz. Şimdiye kadar herşey iyi gidiyor. Ancak, açık olarak bilgi almaya çalıştığınızda, "nessus" kelimesini göremiyorsunuz. İşte burada ben alınıyorum!
Serbest yazılım için çalışan birçok insan bunu karşılıksız olarak yapmaktadır ve yaşamak için değil. Karşılığında aldıkları tek şey : referans. Nessus GPL lisansı ile üretilmektedir. Yani, herkes bu ürünü kullanabilir, değiştirebilir, uyarlayabilir... yeter ki gerçek yazarlardan söz edilsin. Tabii ki, bu lisans bundan fazlasını söylemektedir. Eğer, GPL hakkında bilginiz yoksa, bu adresten öğrenebilirsiniz.
Bana bu, hırsızlık gibi geliyor. Demek istediğim, başka bir kişinin işine referans vermek için ben şahsen lisansa gereksinim duymuyorum. Bedavaya (hemen hemen her zaman) çalışan ve serbest yazılım üretip, toplumun kullanımına sunan insanlara her zaman saygı duymuşumdur. Toplum tarafından tanınmaları, onların hakkı. Bu özellikle, birileri onların ürünlerinden para kazanmaya çalışan kişiler için doğrudur. Buna saygı duymak ve tanımak diyebilirsiniz, hiç önemli değil. Gerçek şu ki, bu kelimeler, anlamlarını yitirmeye başlamışlar. Evet, bunun sorumlusu GPL diyebiliriz. ASP için, ürün satışının var olduğunu söyleyemeyiz. Ülkeiye göre de, GPL yasal bir değer taşımayabilir.
Kullanıcıların, ASP'lere, arka planda çalışan tarama motorun ne olduğunu sormaları bir çözüm olabilir. Verilen cevap, en azından servisi sağlayanların "dürüst" olup olmadıklarını gösterecektir. Eğer, cevap vermiyorlarsa veya nessus olarak belirlediğniz tarama motoru biz "icat ettik" diyorlarsa, onu kullanmayın! Nessus'u yükleyin (gerçek olanı), bu daha güvenli olcaktır.
Fakat yine de, çok büyük ve müthiş bir iş başarmış insanlara "teşekkür ederim" demek için lisansa gereksinimiz var mıdır? Bu arada, Renaud Deraison nessus'un lisansını değiştirmeyi düşünmüyor : nessus GPL kalacak.
Özür dilerim ama, bunların da söylenmesi gerekiyordu.

 

Her şey bitti!

Son bölüme rağmen, bu yazıdan akılda kalması gereken, nessusun yüksek kalitede bir standart olmasıdır. Oldukça etkileyici bir yazılımdır. Nmap ile birlikte kullanıldığında, güvenlik konusunda endişesi olanların vazgeçilmez aracı olmalıdır. Ayrıca, hergün geliştirilen bir araçtır. Renaud ve arkadaşlarına, sürekli olarak eklentileri güncelledikleri için telekkür ederim.
Bugün, nmap ve nessus olmadan sistem yöneticileri çalışamazlar. Bu araçlar, daha önceden giderildiğini düşündüğünüz güvenlik açıklarını ortaya çıkarmaktadır. Bilgisayar ağınızda kullandığınız birçok işletim sistemi için bu doğrudur. Bazı işletim sistemlerin nessus tarafından tarandıktan sonra güvenlik açığı içermediklerini görünce, biraz rahatlayabilirsiniz.
Artı olarak, bilgisayar ağınızın veya bir bilgisayarın nasıl kırılacağını, nessus sayesinde anlayabilir veya öğrenebilirsiniz.
Verilen raporları dikkatli bir şekilde okur, ve gerekli düzeltmeleri yaparsanız, bilgisayar ağının ve bilgisayarlarınızın güvenliğini artırmış ve geliştirmiş olursunuz. Geliştirmiş diyorum, çünkü, bilgisayar ağınız, nessus çalıştırıyorsunuz diye hiçbir zaman % 100 güvenli olmayacaktır. Güvenliğe giden yol çok uzundur ve biz onun sonundan oldukça uzakta sayılırız.
Serbest yazılım topluğuna, güvenlik konusunda yaptıkları bu müthiş iş için tekrar teşekkür ederim.
Bu serbest yazılımdan para kazanmayı deneyen ince insanlara gelince, "teşekür ediyorum" demek problem değildir. Dürüst olmak, o kadar da kötü olmasa gerek, öyle değil mi? Eğer, bu şekil davranışlar yagınlaşırsa, topluluğun sonu olacak veya lisans (belkide daha fazla patent!) konusunda büyük değişiklikler olabilir. Her iki durumda da, herkes kendi başına kalacak veya işler daha da zorlaşacaktır. Ve maalesef serbest yazılım kullanamaz duruma geleceğiz. Bu, sizin kendi ürenlerinizi satabileceğiniz anlamına gelmemektedir. Tekrar düşünün!
Harika bir zamanda yaşadığımızı düşünmüyor musunuz ?  

Bu yazı için görüş bildiriminde bulunabilirsiniz

Her yazı kendi görüş bildirim sayfasına sahiptir. Bu sayfaya yorumlarınızı yazabilir ve diğer okuyucuların yorumlarına bakabilirsiniz.
 talkback page 

Görselyöre sayfalarının bakımı, LinuxFocus Editörleri tarafından yapılmaktadır
© Georges Tarbouriech, FDL
LinuxFocus.org

Burayı klikleyerek hataları rapor edebilir ya da yorumlarınızı LinuxFocus'a gönderebilirsiniz
Çeviri bilgisi:
en --> -- : Georges Tarbouriech <georges.t(at)linuxfocus.org>
en --> tr: Erdal MUTLU <erdal(at)linuxfocus.org>

2001-11-05, generated by lfparser version 2.21