Nessus Zayıflık Tarama Sistemi Fatih Özavcı Security Analyst holden@siyahsapka.com http://www.siyahsapka.com http://www.dikey8.com
Sunu İçeriği Bilgi Güvenliği Tanımı ve Kapsamı Saldırı ve Zayıflıkların Gelişimi Zayıflık Tarama Sistemi Tanımı ve Gerekliliği Nessus Zayıflık Tarama Sistemi Tanıtım Kurulum Ayarlar ve Örnek Taramalar Rapor İncelemeleri
Bilgi Güvenliği Kavramı Bilişim ürünleri/cihazları ile bu b cihazlarda işlenmekte olan verilerin n bütünlüğü ve sürekliliğini korumayı amaçlayan çalışma alanıdır.
Bilgi Güvenliğinin Amacı Veri Bütünlüğünün Korunması Erişim Denetlemesi Mahremiyet ve Gizliliğin Korunması Sistem Devamlılığının Sağlanması
Cert/CC Yıllara Göre Rapor Edilen Olay Sayısı 60000 50000 52658 40000 30000 20000 10000 0 21756 9859 6 132 252 406 773 1334 2340 2412 2573 2134 3734 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001
Dahili Risk Unsurları Risk ve Tehditler Bilgisiz ve Bilinçsiz Kullanım Kötü Niyet (Bilgi Sızdırma, İntikam İsteği) Harici Risk Unsurları Hedefe Yönelmiş Saldırılar (Hacker, Cracker) Hedef Gözetmeyen Saldırılar (Virüs, Worm)
Saldırıya Uğrayabilecek Değerler Kurum İsmi, Güvenilirliği ve Markaları Özel / Mahrem / Gizli Bilgiler İşin Devamlılığını Sağlayan Bilgi ve Süreçler Üçüncü Şahıslarca Emanet Edilen Bilgiler Kuruma Ait Adli, Ticari Teknolojik Bilgiler
Görülebilecek Zararın Boyutu Müşteri Mağduriyeti Kaynakların Tüketimi İş Yavaşlaması veya Durdurulması Kurumsal İmaj Kaybı Üçüncü Şahıslara Yapılacak Saldırı Mesuliyeti
Güvenlik İhtiyacının Sınırları Saldırıya Uğrayabilecek Değerlerin, Kurum İçin Arzettiği Önem Seviyesi Güvenlik İhtiyacının Sınırlarını Belirlemektedir.
Hareket Planı Bileşenleri Güvenlik Politikası Oluşturulması Sunulacak Hizmet Planının Oluşturulması Erişim Seviyelerinin Belirlenmesi Bilgilendirme ve Eğitim Planı Savunma Bileşenlerini Belirleme Yedekleme ve Kurtarma Stratejisi Belirleme Güvenlik Politikasının Uygulaması Kullanılacak Bileşenlerin Belirlenmesi Bileşenlerin Uygun Biçimde Yapılandırılması Bilgilendirme ve Eğitim Seminerleri Denetleme ve İzleme Ağın Politikaya Uygunluğunun Denetlenmesi Oturumların ve Hareketlerin İzlenmesi Ağa Sızma Testleri
Güvenlik Zayıflığı Kavramı Kötü Programlama veya Tasarımdan kaynaklanabilir Bir donanım, uygulama, işletim sistemi veya ağ protokolünde bulunabilir Düzenlenen erişim yetkilerinin aşılmasına, gözardı edilmesine veya kötüye kullanılabilmesine sebep olur Bulunduğu sistemin işleyiş sürecini aksatabilir
Aylık Yayınlanan Zayıflıklar Security Focus
Zayıflık Duyurularının Yıllara Dağılımı CERT/CC
İşletim Sistemi Zayıflıkları Security Focus
Zayıflık Tarama Sistemleri Yayınlanmış, bilinen uygulama ve sistem zayıflıklarını test eden araçlardır Veritabanlarında bulunan zayıflıkları hiçbir özel yöntem uygulamadan adan test etmektedirler Zaman içerisinde oluşabilecek zayıflıkları düzenli takip etmeyi sağlarlar Script dilleri sayesinde yeni zayıflıklar kolayca tanımlanabilir 3 farklı mimaride çalışabilirler : Ağ Temelli, Uygulamaya özel ve Sunucu Temelli
Ağ Temelli Zayıflık Tarama Sistemi Çalışma Yöntemi DMZ İnternet Router Diğer Ağlar Güvenlik Duvarı saldırı Saldırı başarılı, zayıflık var Saldırı başarısız, zayıflık yok tepki Yerel Ağ Zayıflık Tarama Sistemi
Nessus Zayıflık Tarama Sistemi GPL lisansı altında serbestçe dağıtılabilir/kullanılabilir İstemci/Sunucu mimarisinde ve çok kullanıcılıdır Sunucu Unix, Linux türevlerinde, İstemci ise her platformda çalışabilmektedir Zayıflık veritabanı İnternet ten kolayca güncellenebilir Zayıflık tanımlama dili NASL veya C dili sayesinde özgün zayıflıkların ve eklentilerin yazılmasıda mümkündür. Birçok sistemin zayıflığı aynı anda taranabilir http://www.nessus.org adresinden temin edilebilir
Nessus Zayıflık Tarama Sistemi Özellikleri Zayıflık veritabanı sürekli güncellenmektedir XML, HTML, NSR gibi formatlarda rapor sunmakta, raporlarda zayıflığın nasıl giderileceği ve referansları bulunmaktadır Taramalar arasında karşılaştırma yapabilmektedir NASL (Nessus Attack Scripting Language) dili ile özel saldırılar düzenlenebilmektedir İstemci Sunucu iletişimini SSL ile şifreleyebilmektedir Nmap, Queso gibi programları kullanabilmek için eklentileri mevcuttur Yeni eklenen özellikleri ile Ağ Temelli Saldırı Tespit Sistemleri ni de test edebilmektedir
Gelecekte Nessus a Eklenecek Özellikler Kümeleme teknolojisi ile daha iyi performans Eklentileri, önceden belirlenmiş profillere atama Daha iyi raporlama mekanizması Daha hızlı SMB testleri
Nessus Zayıflık Tarama Sisteminin Eksiklikleri Kritik sunuculara yüklenebilecek yardımcı ajanlar ile sunucuda yerel y zayıflık taramalarıda yapabilmek Yardımcı ajanlar ile sunucuda bulunan zayıflıkları otomatik olarak ak düzeltebilmek Yapay zekaya sahip değildir, bu sebeple sadece tanımlanmış zayıflıkları bulabilmektedir Denetimi yapılacak ağda değişiklikler gerektirmemektedir; ancak verimli kullanım için değişiklikler gerekmektedir Ağdaki paket kayıpları ve yanlış sunucu mesajları hatalı raporlar üretilmesine sebebiyet vermektedir
Nessus Zayıflık Tarama Sistemi Çalışma Yöntemi DMZ Router Nessus İstemcisi Nessus Sunucusu Güvenlik Duvarı Yerel Ağ Ağ Temelli Saldırı Tespit Sistemi
Nessus ve Diğer Zayıflık Tarama Sistemleri Karşılaştırması Network Computing
Nessus Zayıflık Tarama Sistemi Sürümler Güncel Sürümler : 1.0.10 1.1.14 İhtiyaç olan dosyalar nessus-libraries libraries-1.1. 1.1.14.tar.gz libnasl-1.1. 1.1.14.tar.gz nessus-core core-1.1. 1.1.14.tar.gz nessus-plugins plugins-1.1. 1.1.14.tar.gz
Nessus Zayıflık Tarama Sistemi Kurulum Nessus Libraries tar zvxf z nessus-libraries libraries-1.1. 1.1.14.tar.gz configure --enable enable-cipher --with with-ssl=/usr/lib/ make ; make install NASL tar zvxf z libnasl-1.1. 1.1.14.tar.gz configure ; make ; make install Nessus Core tar zxfv nessus-core core-1.1. 1.1.14.tar.gz./configure --enable enable-save-kb --enable enable-gtk --enable enable-save-sessionssessions make ; make install Nessus Plugins tar zxfv nessus-plugins plugins-1.1. 1.1.14.tar.gz configure --with with-fetchcmd=wget ; make ; make install
Nessus Zayıflık Tarama Sistemi Programlar $prefix/bin/nessus $prefix/bin/nessus-build build $prefix/bin/nessus-config $prefix/bin/nessus-mkrand $prefix/bin/nasl $prefix/bin/nasl-config $prefix/sbin/nessus-adduser $prefix/sbin/nessus-mkcert $prefix/sbin/nessus-mkcert mkcert-clientclient $prefix/sbin/nessus-nessusd nessusd $prefix/sbin/nessus-rmuser rmuser $prefix/sbin/uninstall-nessus nessus $prefix/sbin/nessus-update update-pluginsplugins Nessus istemcisini çalıştırır. C kaynak kodlarından NASL script leri oluşturur. Derleme sırasında belirlenen linkleri ve seçenekleri gösterir. Sertifika üretimi veya zayıflık denetimi sırasında kullanılabilecek rastgele byte lar üretir. NASL yorumlayıcısıdır, scriptlerinin çalıştırılmasını sağlar. Derleme sırasında belirlenen linkleri ve seçenekleri gösterir. Nessus sunucusuna kullanıcı tanımalamak için kullanılır. Nessus sunucusu için SSL sertifikası üretir. Nessus istemcisi için SSL sertifikası üretir. Nessus sunucusunu başlatmak için kullanılır. Nessus sunucusundan kullanıcı silmek için kullanılır. Nessus yazılımını kaldırmak için kullanılır. Zayıflık tanımlamalarını ve diğer eklentileri internet üzerinden güncellemek için kullanılır.
Nessus Zayıflık Tarama Sistemi Kullanıcı Ekleme #1 # nessus-adduser Using /var/tmp as a temporary file holder Please see the nessus-adduser(8) man page for the rules syntax Enter the rules for this user, and hit ctrl-d D once you are done : (the user can have an empty rules set) Add a new nessusd user Login : holden Authentication (pass/cert) [pass] : pass Login password : deneme User rules Login : holden Password : deneme DN : Rules : Is that ok? (y/n) [y] y user added. nessusd has a rules system which allows you to restrict the hosts that holden has the right to test. For instance, you may want him to be able to scan his own host only.
Nessus Zayıflık Tarama Sistemi Kullanıcı Ekleme #2 # nessus-adduser Using /var/tmp as a temporary file holder Add a new nessusd user ---------------------- Login : holden2 Authentication (pass/cert) [pass] : cert Please enter User Distinguished Name: Country: Turkey STate: Location: Istanbul Organization: Siyah Sapka Security Solutions Organizational Unit: Security Common Name: Fatih Ozavci e-mail: holden@siyahsapka.com User rules ---------- nessusd has a rules system which allows you to restrict the hosts that holden2 has the right to test. For instance, you may want him to be able to scan his own host only. Please see the nessus-adduser(8) man page for the rules syntax Enter the rules for this user, and hit ctrl-d D once you are done : (the user can have an empty rules set) Login : holden2 DN :/C=Turkey/ST=Istanbul/O=Siyah Sapka Security Solutions/ OU=Security/CN=Fatih Ozavci/ M=holden@siyahsapka.com Rules : Is that ok? (y/n) [y] y user added. /usr/local/var/nessus/users/holden2/auth/password dosyasına kullanıcı şifresini girmelisiniz
Nessus Zayıflık Tarama Sistemi Sunucu Sertifkası #1 # nessus-mkcert ------------------------------------------------------------------------------- Creation of the Nessus SSL Certificate ------------------------------------------------------------------------------- This script will now ask you the relevant information to create the SSL certificate of Nessus. Note that this information will *NOT* be sent to anybody (everything stays local), but anyone with the ability to connect to your Nessus daemon will be able to retrieve this information. CA certificate life time in days [1460]: Server certificate life time in days [365]: Your country (two letter code) [FR]: TR Your state or province name [none]: Your location (e.g. town) [Paris]: Istanbul Your organization [Nessus Users United]: Siyah Sapka Security Solutions
Nessus Zayıflık Tarama Sistemi Sunucu Sertifkası #2 Congratulations. Your server certificate was properly created. /usr/local/etc/nessus/nessusd.conf updated The following files were created :. Certification authority : Certificate = /usr/local/com/nessus/ca/cacert.pem Private key = /usr/local/var/nessus/ca/cakey.pem. Nessus Server : Certificate = /usr/local/com/nessus/ca/servercert.pem Private key = /usr/local/var/nessus/ca/serverkey.pem Press [ENTER] to exit
Nessus Zayıflık Tarama Sistemi Çeşitli Komutlar Nessus Sunucusunu Başlatmak İçin nessusd -D Sunucu ve İstemci Sertifikası Üretmek İçin nessus-mkcert nessus-mkcert mkcert-clientclient Zayıflık Veritabanı Güncellemesi İçin nessus-update update-plugins plugins -v İstemciyi çalıştırmak için nessus Sistemden Kaldırmak İçin /nessus-libraries/uninstall libraries/uninstall-nessusnessus NASL İle İlgili Dökümantasyon için cd libnasl/doc ; make
Nessus Ekran Görüntüleri İstemci Doğrulanıyor
Nessus Ekran Görüntüleri Zayıflık Tanımlamaları
Nessus Ekran Görüntüleri Eklenti Ayarları
Nessus Ekran Görüntüleri NIDS İnceleme Ayarları
Nessus Ekran Görüntüleri Hedef Özellikleri
Nessus Ekran Görüntüleri Güvenlik Denetimi
Nessus Ekran Görüntüleri Denetim Değerlendirme
Nessus Ekran Görüntüleri Html Rapor
Nessus Ekran Görüntüleri XML Rapor <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE scanreport SYSTEM "nsr.dtd"> <scanreport> <summary> <alivehosts>1</alivehosts> <securityholes>2</securityholes> <securitywarnings>4</securitywarnings> <securitynotes>12</securitynotes> </summary> <testedhostsummary> <testedhost hostname="192.168.247.2"> <result>security holes found</result> </testedhost> </testedhostsummary> <details> <host hostname="192.168.247.2"> <openports> <port service="http" protocol="tcp" portnum="80"> <info>security hole found</info> </port> <port service="epmap" protocol="tcp" portnum="135"> <info>security warning found</info> </port> <port service="netbios-ssn" protocol="tcp" portnum="139"> <info>security notes found</info> </port> <port service="https" protocol="tcp" portnum="443">
Örnek Rapor İncelemesi
Neden Nessus Tercih Edilmeli? Alternatiflerinden çok daha hızlı veritabanı güncellenir NASL dili ile özelleştirilebilir, tek alternatifi CASL dir Artımlı taramalar yaparak zaman kazandırır Ücretsiz ve açık kodludur, ücretsiz işletim sistemlerine kurulabilmektedir (Linux, FreeBSD v.s.) Sınırsız sayıda sistemi aynı anda tarayabilir XML çıktılar üreterek farklı programların raporları yorumlamasını sağlayabilir İstemci Sunucu mimarisi sebebiyle taşınabilirliği ve güvenliği öne çıkarmıştır
Özgür Güvenlik Yazılımları Neden Tercih Edilmeli? Hataları herkes tarafından kısa sürede farkedilebilir ve giderilebilir ebilir Genelde ücretsizdirler ve bütçenin kısıtlı olduğu durumlar için idealdirler Kaynak kodlarında her türlü arka kapı ve art niyetli kod kolayca farkedilebilir İstenildiği oranda özelleştirilip, ekleme ve çıkarmalar yapılabilir lir Ticari ürünler kadar başarılı örnekler vardır Dünya çapında birçok kuruluş güvenlik çözümlerini açık kodlu ücretsiz ürünlerle sağlayarak %99 güvenlik sınırını yakalamakta ve maliyetlerini minimumda tutmaktadır Kişisel veya kurumsal, araştırma, geliştirme ve deneme ortamları için idealdirler
Daha Fazla Bilgi İçin Kaynaklar Zayıflık Tarama Sistemleri ile Nessus Zayıflık Tarama Sisteminin özelliklerini, kurulumunu, yapılandırılmasını ve güvenlik denetimlerinin nasıl yapılabileceğini ayrıntılı olarak anlatan ve 35 sayfadan oluşan Türkçe bir kitapçık http://www.siyahsapka.com/pdfs/nessus.pdf adresinden temin edilebilir.
Daha Fazla Bilgi İçin Kaynaklar Nessus http://www.nessus.org Nmap http://www.insecure.org/nmap CERT http://www.cert.org SANS http://www.sans.org Security Focus http://www.securityfocus.com Siyah Şapka http://www.siyahsapka.com Dikey8 http://www.dikey8.com
DİKEY8 Hakkında Bilişim güvenliği alanında çalışan profesyonelleri ve konunun meraklılarını bir araya getirmeyi hedefleyen ve ortak üretimi destekleyecek bir sivil toplum örgütüdür. http://www.dikey8.com adresinden yayın yapan güvenlik portalı sayesinde, bilişim güvenliği ile ilgilenen profesyonellerin iletişim merkezidir. Çok sayıda üyesi ile döküman, araç ve klavuzlar hazırlamaktadır. Ayrıca Dikey8 üyeleri, toplumsal faydayı öne çıkaran organizasyonlara aktif katılımlar sağlamakta ve seminerler/eğitimler vermektedir.
Sorular?
Teşekkürler...