Linux Sistem Guvenligi

From Lapis Wiki

(Linux Sistem Güvenliği sayfasından yönlendirildi)
Jump to: navigation, search
Bu makale NASIL bölümü serisinin bir parçasıdır
MasaÜstü Donanım Dağıtımlar
Tarayıcılar Programlama Linux ve Oyunlar

Konu başlıkları

Giriş

Sistem bir amacı olan ve bir görevi sürdürmek veya tamamlamak üzere tasarlanmış olan çevresel ve içsel yardımcı ögelerden oluşan işleyen bir mekanizmadır. Bu belgenin amacı da sistem olarak Linux işletim sistemini alarak onun güvenliği hakkında bilgi vermek ve bu konuda yapılan saldırılar ve bu saldırılardan nasıl korunacağı hakkında bilgi vermektir. Belgenin hedeflediği okuyucu kitlesi orta düzey Linux kullanıcılarıdır. Burada anlatılacaklar Linux'un komut kümesi veya sistem işleyişinden ziyade; bir Linux sistem nasıl güvenli yapılır?En çok bilinen saldırılar hangileridir ve bunları gerçekleştirmek için ne gibi araçlar kullanılır?Bir sistemde bir davetsiz misafirin olduğu nasıl anlaşılır ve bundan kurtulup sistemimizi eski haline getirmek için neler yapılmalıdır? Bu belge gnu lisansı altındadır ve kopyalanması ve dağıtılması tamamen yasaldır....

Genel linux güvenliği

Bir işletimi sisteminin güvenliği ona belli başlı koruyucu programları kurup öylece bırakmak değildir. Güvenlik aslında bitmeyen bir süreçtir;bunun anlamı her gün yeni açıklar bulunup onlarla ilgili exploitler ve buna benzer programlar geliştiriliyor ve işte bizim de sistem kaynaklarımızı korumamız açısından bu süreci sürekli canlı tutma gibi bir görevimiz vardır. Genel itibariyle yeni kurulan bir Linux sistemi aslında çok da güvensiz sayılmaz bu Linux'un kendi sistem işleyişinden gelen bir özelliğidir. Fakat elimizde ne kadar güçlü bir silahımız da olsa onu kullanmayı bilmedikten sonra onun pek de büyük bir değeri kalmaz. Bu açıdan bakıldığında Linux birkaç önemli adımla ayarlandığında çok da güvenli bir hale getirilebilir. Fakat yine belirtmek gerekirse günümüzde %100 güvenli bir sistem bulunmamaktadır;bunun mümkün olması demek İnternet veya ağ bağlantısına sahip olmaması demektir. O zaman bile yine bu sistem için %100 güvenlidir diyemeyiz. İşte bu belgede genel itibariyle bu yüzdeyi yüksek tutmanın yolları üzerinde durulacaktır. Bu belgenin incelenmesi sırasında genel olarak rpm tabanlı Fedora türevi işletim sistemleri üzerinde durulmuştur.

Bir sistemin güvenlik açısından işleyişini incelemek gerekirse;aşağıdaki akış diyagramı bu konuda oldukça açıklayıcı olabilir. Aşağıdaki şekilde de görüldüğü üzere sistem güvenliğinde temiz bir tane ile başlayıp bunu bir süreç haline getirmek gerekir. Çoğu sistem yöneticisi bunun aksini iddia etmez fakat periyodik olarak uygulama kısmını çoğu kimse yapmaz. Çoğu kazaların meydana gelme nedenleri de umursamazlık ve düzenli olarak kontrollerin yapılmamasından ileri gelmektedir.

Aşağıdaki şekilde de görüldüğü üzere sistem güvenliğinde temiz bir tane ile başlayıp bunu bir süreç haline getirmek gerekir. Çoğu sistem yöneticisi bunun aksini iddia etmez fakat periyodik olarak uygulama kısmını çoğu kimse yapmaz. Çoğu kazaların meydana gelme nedenleri de umursamazlık ve düzenli olarak kontrollerin yapılmamasından ileri gelmektedir.

Güvenlik Araçları

İşletim sistemimizi kurduğumuzda güvenlikle alakalı olarak bazı yazılımlara sahiptir fakat bunlar ileri seviyede bizi bazen korumaya yetmeyebilir. Bu kısımda yeni kurulan bir Linux işletim sistemi için gerekli başlıca temel programlar ve işlevleri tanıtılacaktır. Burada açıklanan araçların çoğu açık yazılım projesi olup ücretsiz olarak sitelerinden elde edilebilirler.

  • Tripwire

Temiz bir sisteme kurulması gereken programların en başında makinemizde sonradan yapılacak değişiklikleri kontrol edecek olanlardır. Bu tip programlar Linux'umuzu daha dış dünyaya bağlanmadan onun bir resmini çeker ve veritabanına bunları ekler. Burada resimden kasıt önemli dosyaların (örnek olarak /bin/su /bin/ls çalıştırılabilir betiklerin )md5 değerlerini alır,çünkü bunlar genelde trojan tarzı programlarla enfekte edilip farklı amaçlarda kullanılanlardır. Burada sözünü ettiğimiz bu tip programların en ünlü örneği tripwiredir. Bu programı kurarken dikkat etmemiz gereken noktalar:

Sistemimizin resmini aldıktan sonra onun veritabanını ve yapılandırma dosyalarını sabit diskimizde tutmamamız son derece önemlidir.ünkü saldırıya uğramış bir sistemde alarm verdiği kısımlar kapatılabilir veya veritabanlarına zarar verilebilir,bu yüzden programın cdrom'dan çalıştırılıyor olması ve veritabanının disket veya ssh üzerinden güvenilir bir başka makinede olmasında fayda vardır.

Çalışma mekanizması


Kısa ve genel kullanımı

Sisteme ilk kurulduğunda ilk önce sistemimiz için gerekli olan anahtarları oluşturmamız gerekir. Bir tanesi yerel(local) ve diğeri de genel olan (site) güvenlik açısında oluşturulmalıdır.

Tripwire yazılımı için gerekli olan yapılandırma dosyaları /etc/tripwire/ dizini altında twcg ve twpoldur. İlk kurulum yapılıp yani tarama yapılmadan önce her ikisi de metin kipindedir ve tarama yapıldıktan sonra da ikilik düzene geçerler. twcg yapılandırma dosyasında veritabanının nerde bulunduğu,çalıştırılabilir dosyaların yerleri gibi bilgiler bulunur.

twpol altında ise dosya sistemimizdeki hangi dosyaların kontrol edileceği yer almaktadır. Buradaki dosyalarda bazıları bizim sistemimizde bulunmayabilir o yüzden onları kontrol ettirip bazılarının başına # koyarak kaldırmalıyız. Bunun nedeni tarama yaptığımız zaman tripwire bu dosyaları bulamayacaktır ve bu yüzden de bunu bir tehdit olarak bize bildirecektir.

İlk tarama yapıldıktan sonra metin kipindeki yapılandırma dosyalarının salt okunur kipte alınmaları önemlidir.

Bundan sonra yapılacaklar

-tripwire –check

komutuyla sistem taramasını gerçekleştirebiliriz. Yine burada kullanacağımız veritabanımızın önceden bir diskette olmasında güvenlik açısından önemi büyüktür çünkü,bu şekilde değiştirilemez.

Eğer herhangi bir değişikliğin bizim isteğimiz üzerine olduğunu bildiğimiz zaman da tripwire veri tabanını güncelleyip sonradan yapılan bu değişikliğin bir uyarı vermemesini sağlamalıyız:

-tripwire –update -Z

Bu komutları da cron görevlerimize ekleyerek bunu periyodik olarak gerçekleştirebiliriz. Yukarıda sözü edilen ve sabit diskimiz üzerinde bulunmaması gereken dosyalar:

  • /var/lib/tripwire/host.twd
  • /etc/tripwire/tw.pol
  • /etc/tripwire/tw.cfg
  • /etc/tripwire/twpol.txt
  • /etc/tripwire/twcfg.txt

http://sourceforge.net/projects/tripwire/

  • Bastille Projesi

Bu proje yeni kurulmuş bir Linux dağıtımını güvenli yapması açısından çok önemlidir. Genelde birçok modülden oluşur ve bunlardan bazıları çekirdek seviyesinde işlem yaparken bazıları da genel Linux güvenliği yönünde işlem yaparlar. Çok kolay ve kullanıcı dostu bir kuruluma sahip olan program adım adım bizim güvenliğimizi sağlaması açısından bize sorular sorarak bu işlemi oldukça kısa bir sürede yapar. Birçok Linux sürümü için ayrı ayrı versiyonları da bulunan program temiz bir sisteme kurulması gereken araçlardan bir tanesidir. Ayrıca yeni bir özelliği olan tarama ve raporlama sayesinde sistemimizin eksiklikleri ve güvenlik sorunları hakkında ayrıntılı bilgi alabiliyoruz.

http://www.bastille-linux.org/


  • OpenWall Projesi

Bu proje de gnu altında geliştirilip Linuxda güvenliği arttırmak için başlatılmış bir harekettir. İçerisinde birçok güvenlik aracı bulunuyor. Bunlar arasında önemli kernel yamaları,bazı bind versiyonlarının yamaları,john the ripper gibi parola güvenliğini kontrol eden araçlar ve bunların yanında owl denen sadece güvenlik için geliştirilmiş bir Linux sürümü mevcuttur. Buradaki araçlar da Linux'umuzun güvenliği açısından ziyaret edilmesi ve kullanılması gereken yerlerden birisidir.

Not:Burada yapılan kernel yamaları bazı sistemlerde beklenmedik sonuçlar doğurabilir o yüzden ne yapıldığı tam bilinmedikçe kullanılması pek tavsiye edilmez.

http://www.openwall.com/

  • Anti-Virüs Programları

Linux işletim sistemleri için virüsler şimdiye kadar çok da büyük bir tehlike teşkil etmemiştir birkaç istisna dışında(raymond gibi).Bu yüzden Linux işletim sistemlerine yönelik antivirüs programları da mevcut değildir. Bu işletim sistem altında çalışan anti-virüs programları eğer bir posta sunucumuz linux üzerinde kurulmuşsa o zaman postaları kontrol etmek için o tür bir araca ihtiyaç duyulur. Bunun yanında bir samba ağımız varsa ve birçok Windows işletim sistemi kullanan sistemlere sunuculuk yapılıyorsa o zaman bir anti virüs yazılımı gereklidir.

Linux sistemler için en popüler antivirüs sistemi clamav'dır. Sürekli güncellenen virüs veri tabanı sayesinde Linux güvenliği hakkında önemli bir yere sahiptir. Ayrıca bunların yanında ücretsiz olması da onun kullanımını artırdığı gibi diğer paralı olan sistemlerden çok da geriye kalan bir yanı olmadığını ispatlamıştır.

  • Güvenlik Duvarları

Güvenlik kısmında en önemli yere sahip olan araçlardandır ve istemediğimiz trafiği kontrol etmesi açısından bize çok büyük kolaylık sağlarlar fakat bir güvenlik duvarı çok yararlı bir araç olduğu gibi aynı zamanda ayarlarında yapılan hatalar yüzünden başımıza büyük dertler getirebilir. En çok kullanılanlar:

iptables

Konsol bazlı bir güvenlik duvarı olmasına rağmen ağın kontrolü için oldukça kullanışlıdır. Çok hızlıdır çünkü çekirdek seviyesinde çalışır ve birçok Linux sürümünde kurulu olarak karşımıza çıkar. Genelde sistemimize uygun bir güvenlik duvarını ayarlamak oldukça zor bir işlemdir. Bunu adım adım ve dışarıya mümkün olabildiğince az erişim sağlayarak gerçekleştirmek daha akıllıca olur. Bizim işimize olmazsa olmaz bir erişim olmadıkça güvenlik duvarımızda bu olaya erişim hakkı söz konusu bile olmamalıdır. Bu yüzden sistemimize bütün portları kapatarak işlemimize başlayabiliriz ve daha sonra ihtiyacını duyduğumuz portların ve servislerin erişimini sağlayabiliriz. Genelde en çok düşülen hata bunun tersi bir hareketle işe başlamaktır ki bu bizi dışarıya büyük bir ölçüde savunmasız bırakır. Yukarıda analattığımız olayı komuta dökersek;

iptables -A INPUT -j DROP

komutu ile içeriye gelen tüm trafiği engellemiş oluruz. Bundan sonra http için 80 ve ssh için 22 portlarını da açalım:

iptables -A INPUT -s 0/0 -d ip_adresimiz -p tcp –dport www -j ACCEPT
iptables -A UNPUT -s 0/0 -d ip_ adresimiz -p tcp –dport ssh -j ACCEPT

Bir de makinamızı pinglere kapatalım:

iptables -A INPUT -p icmp -j DROP

İşte bu şekilde başlayarak basamak basamak güvenlik duvarımız inşa edebilir ve güvenliğimizi tehlikeye atmış olmayız.

Diyelim ki olağanüstü bir hal gerçekleşti ve ağımıza gelen tüm trafiği kontrol altına tutmak istiyoruz veya günün belli saatlerinde bir işlemi yaptığımızdan dolayı sistemimiz cevap veremez duruma geçmek zorunda. Bu durumda uygulanacak kurallar:

iptables -A OUTPUT -j DROP
iptables -A FORWARD -j DROP

Bundan başka bazı kullanılan iptablse kuralları: iptables -L : Var olan zincir kurallarını listeler iptables -F : Var olan zincir kuralarını siler eski haline getirir iptables -D INPUT 1 : zincirdeki 1 numaralı kuralı siler

Genel olarak çalışma mekanizması:

Ayrıca iptables'ın öğrenilmesi zor ve zaman alıcı olduğundan bazı daha kolay uygulamalar da kullanılabilir. Fakat buradaki özellikler biraz daha kısıtlıdır iptables'a göre.

http://www.linuxguruz.com/iptables/

Firestarter:

Grafik arayüze sahip program iptables üzerinde çalışıyor fakat,buna rağmen çok kolay bir kullanıma sahip. Son kullanıcı için güvenlik ayarlarını düzgün ve güvenli hale getirmek çok kolay oluyor. Fakat forwarding,masquareding gibi iptables yaptığı birçok özellik eksik bu açıdan profesyonel anlamda kullanmak için çok uygun sayılmaz.

http://www.fs-security.com

Guarddog:

Yine iptables üzerinden çalışan bir arayüz güvenlik duvarı uygulamasıdır. Fakat firestarter ile karşılaştıracak olursak çok daha gelişmiş bir uygulamadır ve iptablesta olan özelliklerin çoğu burada mevcuttur. Bu uygulama oldukça kapalı bir şekilde geliyor bunun anlamı neredeyse bütün portların ve protokollerin başlangıçta engelleniyor olması demektir. Bunun için sisteme kurulduğunda bazı ayarlamaların yapılması gerekiyor. Temel olan dnsserver,http,https,ftp,ssh(eğer kullanılacaksa) aktif edilmelidir. Ayrıca eğer istenirse elle de bazı programlarımız için yeni protokoller tanımlayıp onlara izin verebiliriz. Bunun yanında iptables ile yapabildiğimiz routing veya ipmasquareding gibi özellikler de guarddogta bulunmuyor,böyle bir kullanım için farklı araçlar incelenmelidir. Ayrıca bu tip ayarları yaparken güvenlik duvarını kapatmak daha iyidir.

http://www.simonzone.com/software/guarddog/

FirewallBuilder(fwbuilder):

Bu yazılım da oldukça kullanışlı ve etkin bir çözümdür. Sadece Linux için tasarlanmamıştır ve birçok güvenlik duvarı yapılandırma dosyasını destekleme özelliğine sahiptir. Bu yazılımla güvenlik duvarımızı kendimiz oluşturuyoruz ve sürükle-bırak yöntemiyle bu oldukça kolay bir işlem haline gelmiş oluyor. Program nesne yönelimli bir mantıkta yazıldığı için oldukça esnektir ve istediğimiz değişiklikleri yapma imkanına sahip oluyoruz. Bu araçla ayrıca nat işlemlerimi ayarlayabilir ve ağımız hakkında erişimini kısıtlamak istediğimi makineleri veya aygıtları çok kolay bir şekilde gerçekleştirebiliriz.

http://www.fwbuilder.org/

  • IDS Sistemler

Bu tür programlar da dışarıdan eğer şüpheli bir durum var ise veya sistemimizde normal olmayan bir şeyler gerçekleşiyorsa türüne bağlı olarak uyarı verirler veya ayarlanmış olmalarına göre bu durum hakkında önlem alırlar. Az önce de açıklandığı gibi vazı idsler sadece alarm verir bazıları kernel seviyesinde olup doğrudan işlem yaparlar. Bu tür programların öğrenilmesi zor olmasına rağmen gerçekten sistem güvenliğimiz hakkında bize çokça bilgi verip ona göre gerekli önlemleri almamızı sağlaralar. Önemli olanları şunlardır:

snort

Snort ids sistemler arasında en çok kullanılan ve en güçlü olarak da bilinir. Son kullanıcı için oldukça zor gelecek bir programdır. Sürekli güncellenen kurallar deposu sayesinde en son uyarlanan tarama teknikleri veya ataklar eklenmiş oluyor. Normalde snort gibi bir programın loglarını takip etmek oldukça zahmetli bir iştir. Fakat bunun için geliştirilmiş base adlı yardımcı program bunu gezginimizde iç bir portu dinlemeye alarak çok kolay ve görselliği yüksek bir şekilde yapıyor. Ayrıca bunu gerçekleştirmek için adodb eklentisinin mysql’imizi dinleyip on base programına sunması gerekir. Snort kurulumu oldukça zahmetli bir istir ve BackTrack gibi Linux dağıtımlarında kurulu ve ayarlanmış olarak sunuluyor. Önce bu gibi yerlerden denenip daha sonra kuruluma geçilebilir.

snort: http://www.snort.org/ base: http://secureideas.sourceforge.net/ adodb: http://adodb.sourceforge.net/

nmap ve nessus taraması yapılmış bir sistemin base arayüzü ile gösterdiği uyarılar:(Toplam 303 tane uyarı)

Portsentry:

Bu program da bir çeşit ids sistemdir fakat onlardan farklı olarak aktif olarak görev de yapabilmektedir. Bazı iplerin blok edilmesi gibi işlemleri otomatik olarak yapabilir. /etc altındaki yapılandırma dosyasına baktığımız zaman (portsentry.conf)orada bazı seçenekleri görürüz. Örnek olarak paranoyak derecesinde bir savunma istersek .conf dosyasındaki ilgili yerlerin # kısımlarını kaldırmamız yeterlidir.

Kurulumla aktif olan seçenek normal ev kullanıcısı için oldukça yeterlidir. Ayrıca sahip olduğu diğer dosyalardan hiçbir zaman bloklanmayacakları gösterenler: portsentry.ignore Bunun yanında bloklanacak olanları da: -portsentry.blocked.atcp -portsentry.blocked.audp

Portsentry’nin bir dezavantajı eğer iyi bir şekilde ayarları yapılmazsa bazı bize gereken yerlerin bloklanıp erişiminin mümkün olmayacağıdır. Bu yüzden kullanırken örnek olarak biz sadece belirli bazı makinelere sssh izni vermek istiyoruz,böylece bu listede olanları “ignore” dosyasına ekler diğerlerini ise rahatça engelleyebiliriz.

Bir diğer uygulama da eğer birileri ssh üzerinden sürekli bir istekte bulunup yanlış parola giriyorsa o zaman da onu engelleyerek /etc/hosts.deny dosyasına ekleyebilme gibi bir özelliği vardır.

http://sourceforge.net/projects/sentrytools/

lids: Bir sistemde root bütün yetkilere sahip olandır ki bu bize bilgisayarımızın çalışması sırasında çok büyük kolaylıklar sağlar. Örnek olarak kernelimize bir modül bağlamak istiyoruz ve sistemimizi yeniden başlatmamıza bile gerek yok,ayrıca ağımızda birtakım değişiklikler yapıp ağ kartlarımızın ayarlarını değiştirip bizim istediğimiz şekilde çalışmasını sağlayabiliriz fakat olaya bir de diğer açıdan bakarsak yani sistemimize davetsiz bir misafirin girdiğini ve bunun gibi değişiklikleri sistemimize zarar vermek için yaptığını düşünürsek bu bizi oldukça çaresiz bir hale sokar. İşte lids gibi kernel seviyesinde çalışan programlar root'un bile yetkilerini kısıtlayabilen özelliklere sahiptir. Kendisi çekirdeğimizin bir yaması şeklinde geldiğinden sistem onun eklentisiyle başlatıldığı zaman sistemin önemli dosyalarına hiçbir şekilde root bile değişiklik yapamaz. Bunun yanında kernel seviyesindeki modül ekleyip çıkarma veya ağ kartımızda yapılan değişiklikler (snifferlar için)etkisiz kalacaktır ve bu işlemlerin hiçbiri gerçekleştirilmeyecektir. Eğer sistemimize daha sonra herhangi bir şekilde bir değişiklik yapmak istersek boot zamanında lidsi kaldırmamız gerekir ve değişiklikler yapıldıktan sonra tekrar aktif etmemiz gerekiyor. Bu açıdan bakıldığında lids güvenlik konusunda gerçekten de paranoyak seviyesinde olan kullanıcılar için oldukça gerekli bir programdır.

http://www.lids.org/

  • Log Programları

Log programlarının güvenlik konusunda önemleri oldukça fazladır,çünkü normalde sistem tarafından birçok log tutulur ve onları tek tek elle incelemek hem zaman kaybıdır hem de önemli kısımların gözden kaçması mümkündür. Bir Linux sistemde genelde loglar syslog tarafından kontrol edilir yapılandırma dosyası: /etc/syslog.conf dosyasıdır. Buradan bakarak hangi mesajın nereye kaydedileceğini görebiliriz. Genel itibariyle /var/log altında açılan dosyalara giderler. İşte log programlarının önemi burada ortaya çıkmaktadır,bize sadece önemli olabilecek kısımları verirler. Örneğin bir kullanıcının sisteme birden fazla kez sisteme yanlış şifre ile girişte bulunması bir log programının bize uyarı vermesine sebep verir. Aynı şekilde iptables'ın reddettiği bağlantılar bize uyarı olarak gösterilebilir. Önemli olan log tutma programları :

kwatch Bir arayüze sahip olan program bu tip kullanımlar için çok kolaydır ve birçok sistemde hazır olarak bulunur./var/log altında bulunan istediğimiz bir dosyayı izlemesi için ekleme yapıyoruz ve örneğin bu kısma firewall dosyamızı eklediysek bize bağlanmaya çalışan makineler sürekli olarak bize rapor edilir. Bu kısımda başarısız girişleri de izletmek akıllıca olabilir genelde wtmp altında bulunurlar.

http://freshmeat.net/projects/kwatch/

logsurfer

Sitesinde swatch’ın yanında ne kadar güçlü bir program olduğu ile ilgili bir tanıtımı mevcuttur. Aynı şekilde bir arayüze sahip olmasa da oldukça güçlü bir programdır ve mesajları göstermesi oldukça açıklayıcıdır ve tam olarak ne yapıldığını burada anlayabiliyoruz ve ayrıca her mesajı da göstermemesi açısından bize zaman kazandırabilecek bir araçtır. Fakat çalışmasını sağlayabilmek için ilk önce yapılandırma dosyası ile ilgili dokümanı okumamız gerekir ve ona göre bize gereken ayarlamaları yapmalıyız.

http://www.cert.dfn.de/eng/logsurf/

LogCheck

Biraz eski olsa da bu alanda swatch ile birlikte en iyi programlardan birisidir. logtail denen modülü sayesinde en son kaldığı yeri hatırlıyor ve bir daha bastan dosyaları taramasına gerek kalmıyor bu sayede. Logcheck sadece bizin belirlediğimiz kurallar hakkında bize uyarı verir,böylece sistem adminleri /var/log içindeki tonlarca bilgiyle boğuşmak zorunda kalmazlar.

Logwatch

Bu yazılım da yukarıda sıralananlar gibi bir yapılandırma dosyasından ayarlamalar yapılarak,belli mesajları alır ve bizim görmemiz için belli bir yerde depolar. Kullanımında önce .conf dosyasının ayarları öğrenilip ona göre işlemler yapılmalıdır.

http://www2.logwatch.org

SPLUNK

Ücretsiz ve paralı versiyonları bulunan program hem kullanım bakımından çok kolay hem de yaptığı iş bakımından diğer programların biraz önüne çıkıyor. Diğer tanıtılan log programlarının aksine sisteme çok kolay kuruluyor ve kontrolü gezginimizle (firefox,konquruer) sağlanıyor. Bütün loglara bakmamıza gerek kalmıyor ve çok kolay olan arama özelliği sayesinde örnek olarak “denied“ sözcüğünü arattığımız zaman sistemimize hangi bağlantıların ret edildiği veya kimlerin yanlış log olduğu rahatça farkedilebilir. Programın ayrıca grafiksel olarak sistemimizde gerçeklesen şüpheli durumları bildirme gibi özelliği mevcut.

http://www.splunk.com/

xlogmaster

Yeni bir proje olmasına rağmen bize anında /var/log altında gerçekleşen olayların bir gtk arayüzü yardımıyla takip etmemizi sağlıyor. Örnek olarak eğer sistemimizde bir portsentry çalışıyorsa anlık olarak kendisinin gerçekleştirdiği fonksiyonlara ve verdiği kararlara bakabiliriz. Ayrıca sistemde şu an kimlerin bağlı olduğunu ve servis ağacı gibi sistemin anlık görüntüsünü bize vererek sistem üzerinde daha etkili kararlar vermemizi sağlar. Çünkü tek tek var/log altında bulunan dosyalara bir editörle takip etmek oldukça güç ve yorucu bir iştir ayrıca hata payı da fazladır. İndirmek için:

http://ftp.gnu.org/pub/gnu/xlogmaster/

  • Analiz Programları

Bu tür araçlar sistemimize saldırı yapıldıktan sonra bazı bilinen saldırı izlerine bakarak bazı rootkitlerin sistemimizde olup olmadıklarını kontrol ederler. Bunlardan en önemlileri rkhunter ve chrootkit yazılımlarıdır. Bu iki aracın son sürümlerini her zaman için sistemimizde bulundurup sistemimizi periyodik olarak rootkitlere karşı taramalıyız. Böylece beklenmedik bir durumla karşılaştığımızda işe hazırlıklı başlamış oluruz.

rkhunter: http://www.rootkit.nl/ chrootkit: http://www.chkrootkit.org/

  • Sudo Çözümü

Root bir sistemde en büyük yetkilere sahip olduğundan sisteme saldıran biri için bu her zaman ulaşmaya çalışacağı mevki olacaktır yüzden rootun yetkilerini kısıtlamak bazen çok büyük kazalardan ve tehlikelerden korunmamızı sağlayabilir. Bir diğer örnek de bazı normal kullanıcıların yetkilerini kısıtlayarak bu şekilde sisteme giriş yapacak birinin yetkilerini de sınırlayabiliriz. Örnek olarak bir kullanıcının wget gibi bir programı kullanamaması veya bazı ağ kaynaklarına ulaşamaması,aynı şekilde program derleme gibi yetkilerin elden alınması da sisteme sokulabilecek yerel exploitlerin devreye girmesini de engelleyecektir. İşte sudo gibi yazılımlar bunu çok kolay yapabilecek güçte ve özelliktedirler. Bunda başka diğer kullanımları da:

Bir kişiye root yetkisi verildiğinde bunu süre ile kısıtlamak örnek olarak 5 dk. Bu sayede root şeklinde kullanılan hesapların unutulması ve sonradan kötü amaçlarda kullanılmamaları da engellenmiş olacaktır.

/etc/sudoers yapılandırma dosyası sayesinde kullanımını genelleştirmek ve birçok kullanıcıyı birden kontrol edebilmek de mümkün oluyor. Bu sayede tek tek elle yapılacak uzun ve yorucu işlemler de geçilmiş olacaktır.

Ayrıca sudo ile bazı yetkileri kullanan kullanıcıların bastıkları her komut da bir rapor olarak syslog tarafından tutularak kimin ne zaman ne yaptığını görmek mümkün olabilir.

Yukarıda özelliklere bakılarak sudo yerel bir güvenlik ortamının sağlanması açısından oldukça yararlı bir çözüm olabilir. Fakat her türlü yükü onun üzerine atmak da iyi bir seçenek değildir;bu çözüm sadece güvenlikle alakalı yolda atılan küçük bir adımdır. Sudo yazılımı genel olarak çoğu güncek sürümlerde dahil edilse de kullanımı hakkında bilgi edinebilmek için:

http://www.courtesan.com/sudo/sudo.html

  • Anonim Gezinti

İnternette sörf yaparken girdiğimiz birçok siteye gerektiğinden fazla bilgi bırakırız. Bu da bundan faydalanmak isteyen insanlar için oldukça iyi bir fırsattır. Bunlardan en önemlileri:

  1. işletim sistemimiz
  2. İnternet sağlayıcımız
  3. İnternet gezginimizin hangisi olduğu ve daha da önemlisi versiyonu
  4. Gezginimizde hangi programcıkların yüklü olduğu
  5. X ayarlarımız hakkında bilgi çözünürlük monitör tipi vs.

Bu gibi ayarlar hakkında bilgi sahibi olmuş bir kişi sistemimiz hakkında genel bir bilgiye sahip olmuş olur ve saldırı kısmının ilk adımı olan analizi çok kolay bir şekilde geçmiş olur.

Fazla olan bilgilerin dışarıya olan akışını engellemek için Linux altında birtakım açık yazılımlar bulunmakta; bunlarda en önemlileri privoxy ve tor dur. İkisinin birbiriyle olan iletişimi sağlandıktan sonra İnternette daha güvenli bir şekilde sörf yapılabilir.

Privoxy Bu araç bir web proxy görevini üstlenip gelişmiş filtreleme özellikleri sayesinde dışarıya fazladan bilgi vermemizi engelliyor,çerezlerimizi yönetiyor,bazı erişimleri engelleyerek sayfaların hızlı açılmasını sağlıyor,ad,popup,banner gibi sinir bozucu özellikleri ortadan kaldırıyor. Privoxy ayrıca tek kullanıcılar için uygun olurken yine sorumlu olduğumuz birçok makineyi de aynı anda onunla yönetebiliriz.

http://www.privoxy.org/

Tor

Aynı şekilde tor yazılımı da İnternette anonim olma veya trafiğimizin dinlenmesi veya bizim nerelere girdiğimizi kaydeden sitelere karşı korunmamız için iyi bir seçimdir. Tor yukarıda anlatılan privoxy yazılımıyla birlikte kurulursa çalışması daha da etkili olacaktır. Genel olarak çalışma mantığı bizim sistemimizi başlangıç noktası kabul edip bağlanmaya çalıştığımız yer de bitiş noktası oluyor ve bundan sonra arada birçok gönüllünün oluşturduğu tor ağından rastgele bir şekilde hedefe ulaştırışıyoruz. Bu da güvenlik açısından iyi bir korunma yoludur. Ayrıca tor’un kurulumunda torbutton denen kolay kurulumdan da yararlanmak oldukça iyidir. Bu tor yazılımının kullanılması bize gizlilik sağlasa da İnternet hızımızda gözle görülür bir düşüş gözlenecektir bu da güvenliğimizin bedeli olacaktır!

http://tor.eff.org/

Bunun yanında İnternette anonim olma ile ilgili özel olarak tasarlanmış dağıtımlar mevcut,bunun en bilinen örneği anonim.os'dur. Bu işletim sistemi openbsd tabanlıdır ve tor ve privoxy gibi yazılımları kullanarak bir ağda veya nette en az bilgi verecek şekilde tasarlanmıştır.

Sisteminiz hakkında ne tür bilgiler bıraktığınızı görmek için:

http://www.irongeek.com/browserinfo.php

Temiz bir sistem için güvenlik adımları

Temiz bir sistem güvenilir bir kaynaktan çekirdek ve paket kurulumu yapılmış ve daha dış dünya ile bağlantı kurmamış sistem anlamındadır. Bundan sonra dış dünyaya açılmak için öncelikle sistemimizin olabildiğince az izin ve bağlantı vererek bunu gerçekleştirmesi gerekir. Bu bölümde bir yeni kurulmuş sistemin güvenlik adımları sıralanmış ve genel anlamda bunun nasıl sağlanacağı belirtilmiştir. Burada tavsiye edilen araçların yukarıdaki bölümde açıklamaları bulunmaktadır. Yapılması Gerekenler:

  • Lilo veya grub hangi önyükleme yöneticisini kullanıyorsak ona parola

koymak ve tek kullanıcı moduna geçilirken parola sorulmasını şart koşmak da güvenlik açısından ilk adımlar olabilir. Bunu yapmak için örnek olarak: /etc/lilo.conf içine

password=parolamiz

yaparak onu bir şekilde koruma altına alabiliriz ve daha sonra ondan okuma iznini de almamız gerekiyor

chmod a -r /etc/lilo.conf

  • İlk önce dikkat etmemiz gereken kısım iyi bir parolaya sahip

olmamızdır. Bunu yaparken kısa olmamasına dikkat etmeli ve alfanumerik karakterleri de birlikte içermesine dikkat etmeliyiz.(John the ripper kısmında biraz açıklama yapılmıştı).

/etc/securetty yapılandırma dosyasını açarak orada fazla olan terminalleri kapatabiliriz. Çünkü bunlar potansiyel tehlikedir (root girişi sağlanabilir)ve kullanılmıyorlarsa boşuna sistem kaynaklarını harcarlar.

  • Sistemimize giriş yapacak olan saldırgan genelde elinde bulundurduğu

exploitleri derlemek isteyecek ve o şekilde root olmaya çalışacak veya başka faaliyetleri gerçekleştirmeye çalışacaktır. Bu yüzden eğer çokça derleme işlemleri yapmıyorsak bu görevi sadece root kullanıcısına devredebiliriz. Bunun için:

chmod 0700 /usr/bin/gcc 

veya /bin/gcc nerede bulunuyorsa...

chmod 0700 /usr/bin/g++
chmod 0700 /usr/bin/cc
chmod 0700 /usr/bin/colorgcc 

bunun daha örnekleri çoğaltılabilir. Ayrıca bunun yanında bazı ağ işlemlerimizi yapmaya yarayan komutlara da sınırlama getirebiliriz.

chmod 0700 /bin/ping
chmod 0700 /usr/bin/ssh (if you have ssh installed)
chmod 0700 /usr/sbin/traceroute ...

  • Sistemimize bastille projesinin sunduğu güvenlik programını kurmak oldukça iyi

bir fikir olacaktır. Bu temel seviyedeki güvenlik için oldukça gereklidir.

  • Daha sonra ileri seviyedeki bir güvenlik peşindeysek openwall projesinin sunduğu

araçlardan bazılarını sistemimize kurabiliriz.

  • Uygulama alanımıza göre tripwire programı ile sistemin bir resmini çekip

veritabanını ve ayar dosyalarını tekrar yazılabilir bir ortama aktarmamız gerekir. Bir de bu programın görevini crona yöneticisine bırakarak bunu periyodik bir hale getirmeliyiz.

  • Tripwire yerine ihtiyacımıza göre aide veya lids gibi bir uygulamayı da tercih

edebiliriz. Lidsin kullanılması bir sistemde rootun yetkisin azaltarak önemli sistem dosyalarının değişmesini önlemektedir.

  • Linux kurulumu sırasında güvenlik duvarı aktif edilmiş olarak karşımıza

çıkıyor. Fakat biraz genel bir halde bırakılmıştır. Bu yüzden ihtiyaçlarımız doğrultusunda bazı ayarlar yapmamız gerekir. Yine kolaylık sağlaması açısından kullanıcı dostu firestarter,guarddog,fwbuilder gibi araçlar da kullanılabilir.

!!!Güvenlik duvarı ayarında genelde uyulması gereken kural ilk önce bütün trafiği kapatıp daha sonra ihtiyacımız olunca olanları açmak şeklinde olmalıdır.

  • Eğer bir posta sunucumuz varsa veya bir Windows ağını idare eden bir

sunucumuz bulunuyorsa bir antivirüs programına ihtiyacımız olacaktır. Bu konuda clamav veya avir kullanılabilir ve güncellenmesini ve taramasını de cron ile periyodik bir çizelgeye dönüştürmek gerekir.

  • Portsentry gibi bir programı kurarak bazı girişleri otomatik olarak /etc/hosts.deny

dosyasına ekleyebiliriz. Fakat bu konuda dikkatli olmak gerekir çünkü bazı önemli yerleri istemeyerek de olsa blok etmiş oluruz. Buraya eklenecek olan protokol veya ip'lerin ssh olması iyi bir seçim olabilir.

  • Aynı veya farklı bir makinede (performans ve imkan) bir ids sistemin kurulu

olması güvenli açısından önemlidir. Burada tercih edilen snorttur ve raporlarının okunabilmesi açısından base adındaki arayüzünün de kurulmasında büyük kolaylık ve fayda vardır.

/etc/hosts.deny veya /etc/hosts.allow dosyalarından dışarıdan herhangi birilerine sistemimize girmeleri için izin vermek istiyorsak bunu güvenlik duvarı uygulamasında da olduğu gibi ilk önce herkesi engelleyerek ve daha sonra istediklerimize izin vermekle gerçekleştirebiliriz.

  • Sistemin kurulumuyla gelen fazla ve işimize yaramayan servisleri “setup”

programını veya “chkconfig” ile devre dışı bırakabiliriz.

  • Eğer bir ev kullanıcısıysanız ve profesyonel anlamda bir şirketi

korumayacaksanız o zaman privoxy ve tor yazılımlarını kullanarak İnternette biraz da olsa daha anonim olmayı başarabilirsiniz.

  • Bir diğer önemli konu da daha sonra doğabilecek kazalar için loglarımızı izleyip

bize okunaklı bir şekilde sunabilecek bir program kurmaktır. Bu konuda birçok yazılım bulunmaktadır. Bunlardan:swatch,logchek,logsurfer ve tavsiye edilen iyi de bir arayüze sahip olan splunk'tir. Eğer ayrıca bir web sunucumuz da varsa awstats da bu kategoriye eklenebilir.

  • Xinetd gibi programların ağımızda olan bazı servisleri kontrol etme gibi bir görev

verilmiştir ve sadece istek geldiğinde bu işlemleri gerçekleştiriler. Bu yüzden /etc/xinetd.d dosyası altında bulunan bazı servisleri disable=on şeklinde yapmamız gerekiyor. Bunlara örnek echo,rlogin,rsh olabilir.

  • nmap,ethereal,etherape gibi bir programları sistemimizde bulundurmak da kendi

makinemizde olup bitenleri inceleyebilmemiz açısından önemlidir.

  • Bize kolay kullanımı sağlayacak olan yedek alma yazılımını belirlemek ve crona

eklediğimiz periyotlarda bu işlemi gerçekleştirmemiz gerekir. Çünkü sistem girişi sonrasında bu kısma çokça ihtiyacımız olacaktır.

  • Bu adımları gerçekleştirdikten sonra yazılımlarımızın hep güncel olduğundan emin

olmamız gerekir ve başta da söylediğimiz gibi güvenliğin ilk,temel ve değişmez ilkesi kimseye emin olmadan güvenmememizdir.

Fazla ve gereksiz servislerin kapatılması

Hem sistem performansımızı düşürmesi açısından hem de güvenlik sorunu oluşturması açısından bazı servis veya deamonları kapatmamız gerekir. Bunun nedeni bu servislerin çoğunun hazır olarak açık bir şekilde sistem kurulumu ile birlikte gelmeleridir. Belli bir servisin çalışmasını durdurmak için: ya setup programından ya da

/etc/rc.d/init.d/servis_adı stop 

komutu ile

Bir servisi başlatmak için:

/etc/rc.d/init.d/servis_adı start

Bir servisin başlangıçta açılmasını etkinleştirmek veya engellemek için:

chkconfig servis_adi on 

veya off kullanılabilir.

Bunlardan Bazıları:

kudzu

Servisin amacı bir donanım değişikliğinde sistemin bunu fark etmesini sağlamak ve ona göre gerekli düzenlemelerin yapılamsıdır. Bu servisi sadece yeni donanım ekleyeceğimiz zaman aktif etmek gerekir diğer durumlarda çalışmasında bir neden yoktur. Durdurmak için:

/etc/rc.d/init.d/kudzu stop

Başlangıçta açılmasını engellemek için ise:

chkconfig kudzu off

portmap

Bu servis genelde rpc kullanımına yönelik işlemleri destekler. Sisteminizde eğer nis/nfs gibi protokolleri destekleyen işlemler yapmıyorsanız kapatmanızda fayda vardır. Çünkü bunlardan çoğu güvensizdir.

nfslock

Aynı şekilde dosya paylaşımları (nfs)ile ile alakalı bir servistir,bu yüzden de eğer sistemimizde nfs kullanımı yoksa kapatmak gerekir. Çünkü bu tür servislerin de güvenlik açısından pek de parlak bir geçmişleri yoktur.

apmd

Bu servis de güç kontrolü ile alakalı işlemlerde görev alır,genelde dizüstü sistemlerde ihtiyaç duyulur bu sayede eğer bir masa üstü bilgisayarımız varsa kapatmamız performans açısından uygundur.

netfs

Bu betik de network ağ sistemlerinde bağlama (mount) gibi işlemleri gerçekleştirmektedir.(samba,nfs,novell)Bu yüzden eğer bir ağımız yoksa onun kapatılmasında sakınca yoktur.

atd

Eski bir servis olmasına rağmen bazı sistemlerde hala aktif olarak gelmekte ve cronun yaptığı görevleri yerine getiriyor. Ayrıca güvenlik açısından da iyi bir geçmişi bulunmuyor,bu yüzden kapatılması güvenlik açısından iyidir.

pcmcia

Bu servis genelde dizüstü bilgisayarlarda bulunan pcmcia kartlarını okumak için gereklidir ve bir sunucu veya bir masaüstü bilgisayar için pek de bir önemi bulunmamaktadır,bu yüzden kapatılabilir.

lpd

Genelde yazıcı işlemlerini ve fonksiyonlarını gerçekleştiren bir daemondur. Eğer kullandığımız maikne bir yazıcı desteği vermeyecekse bu servisin devre dışı bırakılması iyi bir fikirdir;sistem performansı açısından.

Sendmail

Bir daemon olup adından anlaşıldığının tersi üzerine sistemde olmazsa olmaz bir işlevi yoktur. Çünkü mail göndermemiz için bize o kadar da gerekli değildir,çünkü mail gönderen programların kendi içinde sendmail fonksiyonu yapan servisleri vardır ve ayrıca da sendmail şimdiye kadar birçok güvenlik açığına maruz kalmıştır. Kapalı olması da mail almamızı engellemez,bu yüzden devre dışı bırakmak birşey kaybettirmez. (Sormak gerekir.)

httpd

Bu servis eğer sistemimizde bir web sunucu bulundurup kullanacaksak bize gerekli olabilecek bir servistir,diğer durumlarda hem performans kaybı hem de güvenlik riski oluşturmaktadır. Eğer bir web sunucu olmayacaksak kapatmak gerekir.

Test Araçları

Kötü niyetli kişilerin kullandığı birçok araç vardır bu bölümde bunlardan bazıları incelenecektir. Bu araçların bilinmesi güvenlikle uğraşanlar için çok önemlidir. Çünkü bunların hepsi açık yazılım altındadır ve kendi makinemizde deneyebiliriz böylece sistemimizin güvenliğini de test etmiş oluruz. En iyi güvenlik kendi makinemizi dışarıdan biriymiş gibi test etmekle olur. Ayrıca bazen sistemimizin kontrolünü ele geçirmiş kişiler işletim sistemimizin içinden yaptığımız kontrolleri etkisiz hale getirecek yöntemleri vardır. Örnek verecek olursak bazı açık portları gösteren “netstat” gibi programların davranışlarını değiştirerek bunları saklamaları sağlanır. Bu yüzden de sistemimizi dışarıdan tararsak içeriden öremediğimiz bazı şüpheli durumları kontrol edebilriz. Ayrıca bu tip araçlar saldırı yapmak için kullanılıyorsa bunları bizim saldırganlardan önce kullanmamız da oldukça akıllıca bir davranış olacaktır.

Burada sıralanacak olan araçların çoğu İnternette bulunabilir. Fakat bu tip amaçlar için geliştirilmiş live(çalışan) cd versiyonları bu tür araçlarla kurulu olarak karşımıza gelerek çok büyük kolaylık sağlamış oluyorlar. Burada kullanılan dağıtımlar BackTrack,phlak,Operator 3.3'tür.

http://www.remote-exploit.org/index.php/BackTrack http://www.phlak.org http://www.ussysadmin.com/operator/

Ping Araçları

Fping

Bir çeşit ping aracıdır fakat ondan farklı bir makine listesi verebileceğimiz gerçeğidir. Ayrıca bu liste bir dosyada da bulunabilir ve bu şekilde topluca pingler atarak bir betikten de yararlanabiliriz.

Örnek:

fping -a <makine_listesi>

http://www.fping.com/download/

Açık tarama araçları

Bu tür araçlar veritabanlarında bulundurdukları saldırı teknikleri ile bir sistemin o açıktan etkilenip etkilenmediğini kontrol ederler. O açıdan sistem güvenliği bakımından önemli bir yere sahiptirler.

Nessus

Bu bir açık tarama aracıdır ve kategorisinde belki de 1 numarayı alır. Aslında tararken o sisteme bir atak gerçekleştirir ama onu sonuçlandırmaz sadece o açığın bulunup bulunmadığı aşamasına kadar gider ve orada bırakır.

Çalışma mantığı:

Sunucu- client mantığına göre çalışır ve bir arayüze sahip olması açısından kullanımını kolaylaştırır. Ayrıca bir ağımız varsa ve onun güvenliğinden sorumluysak aynı anda birden çok makineyi tarama özelliği ile bunu çok kolay bir şekilde gerçekleştirebiliriz. Sitesinden son tarama kuralları indirildiği zaman hem sistem güvenliğini göstermesi açısından,hem ids'mizin bütün yapılan saldırıları geri çevirip çevirmeyeceği konusunda oldukça başarılı bir araçtır.

http://www.nessus.org

Sara

Bu tip açık tarama araçlarının öncüsü olarak kabul edilir. İlk ortaya çıktığında bu projenin adı satandı ve başında oldukça büyük etki yapmıştı. Buradaki mantık sistemimizi güvenli yapmanın yolu onu kendimiz kırarak bu şekilde hataları gidererek sağlamlaştırmaktır. Bu proje 2 ayda bir güncellense de(nessus kadar olmasa da) sistemimizi denemek açısından yararlı olabilir. Program gezginde çalışacak şekilde tasarlanmıştır ve raporlama kısmı da oldukça açıklayıcıdır.

http://www-arc.com/sara/sara8.html

Nikto

Bu yazılımın amacı da bir sistemde olabilecek açık ve hataları tespit etmek ve ona göre bir önlem almamızı sağlamaktır..Fakat tarama yaptığı sistemler genel itibariyle web sunucu görevi üstlenirler. Ayrıca sonuçları göstermesi bakımından bir html raporlama tekniği ile alınması gereken önlemleri gösterir. Genel olarak taradığı açıklar cgi açıkları,dosya izinleri,ids sistemimizin uygun bir şekilde ayarlanıp ayarlanmadığı ve daha birçok açığı tarayarak önlem almamızı sağlar. Ayrıca sonradan eklenmiş ids sistem testi de bu tip sistemimizi izleyen yazılımların da görevlerini gerçekten yapıp yapmadıklarını bu şekilde görebiliriz.

http://www.cirt.net/code/nikto.shtml

Trojan Atları

Genelde Windows işletim sistemleri için kullanılıyor olsalar da Linux altında da kullanımları mevcuttur. Genelde iyi niyetli bir program gibi çalıştırılıyorlar fakat yaptıkları görev hiç de bu yönde hizmet vermiyor. Linux altında kullanımlarından kurtulabilmek için bilmediğimiz yerlerden ikilik dosyaları çalıştırmamalıyız. Yine aynı şekilde dağıtımlarımız için indirdiğimiz dosyaları md5 hashlerini ve pgp imzalarını test etmeliyiz.

Şifre Kırıcılar

Bu tip programlar sisteme bir kez giriş sağlandıktan sonra orada bulunan kullanıcı parolalarını almak için kullanılır. Ayrıca bu tip araçları da kendi sistemlerimizde çalıştırarak parolalarımızın ne kadar sağlam olduğunu kontrol edebiliriz.

John The ripper

Bu programı bu araçlar arasında en ünlü olanıdır ve değişik parola deneme yöntemleri ile sistemde oldukça etkili sonuçla elde edilebiliyor..Ayrıca sitesinde çok sayıda sözlük (wordlist)de bulunmaktadır ve buna ilave olarak kendimiz de sözlük oluşturabiliriz. Programı kullanmak için:

Kendi dizininde bulunan run klasörüne girdikten sonra ilk önce gölgelenmiş(shadow) parolaları eski haline getirmemiz gerekiyor bunun için

./unshadow /etc/passwd /etc/shadow > mypasswd

şimdi parolaların hashlenmniş biçimleri mypasswd dosyasında mevcut bundan sonra yapılacaklar

./john mypasswd

olarak bu sadece genel olarak kırma işlemini dener ama yine de oldukça etkilidir. Eğer daha iyi sonuçlar almak istersek :

./john modismi

gibi bir komutu kullanabiliriz,daha fazla bilgi sitesinde mevcuttur.

Sistemde kullanılan asdf veya 123456 gibi parolaların kırılması oldukça hızlı bir şekilde oluyor,bu yüzden parola koyarken dikkatli davranmak gerekir. Arada sırada kontrol edilmesi gereken komutlar:

İyi bir parola

Doğum tarihi,isim soy isminiz,İngilizce sözcükler,başka dilde sözcükler,yakınlarınızın isimleri,

Kötü parolalara örnek:123456,maka123,456like olarak gösterilebilir.

Farklı kullanıcılar için farklı parolalar kullanmalıyız çünkü bir sistemin ele geçirilmesi hepsinin geçirilmesine neden olur.

/etc/passwd yerine /etc/shadow kullanılmalı (bütün güncel sistemlerde bu artık böyle).

Bir parola oluştururken içinde hem harf hem sayı hem de alfanümerik olmayan işaretlerin bulunmasına dikkat etmeliyiz.

Parolalarımız oluştururken: passwd+,Npasswd,Anlpaswd gibi programlarda yararlanarak oluşturduğumuz parolaların uygun olup olmadığını kontrol ettirebiliriz. Ama yine en iyi yolu kıran programları deneyerek ne kadar sürede sonuca ulaştıklarını gözlemektir.

http://www.openwall.com/john/

Rainbow Cracker

Bu araç aslında birçok brute force araçtan çok daha hızlıdır. Mantığına gelince olabilecek tüm parolaların md5 hashleri bir tabloya konur. Bunun hesaplanma işi oldukça uzundur ve çokça da yer alır. Fakat bir kez bu işlem tamamlandıktan sonra geriye parola ararken sadece karşılaştırma işlemi yapılarak çok uzun parolalar bile çok kısa bir sürede kırılabiliyor. Elinde büyük bir hard diske sahip birisi bu tip atakları çok rahat bir şekilde gerçekleştirebilir.

http://www.antsight.com/zsl/rainbowcrack/

Snifferlar

Bu tip programlar koklama denilen işlemi yaparak bir ağdan geçen veya belli bir ağ aygıtına gelen paketleri yakalarlar. Genelde kullanılan şekli:bazı makinelerin arp tablolarını bozup bütün trafiğin saldırganın üzerinden geçmesini sağlamakla olur. İşte bu anda snifferlar devreye girerek bu trafiği alırlar ve içinde metin olarak gönderilen birçok bilgiyi çözerek kötü niyetli kişiye gerçekten de önemli bilgiler sağlamış olurlar. Çok kullanılanlar:

dsniff

Bu kategorideki en ünlü araçlardan bir tanesidir,günümüzde kullanılan ağ protokollerinin ve İnternetsin aslında ne kadar güvensiz bir yer olduğunu göstermek için geliştirildi. Aslında tek bir snifferdan oluşmayan proje;filesnarf,mailsnarf,msgsnarf,urlsnarf ve webspy bir ağdaki ilginç paketleri(parola,mail,dosyalar vb.) pasif bir şekilde toplarlar. Bunların yanında arpspoof,dnsspoof gibi araçlar da koklamayı zorlaştıran switch yapılarının da dinlenmesini sağlayan araçlardır.

Eskiden kullanılan telnet ve r'li uzaktan girişi ve kontrolü sağlayan protokollerle sniffing işlemi oldukça kolaydı ve ağlar oldukça güvensizdi. Fakat ssh ve ssl gibi teknolojilerin geliştirilmesiyle “koklamanın” artık mümkün olmayacağı düşünülüyordu. Çünkü oluşturulan kriptlenmiş tünelle bu çok zordu. Fakat dsniff ile bunu aşan araçlar da bulunmaktadır. Bunlardan webmitm ve sshmitm'dir. Bu 2 araç da “man in the middle” tekniğini kullanırlar.

webmitm

Bu aracın aktif olabilmesi için ağ trafiğinin saldırganın bilgisayarının üzerinden geçmesi gerekiyor ,bunun için hedef makinenin arp tablosunda değişiklik yapılarak onun gateway mac adresi ile atak yapan kişinin mac adresi aynı yapılıyor. Böylece trafik gatewayden geçmek yerine kötü niyetli kişinin bilgisayarı üzerinden geçer ve webmitm programı çalıştırılarak ağda bir web server görevi üstlenir ve ssl için gerekli olan anahtar ve sertifikaları üretir fakat gerçeklerinden biraz farklı. Böylece hedef makine belli bir sayfaya bağlanmaya çalıştığı zaman saldırganın sertifikalarını ve anahtarlarını kullanır,bağlantı yine kriptlenmiştir ve internete giden kişinin bundan şüphelenmesi için pek fazla seçeneği yoktur.

Korunma:

Bu tip ataklardan korunmanın yolu bize sertifika sunan sayfaların gerçekte o sertifikaların onlara ait olup olmadığını kontrol etmekle olur. Birçok kişi İnternet bağlandığında yeni sertifika sayfasını gördüğünde hiç düşünmeden bunu kabul ediyor,bu da eğer varsa “man in the middle atağına” maruz kalmasını engelleyemiyor.

Sshmitm

Burada uygulanan teknik yukarıdakine benzerdir,yine kötü niyetli kişinin makinesi her iki taraf için de anahtarları üretiyor böylece kriptlenmiş bilgiler aynı makine tarafından okunabiliyor. Ortadaki şahıs bağlantı isteği geldiği zaman sunucu kısmına “Ben istemciyim” mesajını verip istemci kısmına bunun tersini söyleyerek aradaki bağlantıyı kurar ve yazılan bütün komutlar ve yapılan bütün işlemleri görme şansı yakalar.

Korunma: Yine aynı şekilde bağlantı zamanı bize uygulanacak ve çıkacak uyarılara göz yummamamız gerekir çünkü bunlar “man in the middle atağının” habercisi olabilir ve eğer sunucuya ilk defa bağlanmıyorsak ve bu sizin ilk bağlantınız gibi bir uyarı alırsak bunu da dikkate almamız gerekir.

http://www.monkey.org/~dugsong/dsniff/

ethereal

Diğer araçlardan farklı olarak genelde atak amaçlı kullanılmaz veya kullanılsa bile sadece sistemimizin sahip olduğu aygıtları dinleyip bize yarayabilecek olan bilgileri filtreleme gibi bir özelliği vardır. Bir arayüze sahip olması kategorisindeki araçlardan daha kolay bir kullanıma sahip olmasını sağlıyor. Genelde birçok dağıtım ile birlikte ücretsiz olarak gelen bir yazılımdır.

http://www.ethereal.com/

Bu kategoriye giren diğer araçlardan birisi de tcpdumptır sistemimize gelen trafiği alarak daha sonra incelemede bulunmamız açısından iyi bir araçtır. Fakat ethereal gibi kolay kullanımı ve görselliği gelişmiş araçlar olunca kullanmak kolaylık açısından pek iyi bir fikir değildir.

Etherape

Gtk tabanlı bir network monitörüdür,ağımızdaki ipleri bağlandığımız sayfaları veya sunucularımızı, gateway makinelerimizi görsel bir şekilde sunan bir yazılımdır. Network ağımız hakkında genel bir bilgiye sahip olmamız açısından oldukça yararlı bir araçtır. O anda kimlerin bize bağlanmış olduğu veya bağlanmaya çalıştığı gibi birçok bilgiyi anında ve görsel bir şekilde sunan bir yazılımdır ve kullanımı da olukça kolaydır. Ağımızda ele geçirilmiş bir sistemimiz varsa etherape ile bakarak nereye bağlanmaya çalıştığını ve ne gibi olayları gerçekleştirmeye çalıştığını görebilir ve ona göre önlem alabiliriz. Ayrıca birkaç filtreleme özelliği de bulunmaktadır:

  • mac adreslerine göre listeleme
  • iplere göre listeleme
  • sadece tcp bağlantılarına göre

Sistem ve Port Tarayıcıları

Bu tip yazılımlar bazen bir sistemin güvenliği için çok önemli yere sahip olurlar. Çünkü eğer sistemimizin ele geçirildiğini düşünürsek ve bu yüzden sistemimiz tam çalışmıyor ve bize yanlış bilgi gönderiyorsa onu dışarıdan izlemek oldukça mantıklıdır. Böylece neyin yanlış gittiğini görmüş oluruz.

nmap

Güvenlik tarayıcılarından en ünlüsü ve en etkili olanıdır. Biri güvenlik uzmanı olan Fyodor tarafından yazılmıştır ve tarama tekniği olarak birçok özelliğe sahiptir. Port tarama,işletim sistemi tespiti,aktif olan rpc servislerinin belirlenmesi gibi bir makine hakkında birçok bilgi elde edilebilir bu sayede saldırgan için ilk adım olan sistemi tanıma kısmı tamamlanmış olur. Ayrıca bu programın gtk ile tasarlanmış nmapfe eklentisi onun görsel bir arayüze sahip omasını sağlamış ve kullanımını büyük ölçüde kolaylaştırmıştır.

http://www.insecure.org/nmap/

Cheops

Ağımızda olup bitenleri bir dosya yöneticisi gibi kolay bir şekilde görmemizi ve yönetmemizi sağlayan bir araçtır. Ağın topolojisini çıkartarak hangi makinenin kimlere bağlı olduğunu çok rahat bir şekilde görebiliyoruz. Genel tanı için oldukça yararlı bir araçtır ağ yönetimiyle uğraşanlar için çok büyük kolaylıklar sağlayacaktır.

http://www.marko.net/cheops/

Bu araçların yanında sistem ve port taraması yapan birçok araç bulunur ve bunları bir sistemin taranması sırasında diğerlerinin eksik kaldıkları yerde devreye sokabiliriz. Bunlar unicorscan,xprobe2,amap gibi tarama yazılımlarıdır.

metasploit

Her gün yeni çıkan exploitleri bir programda toplama ve modüler bir yapıya sokma fikrinden yola çıkarak güvenliği daha da arttırmak ve bu konuda daha çok araştırma yapabilmek amacıyla geliştirilmiş bir yazılımdır. Her yazılımın yeni çıkan exploitler hakkında çaresiz kaldığı ve nasıl bir sonuç ve tepki vereceği pek belli değildir. Bu yüzden bu bilinmeyenleri deneyip neler olacağını görmek en mantıklıdır. Ruby diliyle yazılmış olan Metasploit birkaç araçtan oluşur:

  • msfconsole:exploit ve payloadların olduğu kabuk
  • msfupdate:bu araçla son olan exploitleri elde etme şansımız bulunuyor.
  • msfweb:bu araçla metasploit programını gezginimizde çalıştırarak

atakları görsel bir ortamda çok kolay otomatik bir şekilde deneme şansımız bulunuyor.

İlk önce nessus veya nmap ile taranmış olan sistem de nelerin eksik olduğu görüldükten sonra veritabanında bulunan exploitler kullanılarak sistemde deneme yapılabilir.

http://metasploit.com/

Keyloggers

Klavyede basılan her tuşu yakalayıp belli yerlere gönderme fikrinden yola çıkarak oluşturulan bu araçlar gerçekten sistem güvenliği bakımından çok tehlikelidir. Linux'ta Windows işletim sistemine benzer bir keyloger tehlikesi olmasa da buna benzer küçük programlar vardır. Örnek olarak xscan ve xkey bu tip programlara örnektir ve ağdaki bilgisayarları X sunucularında bir açık olup olmadığı konusunda tararlar ve eğer buna benzer bir şey bulunursa ekran görüntüsü almaya başlarlar.

Önlem

6000 den 6063’e kadar olan portların dışarıdan girişini iptables veya sistemimizde mevcut olan başka bir firewalla engellemektir.

Örnek:

iptables -A INPUT -p tcp -s 0.0.0.0/0 -d 0.0.0.0/.0 6000:6063 -j DROP

Linux ve virüsler

Linux diğer işletim sistemleri gibi (Windows 9x mac vs )virüslere o kadar korumasız değildir. Bunun nedeni bir virüs bulaşsa bile sadece o anda sistemde olan ve kendisine efekte edilmiş kullanıcıya ve onun dosyalarına zarar verebileceğidir. Windows işletim sistemlerinde olduğu gibi bütün sistemin enfekte olması hatta boot sektörünün bile zara görmesi çok zordur. Bu yüzden virüs gelişimi Linuxda daha zordur ve pek popüler örnekleri bulunmamaktadır. Ramen solucanı şimdiye kadar görülmüş en tehlikeli örneğidir,fakat zarar verme gibi bir amacı olmamıştır sadece güvenlik açıklarını bildirmiştir.

Sistem Testi

Sistemimizi kurduktan sonra acaba bizim bilgisayarımız dışarıdan nasıl görünüyor diye bunun testlerini yapmamız gerekir. Çünkü ancak bu şekilde bir terslik var mı yok mu anlayabiliriz. Saldırgan kişilerin neler yapabileceğini ve yapıp yapamayacaklarını anlamanın yolu da bunu onlardan önce ve onların aletleri ile gerçekleştirmektir. Bu yüzden test araçlarını burada hangi sırayla kullanacağımız genel hatlarıyla açıklanacaktır. Burada kullanılan araçların bazılarının yukarıdaki kısımda açıklamaları yapılmıştır.

'Uzaktan

Bu testlerin gerçekleştirilmesi için ayrı bir sisteme ihtiyacımız vardır. Burada anlatılan araçların hepsi bu amaç için geliştirilmiş livecd lerde mevcut olduklarından onları kullanmak daha kolay ve hızlıdır. Kullanılan livecd ler: BackTrack,phlak,Operator 3.3.

  • Port ve İşletim sistemi Tarama

Burada kullanılan araçların en başında nmap gelir. Bu testin amacı bir betikle hareket eden bir saldırganın bilgi toplamaya çalışırken elde ettiği sonuçlara bakarak bunları azaltmaktır ve eğer sistemimizde çalışan gizli veya şüpheli bir olay varsa bunu fark etmektir. Burada sıralanacak araçların da kullanılması iyi olacaktır nmap bu konuda en iyi olsa da farklı yöntemleri kullanan araçlar da bize bir katkı sağlayacaktır. Sıra ile kullanılacak tarayıcılar: -nmap -nmapfe(gtk) -amap(ileri teknolojileri kullanan bir port tarayıcısı) -unicornscan:port tarama -xprobe2(os tespiti) -cheops(gtk) -fping -scanssh(ssh versiyonunu belirleme)

  • Açık tarama

Burada yapılan sistemimize birtakım bilinen atakları yaparak makinemizi test etmektir. Fakat ataklar bu işlemlerde genelde sonlandırılmaz sadece sistem o yönde zayıf mı değil mi kontrol edilir. Araçlar:

-nessus:(güncelleme yapılmalı taramadan önce) -sara:aynı şekilde son sürüm olmalıdır. -raccess:yeni bir araç aynı şekilde bilinen saldırıları gerçekleştirir.

  • Güvenlik duvarı ve ids testi

Bu testin amacı bunun gibi güvenliğimizi arttıran araçların iyi bir şekilde ayarlanıp ayarlanmadıklarını öğrenmektir. Örnek olarak ids testinde yanlış alarm veriyor mu diye anlamsız paketler gönderilir. Bu açıdan bu testler de sistem güvenliğimiz açısından oldukça önemlidir. Araçlar:

-idswakeup:Birçok atak yaparak ve anlamsız paketler göndererek idsimizin verdiği tepkileri ölçer.

-framework:metasploit projesinin bir ürünü olup bazı exploitlerle atak yaparak sistemimizin vereceği yanıtlara bakabiliriz.

-ftest:İki tane betikten oluşan proje biri sniffer diğeri tester olarak geliyor ve başka makineden tester tarafından gönderilen paketler sniffer tarafından tutularak sonra bunlar fcomp ile karşılaştırılır. Böylece kaç tanesinin geçtiğini anlayabiliriz.

-fragrouter(local):yanlış alarmlar yaratan bir araçtır ve o da bu kategoride bulunur. ids testinde önemli rol almaktadır.

  • Protokolde parola testi

Burada yapılanlar ssh gibi servislerdeki parolalarımızın güçlü olup olmadıklarıdır. Araçlar: -hydra -xhydra(gtk versiyonu)

  • Yerel Testler

Buradaki araçlar parolalarımızın ne kadar güçlü olduğunu test edecek türdedirler ve bu sayede biz de bunun hakkında bir bilgi sahibi olmuş olacağız. Araçlar: -John the ripper -autoscan(dosya sistemi hataları) -rainbow cracker

Burada açıklanan araçlar sadece kendi sistemlerimiz üzerinde denenmelidir,aksi taktirde kanuni açıdan pek uygun sayılmazlar. Buradan fark ettiğimiz bir yanlışlığı yine güvenliği sağlama kısmına giderek ve buradan da sorunun tam olarak nereden kaynaklandığını bilerek hareket etme imkanımız doğmuş oluyor.

Kullanılan saldırılar ve korunma yöntemleri

Social Engineering (Toplum Mühendisliği)

Kötü niyetli kişilerin bir sisteme girmek için kullandıkları en tehlikeli saldırı türüdür. Bir sisteme girmek için saatlerce parola kırmaya çalışarak veya o sistemin açığını tarayarak geçirmek yerine burada kullanılan silah insanların zayıflıklarıdır. Çünkü insanların yaptıkları hatalar bir bilgisayar sisteminde bulunan açıklardan daha tehlikelidir. Bunlardan en önemlileri basit şifrelerin kullanılması,bazı iplere gerektiğinden fazla izinlerin verilmiş olması,sistemde gerekmeyen ve açığı bulunan servislerin çalıştırılması gibi. İşte sisteme girmeye çalışanlar insanların bu zayıflıklarından yararlanarak sistemlere girmeyi birçok kez başlamışlardır ve bunu yapmaya da devam ediyorlar. Social engineeringe örnek olarak başka birinin kimliğini kullanarak şirketin sistem yöneticisinden bazı izinler isteme Örneğin : Bir güvenlik firmasından geliyormuşsunuz gibi gösterme. Yine buna bir başka örnek orada çalışan birinin arkadaşıymış gibi kendini gösterme,bunu elde etmek için ilk önce o kişinin mailleri okunur ve nasıl bir ifade ve yazı tipi kullanıldığına bakılarak bunlar taklit edilir. Yine karşıdakini övme de çok kullanılan bir taktiktir,çünkü insanlar bunu çok sever ve bu sayede size geliştirdiği bir yazılımının bir kopyasını bile verebilir. Firmada çalışan bir üst düzey yöneticisiymiş gibi kendini gösterme,ve bazı şifrelerin adminden istenmesi yine kullanılanlar arasındadır. Social engineeringte en iyi bilinen isim Kevin Mitnick'dir bu sayede birçok sisteme girmiş ve uzun sure kendini saklamayı başarmıştır.

Korunma

Bu tip saldırı yöntemlerinden korunmanın yolu başta kimseye güvenmemektir. Eğer birileri sisteme giriş için bizden herhangi bir giriş istiyorsa onun gerçekten o şahıs olduğundan emin olmalı ve o zaman gerekli izinleri vermeliyiz. Örnek olarak güvenlik firmasından geldiğini söyleyen birini hemen o şirketi arayarak onun kimliğini doğrulamalarını istemeli ve ona göre işlemlerimizi ilerletmeli veya durdurmalıyız.

Exploit Kullanımı

Bu tür saldırılarda genelde çoğu sistem etkisiz ve zayıf kalır. Bunun nedeni işletim sisteminde mevcut olan bir hatanın birileri tarafından keşfedilmesi ve sistemin yönetimini bu sayede ele geçirilmesinden ibarettir. Bu saldırının adımları sistemi ilk önce bir port tarayıcısıyla tarayıp tanımak ve daha sonra açık tarama araçlarını kullanarak o sistemde mevcut olan hataları tespit etmektir. Çok iyi bir güvenlik duvarına sahip olduğumuzu bile düşünürsek yine o yazılımda da da programcı hataları olabilir ve buffer veya stack taşması gibi saldırılara maruz kalabiliriz. Bunun gibi yazılım hataları bir sistemin kötü amaçlarda kullanılmasında her zaman için büyük bir tehlike teşkil edeceklerdir.

Korunma

Öncelikle yapabileceğimiz ilk şey sistemimize kullandığımız yazılımların son versiyonlarının kurulu olduğundan emin olmamız gerekir. Çünkü açık yazılım dünyasında bir sistem veya programın açığı bulunduğunda saatler içinde yaması genelde mevcut olur ve bundan yaralanmamız gerekir. Bir diğer korunma yöntemi de sistemimizi belli saldırı ve değişikliklere karşı kitlemektir bunun yolu da lids gibi yazılımları kullanmaktan geçer. Yine bunun yanında openwall projesinini sunduğu bazı araçları kullanmak da bir korunma yöntemi olabilir ve son olarak www.securityfocus.com veya www.milw0rm.com gibi sitelerde son çıkan exploitleri takip ederek ona göre önlem almamızdır.

Rootkitler

Bu tip araçlar aslında bir araya gelmiş olan birkaç yazılımdan oluşarak bazı çalışan süreçleri,sonradan oluşturulmuş dosyaları saklama,gibi işlemleri gerçekleştirerek bir saldırganın izlerini saklı tutmak için kullanılırlar. Bir çok işletim sistemi için versiyonları vardır ve Linux sistemlerde de popülerdirler. Aslında kendilerini çekirdek seviyesinde bile yükleyerek tespitlerini neredeyse imkansız bir hale getrime gibi yetenekleri de vardır. Genel olarak nasıl çalıştıklarını ve neler yapabildiklerine bakarsak:

  • Linux sistemlerde genelde loglar syslog tarafında tutulur ve mesajlar bunlara göre

düzenlenerek sistemde neler olup bittiğini anlayabiliriz. Bir saldırganın da en büyük derdi loglarda izlerinin bulunmamasıdır. Biraz acemi olan saldırganlar doğrudan logları silerek sisteme giriş yaptıklarını doğrudan bildirmiş olurlar. Fakat tecrübeli bir kişi sistem araçlarının nasıl çalıştığını bilir ve yazdığı kodlarla loglarda tespitini zorlaştırabilir. Örnek olarak eğer kod içinde belli bir ip veya id kullanıcısına ait mesajları “kaydetme “gibi bir ifade koyarsak hiç kimse bu sisteme giriş yapıldığını anlayamaz. İşte bu gerçekten de önüne geçilmesi zor olan bir durumdur.

  • Aynı şekilde bazı süreçlerin çalıştığını saklamak da bir diğer çok

başvurulan bir tekniktir. Yine ps,lsof veya top gibi bize sistemde mevcut olan çalışan prosesleri gösteren programlar gerçekleri ile değiştirilerek istenilen servisler saklanabilir. Bunu yine yapabilecek olan rootkitlerdir.

  • Yine çok değiştirilen programların arasında da ls,find dir. Bunların

gerçekleri ile değiştirilmesinin nedeni de giriş yapmış bir kişinin kendi oluşturduğu dosyaları saklamak istemesidir. Bu sayede programlar sadece bazı dosyaları gösterecektir.

  • Pam kütüphanelerinin bazı kuralları veya kodundaki bazı değişiklikler

de daha sonrası için sisteme giren biri için oldukça büyük kolaylıklar sağlayabilir. Örnek olarak /bin/login pam kütüphanelerini kullanıyor,eğer kütüphanedeki belirli bir kullanıcı için parola “sorma” veya parola ne olursa olsun /etc/shadow veya /etc/passwd dosyalarını kontrol etmeyip direk girişe “izin ver” gibi değişiklikler normal kullanıcı için fark edilmeyecek türdedir.

  • Kernel Seviyesinde değişiklik:

Bir kez root kullanıcısına erişmiş olan bir kişi sistemde kernel seviyesine kadar bile inerek istediği değişiklikleri yapabilir ve bunu durdurmak da oldukça güçtür. Çekirdekte normalde bir değişiklik yapıldığında bunu harekete geçirmek oldukça zordur çünkü tamamını tekrar derleyip bilgisayarı yeniden başlatmak gerekir ki bu sisteme giren birisi için imkansız bir olaydır. Fakat modüler bir yapıda olması bunu mümkün kılıyor. Yani bu sayede bir modülü kernelin çalışması sırasında bağlayabilir veya gereksinimlerimize göre çıkartabiliriz. Bu seviyede yapılan değişiklikler bütünlük programlarını bile şaşırtıp onların etkisiz hale gelmelerine neden olabilir. İnsmod komutu kendi derleyip hazırladığımız bir modülü sisteme bağlar,kernelin bazı kısımları bizim söylediğimiz veya değiştirdiğimiz şekilde çalışmaya başlar. İşte bazı rootkitler bu şekilde modüller ekleyerek yukarıda anlatılan işlemleri gerçekleştirebilirler.

Korunma Bu tip saldırılardan korunmanın yolu aslında kerneli rootun bile değiştiremeyeceği bir şekilde tutmaktır ki bunu yolu lids gibi ids programlarıdır(örnek lids).Ya da bu şekilde kernelimizin düzgün bir şekilde çalışmadığını fark ettiğimiz bir anda sistemi temiz bir kernel (cdrom veya floppy)ile başlatıp tripwire gibi bir programla bütünlük testi uygulamalıyız.

Aslında yukarıda söz edilen teknikler hazır olan araçlarla işleme sokulup çok hızlı bir şekilde sonuçlara ulaşılması hedefleniyor. Çünkü sisteme giren birinin ayrı ayrı kodlara bakıp değişiklikler yapacak zamanı genelde olmaz. Bu tip paketler genelde make dosyaları ile beraber gelip hızlı bir kuruluma sahiptirler ve logları temizleyip bazı önemli programların gerçeklerini değiştirip bu işlemi oldukça başarılı ve hızlı bir şekilde yaparlar. Bu paketlerden en ünlüsü LRK (Linux Rootkit)dır ve son versiyonu http://packetstorm.security.com adresinde bulunabilir.

Bu tip araçlardan kurtulmanın yolu chrootkit ve khunter gibi programlar ile onları bulup silmektir. Fakat onların da eksiği sadece var olan rootkitlere karşı tarama yaparlar. Yani daha tecrübeli bir şahıs bazı değişiklikler yaparak bu tip programları atlatmayı başarabilir ayrıca bundan başka bütünlük programları ile tarama yapılarak bu tür olayların sistemde varlıkları tespit edilebilir.

Arka Kapılar

Bir saldırgan bir sisteme giriş gerçekleştirip onu ele geçirdiği zaman onu kaybetmek istemez. Bunun nedeni o sistemin işlemcisini veya ağ kaynaklarını dos ataklar yapmak kullanmak istemesi veya o sistemde kendisine lazım olan bilgileri daha sonra alma isteğidir. Bunu gerçekleştirmek için de birtakım yöntemler uygulanır bunlardan bazıları:

  • En kolay ve genelde pek de profesyonel olmayanların yaptığı bir

taktik olan /etc/hosts.allow veya /etc/hosts.deny dosyalarına kendi iplerini ekleyerek bu yönde bir değişiklik yapmalarıdır.

Korunma Bu tip bir arka kapılardan korunmanın yolu: tripwire gibi bütünlüğü kontrol eden programları cron ile otomatik olarak periyodik çalışma çizelgesine eklemiş olmak. Bir başka korunma yolu da o dosyaları chattr +i ile değiştirilemez yapmaktır ki bu da sadece saldırganı yavaşlatacak türde bir yöntemdir.

  • Çokça kullanılan yöntemlerden bir tanesi de /etc/passwd dosyalarına

yeni kullanıcı eklemektir. Fakat sistemde yeni bir kullanıcının olması oldukça göze batan bir değişikliktir. Bunu aşmanın yolu da kullanılmayan hesaplara bazı yetkiler vermekle gerçekleştirilebilir. Örnek olarak mail kullanıcısına root yetkileri vermek belki sistem yöneticisinin çok da fazla ilgisini çekmeyecektir.

Korunma Aynı şekilde bütünlük programlarını kullanmak(tripwire) ve yeni olan kullanıcılara dikkat etmektir.

  • Set user id türündeki programlar root tarafından çalıştırılmasalar bile

çalıştıran kişiye bu yetkiyi verebilecek tarzdadırlar. İşte arka kapı yöntemlerinde de bundan yararlanılır,bazı programlara s biti eklenerek daha sonraki sistem girişlerinde root yetkisine sahip olunmasa da bu programlarla bir şekilde buna ulaşmaktır.

  • r türü(rlogin,rsh) uzaktan erişimi sağlayan eski programları aktif hale

getirerek de kullanılan bir arka kapı yöntemidir. Bundan sonra yapılanlar saldırganın kendi ip numarasını .rhosts dosyasına ekleyerek sonraki durumlar için erişimini kolaylaştıracak arka kapı açmaktır.

  • Ssh gibi protokolleri kendi amaçlarına kullanmak da sonradan sisteme

ulaşmak için iyi bir yol olabilir. Bu yöntem ise şöyle: ssh için bir özel (private) bir de genel(public) anahtar olmak üzere iki tane anahtar bulunmaktadır.(ssh- keygen ile oluşturulur.)Eğer bir makinenin ppublic anahtarı bağlanacağı sunucunun .ssh/authorized_keys dosyasına eklenirse bu sayede bir daha bağlandığında o sistem için parola sorulmaz. İşte sisteme girmiş olan birinin de yaptığı aynen bu şekilde kendi makinesindeki .identity.pub anahtarını sunucu olan makinenin aauthorized_keys dosyasına ekleyerek sonraki girişler için kendine arka kapı açmaktır.

  • Arka kapı bırakmak için bir başka yöntem ise netcat gibi bir programı

kullanmaktır. Bu yöntemle yönetimi ele geçirilmiş sistemin yüksek numaralı portlarından bir tanesi dışarıdaki bağlantıları dinlemesi için açık bırakılır böylece daha sonra isteyen kişi tekrar bağlanabilir. Ayrıca bu yöntem bir betikle birleştirilip sistem her açıldığında kendini çalıştırabilir bir duruma getirilebilirse bu arka kapı fak edilene kadar orada kalacaktır. Bir örnek verecek olursak:

nc -vv -l -p 4444 -e /bin/bash -i

komutu ile 4444 numaralı port açılarak bağlantı geldiğinde geriye bir shell döndürerek(interaktif mmodta),işlemlerimiz yapmak için beklemektedir. Aynı zamanda diğer taraftan bağlanmak istersek eğer:

nc -vv kırılmış_makina 4444

komutu ile 4444 numaralı porta bağlantımız kurulmuş oluyor.

  • Çok uygulanan bir kandırma tekniği de iptablestaki kuralları kendi

çıkarlarına göre düzenlemek veya daha açık olmak gerekirse bazı portlara dışarıdan giriş için belirli izinler vermektir. Bunun yaparken de bu kuralların sistem yöneticisi tarafından görülmesi de ayrıca engellenmiş oluyor.

xinetd ve TCP sarıçları sorunları

Xinetd uygulamalarına veya tcp sarıçlarına dışarıdan bir isteğin gelebilmesi için oraya kadar gelen bağlantı güvenlik duvarını geçmiş anlamı taşımaktadır. Bunun daha iyi anlaşılabilmesi için bu durumda aşağıdaki şekil yardımcı olacaktır.

Xinetd ve inetd bağlantı kontrolleri yapan ve servisleri çalıştıran rogramlardır.programlardır. Örnek vermek gerekirse bir kullanıcı bir ftp isteğinde bulunduğu zaman makinemizin belli portuna istekte bulunur ve xinetd (eskiden inetd) isteği alarak eğer uygunsa o kullanıcı için bir ftpd lifi yani servisi oluşturur. Bu programların önemi bir servisin sürekli çalışmasından ziyade sadece istekte bulunulduğu zaman oluşturulması ve işlem bittiğinde o sürecin veya servisin sonlandırılmasıdır. Böylece sistem kaynakları azami fayda sağlayacak şekilde kullanılmış olur. Xinetd inetdin geliştirilmiş versiyonudur;gelişmesi özellikle güvenlik alanında olmuştur. Ayrıca dos ataklarına karşı bazı önlemleri ile birlikte yapılandırma dosyasında da daha geniş bir syntaxa sahip olmuştur ve son sürüm Linux versiyonlarında genelde gelen xinetdtir.xinetd inetd’in yerini aldıktan sonra da tcp sarıçlaryla (tcp wrappers)da iç içe çalışır duruma getirildi. Bunun anlamı xinetde gelen istek ilk önce tcp wrappersdan geçerek yani /etc/host.deny ve allow dosyalarındaki testleri geçerek bundan sonra xinetd programına istekte bulunabilir. /etc/hosts.allow ve deny ayarları:

Bu iki dosya sayesinde porta kadar gelmiş ve istekte bulunmuş olan bağlantının kabulünü veya reddini belirleyen dosyalardır. Bu yüzden ayarlarındaki eksiklikler veya hatalar sistemin ele geçirilmesine neden olabilir. Sistemimize bağlantı geldiğinde ilk taranan dosya allow dosyasıdır ve eğer bu ip orada yer alıyorsa işlem bitirilip girişine izin veriliyor. Eğer allow dosyasında eşleşme yoksa bundan sonra deny dosyasında bu ip ile ilgili bir eşleşme bulunursa o zaman bağlantı reddediliyor. İki dosyada da eşleşme yoksa o zaman da o zaman yine girişe izin verilecektir.

Yine bu dosyalarda bir ayar yaparken de aynen güvenlik duvarı uygulamasında olduğu gibi ilk önce deny dosyasına ALL: ALL ifadesini ekleyerek yani bütün girişleri engelleyerek işleme başlamamız gerekir. Bundan sonra da girişine izin vererek istediğimiz ip ve domain isimlerini de allow dosyasına ekleriz. Daha değişik senaryolar için /etc/hosts.alow ve /etc/hosts.deny dosyaları ile ilgili man sayfaları okunmalıdır.

Ayrıca bu dosyaların da dışında xinetd.conf dosyasında bazı ayarlar yaparak dışarıdan olan isteklerin bazılarını engelleyebiliriz. Örnek olarak no_access=0.0.0.0 gibi bir ifade xinetd programını çağıran hiçbir ifadeye cevap vermeyeceği gibi only_from=127.0.0.1 de yazılan ip ye erişim için izin verir. Bazen kullanılan bir ifade de belli bir servisin sadece bazı saatler arasında kullanımına izin verilmesidir. Bu da:access_times:12:00-14:00 gibidir.

Bu programlarla nasıl saldırı yapılır?

Örnek olarak saldırı yapacak bir kişi ipsini girmek istediği sistemin /etc/hosts.allow dosyasındaki herhangi bir izin verilmiş ip gibi göstermek isteyebilir. Şöyle gösterirsek:

[root@localhost ~]#host kotu_makina.com

kotu_makina.com has adress 192.168.51.130 burada gösterilen 192.168.51.30 ip allow dosyasında yer aldığı için kötü niyetli kişinin işine yarayabilir. Fakat bunu tersi olan işlemi yaparsak yani;

[root@localhost ~]#host 192.168.51.130

Farklı bir sonuç elde etmiş oluruz. Bu yüzden bu kontrolü yapan bir program bu tip bir kandırmayanın kurbanı da olmayacaktır. Bunun aksi de atağın gerçekleşeceği anlamına gelir. Tcp wrappers bu kontrolleri (reverse dns)yapar fakat -DPARANOID parametresi ile derlenmişse aksi halde sonuç hiç de iyi olmayabilir.

Tcp wrappers modüllerini kontrol eden programcıklar vardır. Bunlar genelde allow ve deny dosyalarının düzgün yapılandırılıp yapılandırılmadıklarını kontrol ederler. Örnek olarak:tcpdchk ve tcpdmatch

Servis kaynaklarını bitirme

Ayrıca bir başka kullanılan teknik de aynı ip den birden fazla bağlantı yaparak belli bir servisin başlatılmasını istemektir. Böylece sistemin işlemcisi fazla yüklenir ve sistem performansı düşmüş olur. Örnek verecek olursak birçok ftp isteğinde bulunup birçok ftpd nesnesinin oluşturulmasıdır. Bu yüzden xinetd.conf dosyasında yer alan instance=25 per_source=5 gibi değerleri küçültüp bu tür saldırılara karşı koyabiliriz.

Fakat her zaman için xinetd ayarlarını veya allow ve deny dosyalarını temel bir koruma olarak kullanmak iyi bir fikir değildir. Çünkü o bağlantı kabul edilmese bile yine sistemimize bir istek gelecektir ve buna cevap verilmesi de sistem kaynaklarını zorlayacaktır. Bu yüzden bu tip korumaları daha güvenlik duvarımızda engellemek güvenlik açısından çok daha iyi bir seçenektir.

Dos Ataklar

Bu tip ataklar makinemize alabileceğinden veya cevap verebileceğinden fazla istekte bulunulması veya paket gönderilmesidir. Eski dos atakların çoğu artık kernel seviyesinde engellendiklerinden pek bir tehlikeleri kalmamıştır. Fakat son zamanlarda olan ddos,drdos gibi ataklar hala etkinliğini korumaktadır. Eski ataklardan :icmp flooding,udp flooding, syn flooding,ping of death,teardrop gibi ataklar eğer makinemiz veya kernelimiz eski ise /proc dizini altında bulunan belli paketlere cevap verme değerleri değiştirilmelidir.

Smurf ataklar

Bu tarz ataklar atak yapan kişi kendi makinesinden broadcast olarak icmp echo mesajı gönderir,fakat bunu yaparken kaynağı atak yapmak istediği sistemin ip adresi olarak gösterir. Ve ağdaki tüm makineler cevap olarak kaynak makineye bu isteği geri döndürürler,bu istek uzun bir süre tekrarlanırsa atak yapılan makine cevap veremez duruma gelir. Bu tip ataklar için kullanılan program genelde nemesisdir. Bu tip programlarla istediğimiz tipte paket oluşturabilir ve istediğimiz porta veya servise gönderebiliriz.

Genel olarak smurf ataklar:

Korunma

Bu tip saldırılardan korunmak için icmp paketlerini iptables ile engelleyebiliriz,bu çok da iyi bir yöntem değildir çünkü bize erişmesi gereken bazı sistemler engellenmiş olabilir bu şekilde.

Ddos ataklar

Bir zombi ağına sahip olan kötü niyetli kisi,kendi ağındaki makinelerde belli atakları uygulayabilecek ajan programları ile onları enfekte etmiştir ve yeterli sayıdaki sisteme sahip olduğunda uzaktan erişimle belli komutları uygulayarak hedefine koyduğu sistemi servis dışı bırakabilir. Ddos ataklar genelde irc sohbet odalarından kontrol edilirler bu yüzden de o tür programları kullanırken çok dikkatli olmamız gerekir. Bu tip ataklardan korunmak için pek fazla seçenek yoktur, çünkü yasa dışıdır ve güvenlik güçlerine haber vermemiz gerekiyor. Bunu yapabilmek içinse elimizde olabildiğince çok fazla delil bulunması gerekir. Bu da sistemimizin trafiğini kontrol eden ve izleyen araçların mevcut olması gerektiği anlamına gelir.

Aynı şekilde ddos ataklar:

nemesis: http://www.packetfactory.net/Projects/nemesis/

Drdos Saldırılar

Bu tip ataklar da oldukça tehlikelidirler ve büyük maddi sorunlara yol açarlar. Burada saldırgan kişi kendi ip numarasını saldırmak istediği kişinin ip numarası olarak gösterir (ip spoofing).Daha sonra çok büyük bantlara ve trafiklere sahip olan başka sistemlere cevap verebilecekleri isteklerde(icmp echo request) bulunarak bu trafiğin kurbanın üzerine gitmesi sağlanmış olacaktır ve sonuç olarak da sistem servis dışı kalacaktır.(dos)


Sistem Analizi

Bizim elimizde olan sistemi kullanırken birden işlemlerimizin gidişatında bir terslik sezersek,bir saldırıya uğrayıp uğramadığımızı anlamak için birtakım testler ve izlere akmamız gerekir. Çünkü bu analiz sonucunda saldırı sonucumuz pozitif çıkarsa o zaman sistemimiz tam işlemiyor ve verdiğimiz hizmetler de belki yerine ulaşmıyordur. İşte ondan sonra kurtarma veya yeniden kurma işlemine geçmemiz gerekiyor. Bir şüphe duyulduğunda yapılabilecekler:

  • Bu işlemlerin en başında güvenlik duvarımızdan içeriye veya dışarıya

herhangi bir giriş olmaması açısından bazı ayarlamalar yapmamız gerekiyor. Ethernet aygıtımızı devre dışı bırakmamız da bir alternatiftir. Fişi çekmek her zaman için en iyi yöntem olmayabilir!

  • Tripwire gibi bir bütünlük programını çalıştırıp sistem dosyalarında

kritik bir değişimin var olup olmadığını kontrol ederiz. Burada tripwire programını çalıştırırken sabit diskte bulunmamasına dikkat etmeliyiz çünkü eğer sistemimize bir kez saldırı yapıldıysa onun ayarları da bozulmuş olabilir. Ayrıca gerçekten bir şüphemiz varsa cd-rom dan temiz bir kernel ile sistemimizi başlatmamız daha güvenli olacaktır. Çünkü çekirdeğimiz üzerinde de bazı değişiklikler yapılmış olabilir.

  • Bütünlük programı herhangi bir şey bulamadıysa o zaman chrootkit ve

rkhunter gibi programları çalıştırıp sistemimizde rootkit'lerin bulunup bulunmadığını varsa eğer temizlenmesini sağlamalıyız. Fakat bu yöntem de kısıtlıdır çünkü bu araçlar sadece bilinen rootkitleri arayacaktır.

  • Arka kapı (backdoor)kontrolü yapmalıyız;genelde sistemin kontrolünü

ele geçirmiş birisi tekrar geri dönebilmek için sistemde belli portları açık bırakarak dışarıdan bağlantı beklemesini sağlar. Bu sayede nmap gibi tarayıcılarla sistemimizi tarayıp hangi portlarımızın açık olduğunu ve hangilerinin örnek olarak bağlantı beklediğini görebiliriz. Ayrıca bunun yanında ağ kartlarımızdan bazıları eğer bir idsimiz yoksa ve promiscuous modda çalışıyorsa bu sistemimize koyulmuş bir snifferrin de habercisidir.

  • Düşük numaralı portlarımızdan bazıları bizim kontrolümüz dışında

açıldı ise o zaman bu demek oluyor ki biri sistemimizde root olup bunu yapmıştır ve bu açık bir belirtidir.

  • Eğer iyi bir log programımız varsa onunla syslogtan aktarılan mesajlara

bakarak şüpheli bir durum hakkında bilgi edinebiliriz. Bu programların da değiştirebilmiş olma ihtimaline karşı eğer syslog mesajlarımızı başka bir sunucuya gönderiyorsak bizdeki ile gönderilen yerdeki verileri karşılaştırmak da bir kontrol testi olarak kabul edilebilir.(wtmp,utmp,messages,yine secure kontrol edilmeli)

  • Disk alanımızda gözle görülür bir azalma görülüyorsa bu bir snifferin

habercisi olabilir çünkü sistemimize yönlendirilmiş başka sistemlerin paketleri sistemi çok çabuk bir şekilde dolduracaktır.

  • Ağ kaynaklarımızın gerekenden fazla bir şekilde kullanılması:nestat ve

ethereal gibi araçlar kontrol için kullanılabilir ve hangi servislerin bunu yaptığı da kolay bir şekilde anlaşılmış olur. Ayrıca /etc/xinetd dosyasında bazı değişikliklerin olup olmadığı da kontrollerimize eklenebilir. Çünkü buradan yapılan değişiklikler sistem girişi için yasal bir yol sağlamış olur.

  • /var/log dizini altında bulunan bazı log tutan dosyaların silinmiş veya

değiştirilmiş olması da bir saldırının başlıca belirtilerindendir.

  • Yeni kullanıcı isimlerinin mevcut olması /etc/passwd veya /etc/shadow

dosyalarında yapılan değişiklikler veya bazı kullanıcılara root hakkının verilmiş olması gibi bizim kontrolümüz dışında gerçekleşmiş olaylar da sistemimize birinin girdiğinin belirtisi olabilir.

  • ps -aux ile komutunun çalıştırarak sistemimizde bizden habersiz

olarak bazı servislerin çalışıp çalışmadığını kontrol etmek.

  • Eğer sistemimizde çalışan bir bütünlük programımız yoksa veya

çalışmasından şüpheler duyuyorsak o zaman bazı kontrollerimizi elle gerçekleştirebiliriz. Kontrol edilmesi gereken önemli dosyalardan bazıları /etc/hosts.allow,hosts.deny, ssh authenication,/etc/xinetd.conf da bu tür dosyalara örnek olarak gösterilebilir.

  • Eğer idsimiz varsa onun loglarına ve verdiği uyarılara bakarak şüpheli

durumları değerlendirmek ve sisteme saldırı yapılıp yapılmadığı konusunda bilgi sahibi olmak. Ayrıca burada elde edilen rapor ve sonuçlar daha sonra eğer istersek bize yasal olarak yapabileceğimiz suçlamalarda yardımcı olacaktır.

  • Bizim tarafımızdan konulmamış ve sonradan gelen setuserid veya

setgroupid programlarının tespit edilmesi. Eğer bu tür programlar tespit edilirse s bitlerini geri alarak etkisiz hale getirmek de korunma başlangıcı için bir adım olabilir.

  • /dev dizini altında bulunan değişik ascii karakterli dosyalara dikkat

etmemiz gerekir sisteme girmiş biri genelde buradaki dosyalardan yararlanır.

  • Yeni oluşturulmuş ve normal dosya gibi görünen nesneler de dikkat

etmemiz gereken durumlar arasında sayılabilir..Burada söz edilen ‘...’,’..’ isimli dizinlerdir. Genel itibariyle bu tür dosyaların gizlenmesi ls komutlarının davranışını değiştirmekle elde edilebilir. Eğer bu dosyalar normal bir şekilde tespit edilebiliyorsa saldırganını çok da tecrübeli olmadığı anlaşılabilir.

Kaza Sonrası

Bir saldırganın sistemimize giriş yaptığını anladıktan sonra bir planımızın olması çok önemlidir. Burada plandan kasıt elimizde gerekli araçların bulunması ve onların nasıl kullanılacağının bilinmesidir. Günümüzde sistemimizi yeniden kurmak bir ev kullanıcısı için çok büyük sorun oluşturmasa da bu olay şirketler için geçerli değildir. Bu yüzden girişin nereden yapıldığının öğrenilmesi ve ne gibi verilerin çalındığı veya silindiğinin öğrenilmesi oldukça büyük önem kazanır. Bu işlemler için geliştirilmiş birtakım dağıtımlar ve yöntemler bulunmaktadır.

Bundan sonra yapılacaklar genel anlamda:

  • Network aygıtlarımızın eğer mümkünse durdurulması çok

önemlidir. Çünkü eğer sistemimize yapılmış bir bağlantı varsa bunu yok etmek iyi bir fikir olacaktır.

  • Tek kullanıcı kipine geçmek hemen durdurulması zor olan bir sistem için

iyi bir seçenek olacaktır. Sistemde olan davetsiz misafirleri atmak temizlemenin en başında olması gereken adımdır.

  • Sistemimizin tam bir yedeğini alıp oradan incelemelerimize devam

edebiliriz. Çünkü enfekte edilmiş bir sistem üzerinde çalışmak pek de iyi bir fikir değildir.

  • Sistemi cdrom veya floppyden temiz bir kernel ile boot etmek gerekir

çünkü kernel seviyesinde bir değişikliğin var olup olmadığını bilemeyebiliriz. Burada kullanılabilecek bazı dağıtımlar daha sonra listelenecektir.

  • Eğer gerçekten ids kayıtlarımızdan veya loglarımızdan sistemimize

saldırılma tarihini bulabilirsek,sistemimizi eski bir tarihteki yedekten kurmak da bir çözümdür. Fakat iyi bir çözüm değildir çünkü sistemimizdeki açık hala oradadır ve saldırganın aynı şeyi yapmasını engelleyecek bir şey yoktur. Bu seçenek eğer devreye sokulursa saldırılmış sistem üzerinde iyi bir inceleme yapılıp giriş yeri hızlı bir şekilde bulunmalıdır. Çünkü yukarıda değinildiği gibi herkesin sistemini durdurup yenisini kurma gibi bir lüksü olmayabilir.

  • Diğer bir seçenek de sistemdeki deliği kapatıp devam etmektir fakat

burada sistemimizde bulunan bir programın birkaç gün veya ay sonra aktife olup olmayacağını bilemeyiz. Bu yüzden sistemimize saldıranın acemi biri olduğu yaptıklarından anlaşılıyorsa ve bundan eminsek bu yolu da planımıza eklememiz gerekir.

  • Aslında bir sistemin kırılması en istenmeyen durumdur ve bundan sonra

elimizde bir planımız bile olsa saldırganın tam olarak ne yaptığını bilemeyiz. Seçenekler ya sistemin yeniden temiz olarak kurulması veya bu mümkün değilse problemi bir şekilde çözmek ve yola devam etmektir. Eğer sistem durdurulamıyorsa bize gereken sadece kullanıcı verilerini eski sistemden çekip başka yedek bir sisteme kurmamız ve topu ona devrederek işlerimiz aksatmadan devam etmemiz de mümkündür.

  • Bunda sonra nerede yanlış yaptığımızı bakmanın zamanıdır. Temiz bir

sistemde olması gerekenler ve güvenlik testi adımlarını bir daha gözden geçirerek neleri kaçırdığımızı aramamız gerekir.

-Yukarıda sözü edilen “temiz bir kernel”den kurma işlemi bu amaçlar için geliştirilmiş dağıtımlarla yapılırsa çok daha kolay ve etkili olacaktır. Genelde silinen verilerimizi geri döndürmek için kullanılan programlar:

  • Sleuth Kit ve onun arayüzü görevini gören Autopsy Forensic

Browser kaza sonrası silinmiş verileri geri döndürmek ve nerelerden giriş yapıldığını anlamak için oldukça yaygın kullanılan yararlı araçlardandır.

http://www.sleuthkit.org/

  • Bundan başka loglarımızı izlememiz ve o anda hangi bağlantıların

olduğunu göstermesi açısından yararlı bir araç da Forensic and Log Analysis GUI bu konuda bize yardımcı olabilecek programlardandır. Ayrıca bir arayüze de sahip olması sistemimizde olup bitenleri izlememiz açısından oldukça işimize yarayabilecek bir yazılımdır.

http://pyflag.sourceforge.net/

  • Ayrıca yukarıda söz edilen araçların bulunduğu live cdlerde bu işlemler

için gerekli paketlerin hazır olarak bulunması ve bazılarında bunun bir arayüz ile yönetiminin sağlanması açısından oldukça yararlıdırlar ve kaza sonrası sandığımızdan çok daha fazlasını yapabilmemizi sağlarlar.

Bu dağıtımlardan bazıları:

-FIRE http://fire.dmzs.com/?section=main

-Trinity Rescue Kit http://trinityhome.org/Home/index.php?wpid=1&front_id=12

-Ayrıca ücretli bir dağıtım olarak da THE FARMER'S BOOT CD projesi bu işlemler için oldukça yararlı yazılımlardan bir tanesidir ve özelliğine de gelecek olursak sahip olduğu tek arayüzle bütün önemli araçların yönetimini sağlayan bir live cd versiyonudur. Ayrı ayrı diğer araçların kullanımları ile uğraşacak bilgi ve zamanımız yoksa tercih edilebilecek kurtarma araçlarımızın yanına katabiliriz. http://www.crazytrain.com/farmercd.html

Son Söz

Bu yazıda genel itibariyle güvenli bir Linux sistem nasıl olur sorusuna cevap aranılmaya çalışıldı.%100 güvenli bir sistem yoktur,öyle olması için dünya ile her türlü ilişkisinin kesilmiş olması gerekir ki o zaman da %100 güvenli değildir!Durum böyleyken bu yüzdeyi arttırmanın yolları ve yöntemleri aranmalı ve olabildiğince güvenlik konusu ciddiye alınıp planlı ve sistemli bir şekilde uygulanmalıdır. En önemlisi ve temel kural olan güvenlik konusunda sanal dünyada emin olmadıkça kimseye güvenmemektir.

Kaynakça

  • İptables ve firewall uygulamaları

http://www.linuxguruz.com/iptables/

  • Linux Güvenliği

http://www.seifried.org/lasg/

  • Linux güvenlik portalı

http://www.linuxsecurity.com/

  • Güvenlik

http://www.linux-sec.net/

  • Snort kullanımı

http://www.snort.org/

  • Makale

http://www.puschitz.com/SecuringLinux.shtml

  • Cert sistem kurtarma

http://www.cert.org/tech_tips/root_compromise.html

  • Güvenlik sitesi

http://www.antionline.com/

  • ddos Ataklar

http://staff.washington.edu/dittrich/misc/ddos/

  • Güvenlik Makaleleri

http://staff.washington.edu/dittrich/

  • Tldp güvenlik bölümü

http://www.tldp.org/HOWTO/HOWTO-INDEX/admin.html#ADMSECURITY

  • Phlak güvenlik dokümanları

http://www.phlak.org/docs/

  • Fydor'un top 100 güvenlik araçları

http://sectools.org/index.html

  • Güvenlik Videoları

http://www.irongeek.com/

  • Cert saldırgan tespiti

http://www.cert.org/tech_tips/intruder_detection_checklist.html

  • Zengin Güvenlik portalı

http://www.seifried.org/security/index.php/Main_Page

  • Yedek alma

http://www.seifried.org/security/index.php/Linux_Backup_Guide

  • Asuscert güvenlik sayfası

http://www.auscert.org.au/

  • Türkçe belgeler.org güvenlik bölümü

http://www.belgeler.org/howto/security-howto.html

  • Güncel güvenlik portalı

http://www.net-security.org/

  • Bastille projesi dokümanları

http://www.bastille-linux.org/

  • Linux dokümanları

http://www.howtoforge.com/

  • Exploit ve güncel güvenlik haberleri

http://www.securityfocus.com/

  • Yer altı dünyası haberleri ve son exploitler

http://packetstorm.linuxsecurity.com/

  • Güvenlik dokümanları vb

http://www.milw0rm.com/

Kitaplar

  • Linux CookBook

http://www.oreilly.com/catalog/linuxsckbk/#top

  • Hacking Linux Exposed

http://www.hackinglinuxexposed.com/


Makalenin bulunduğu site: http://arilaripi.org

Yazar  : makkalot