Buraya kadar hep bilgisayarlarımızla ilgili alınabilecek önönlemlerden söz ettik. Bundan sonraki kısımda az da olsa öğrendiğim, sistemler için ne gibi güvenlik önlemleri alınabilir konusunada özet olarak değinmeye çalışacağım. Elbet, bu kısımdan sonraki anlatılanları, sistemi tanıyanlar yada bir şekilde sistemle ilintili olanlar daha iyi anlayacaktır. Belkide seçmis olduğum düz anlatım kendilerini pek tatmin etmeyecektir. Ama yinde yararlı olacağını düşünüyorum.
Birazda Linux Güvenlik Önerileri (Some Clues About Linux Security)
Ben Windowsx dışında bir işletim sistemi (os) kullanmadım. Ama meraklı olan herkes gibi Unix ve Linux’ un nasıl çalıştığını merak edenlerdenim. Ancak aramızda mutlaka işletim sistemi olarak Linux’ u kullananlarımız vardır. Linux kullanıcıları için yararlı olabilecek bazı güvenlik önlemleri öğrendim onlardan söz edeceğim. Bunu neden açıkladım, çünkü öğrendiklerimi aktarırken belki işin tekniğiniden biraz uzaklaşabilirim. Yani anlattklarim daha çok düz metin anlatımı şeklinde olacaktır.
Kayıtların (logs) Okunması:
Linux sistemi içersinde ne olup bittiğini anlamanın yegane yolu kayıtları (logs) okumaktır. Şüphesiz bu saldırganın (attacker) bu kayıtları yoketmemesi (corrpt) durumunda geçerlidir. Bu kayıtlarda yapılan tüm bağlantıların ve varsa bir saldırı girşimi, onun neler yaptıgının tüm izlerini bulabiliriz. Kayıtları (logs) anlamada yada yorumlamada zorluk çekersek, üyesi olabileceğimiz bir sürü Linux kulüpleri vardır, oralarda bunları sorup yorumlatabiliriz. Bilmediğimiz bir şeyi sorup bilen birisinden yardım talep etmemizde garip bir şey yoktur, değilmi? Bu gayet doğaldır. Çünkü herşeyi bilmemizin olanağı yoktur. Örneğin ben Linux güvenliği konusunda anlattıklarımı sözünü ettiğim Linux kulüplerinde elde ettim.
Oyunlara Dikkat:
Suid kök oyunları (suid root games) eğlencelidir, vakit öldürmeye yarar ama tanıyıp bilmediğimiz oyunlarda, binlerce kötü kodlamaları içerebilmektedir. Bilmediğimiz oyunları kabul ederken düşünmemiz gerekir. Bu tür oyunların üreticilerini denetlememiz yada üreticilerin güvenli olup olmadığı bilmemiz o kadar kolay değildir. Kısaca suid kök lü oyunlardan uzak durmamız gerekir. hani işyerlerinde ag üzerinde oynanan oyunlar vardır, birisi oyunda öncü olur ve oyunu başlatır. Bu tür oyunlar Linux işletim sisteminde kök sistemden yararlanır.
Sistemimizde suid köklü programları mümkün oranda kullanmamak:
İşte bu suid köklü oyunlar Unix işletim sisteminin tanrısı kabul edilen kök (root) seviyesinden çalıştırılmaktadır. İşte bu nedenle güvenliğin altın kuralı sayılan sistemin köküne erişimin ancak belli seviyelerdeki yöneticilere sağlanması durmunu riske etmektedir. Bu tür oyunları oynayan kullanıcıların ne olup bittiğinden haberdar olmalarıda olanak dışıdır. O zaman yapılması gerekn bu tür oyunlara sistemde izin vememektir.
Programları ayrıcalıklı erişimle çalıştırmak:
Yukarılarda söznü ettiğimiz gibi bazı programlar sistemde kök (root) seviyede çalışmak isterler. Bu durumda bu tür olaylar için bazı imtiyazlı erişim hakları sağlanabilir. Örneğin yazıcı hattı (Line Printer) komutları yazıcıya erişmek için sıradan kullanacı erişiminden daha yüksek seviyeli erişim talep eder. Ama burada çok küçük bir kısım kök seviyede çalışır. İşte bu gibi durumlarda akıllıca davranış bir lp kullanıcı lp (/bin/true as the shell) ve lp isimli bir grup yaratmaktır. Böylece o gruptan hehangi bir kullanıcı burada sadece lp komutunu kullanabilir ve bunun dışına çıkamaz. .
İhtiyacımız olamayan yada kullanılmayan servisleri kapatmak:
Eğer rpc.mountd, rpc.nfsd yada diğer benzer damonları (daemons) kullanmıyorsak, bunları kapatalım. Onları kill -9 ile etkisizleştirip /etc/rc.d ifadelerine (******s) gidip yanlarına yorum koyalım. Bunlar belleği tüketmekte, işlemcinin hızını azaltmakta ve saldırganlara Linux sistemi hakkında bilgi elde etmelerine olanak sağlamaktadırlar.
En son /libs dosyalarına sahip olamk:
Lib dosyaları paylaşılmış dosyalardır. Bir program birazcık bir koda gereksinim duyunca bunu elde etmek için bu libs dosyalarına gider ve ihtiyacı olanı oradan alır. Sağlanan kolaylık gayet açıktır. Programlar daha küçük hacimlerde derlenmektedir. Şayet bir parça lib kodu bozulmuşssa, yapılacak şey onu güncellemektid. Bir çok program aynı kodlamayı kullanmaktadır. Programcılar daha önce yazdıklari bir kodlamayı tekrara yazmaya değilde, programın işlevselliği üzerinde yoğunlaşmaktadırlar. Bunun dezavantajıda vardır: liblerde bozulmuş bir kod bir çok programı etkileyecektir. Şayet saldırgan liblerle oynamışsa ozaman başımız gerçekten dertte demektir. Yapılabailecek en iyi şey, libleri güncelleştirmek ve meydana gelen değişiklikleri tarih ve boyutlarını kontrol etmektir.
Bağlantıları şifrelemek:
Paket koklama (packet sniffing) şifre elde etmke için kullanılan en yaygın yöntemdir. Şifrelenmemiş bir subnet üzerinde, elegeçirilmiş bir bilgisayara yüklenmiş bir paket koklama programı (packet sniffer) ile hackerler binlerce şifre elde edebilirler. Yerel bilgisayarlardan, diğer bilgisayar şebekelerinden. İster şebekeniz firewall ile korunmuş olsun ister olmasın. Anlatıldığına göre koklama saldırılarının çoğu Firewall ile korunmuş şebekelere yapılıyormuş. Şifreleme de (encryption) güvenli olamayan şebekelerin kullanılmasına yol açmaktaymış. Bunun için engüvenli şifreleme paketlerini içeren güvenli Firewall’ lar kullanmak gerekiyormuş.
Kernel dosyalarını güncel ve istikrarlı tutmak:
Kernel konusu daha çok sistemlerinde kullanıcısı olanalar için geçerli bir konuymuş. Eski tarihli Kernel’ lerin gedikleri oldukça fazlaymış. Beta kernel’ lar ise istikrarlı çalışmıyormuş. Vede 2.0.X Kernel’ lar 1.2.X Kernel’ lardan daha hızlı ve 1.3.X Kernels’ lardan da daha istikrarlı imiş.
Kernel’ ları derlerken sadece ihtiyaç duyula ve kullanılacak olanları kodlamak:
Kernel’ ların kodlamanın dört gerekçesi varmış: Kernel daha hızlanırmış, daha fazla bellek alanı elde edilirmiş, daha istikrarlı çalışırmış ve kullanılmayan kısımlar da kapatılırmış. Eğer kapatılmazsa bu kısımlar saldırganlar için sistemi sondalama ve bilgi elde etmek için kullanılabilirmiş.
Mümkün orada sistemi başkalarina kapalı tutmak:
Basit bir parmaklama (fingering) bir sistem hakkında bundan anlayan için oldukça fazla bilgi sağlar. Ne tür bilgiler? Sistemin kaç kullanıcısı var?, yönetici ne zamanlar sistemde?, Ne zamanlar çalışıyorlar?, Kim kimdir?, Sistemi kimler kullanıyor?, ve personal bilgileri. İşte bu tür bilgiler saldırgana sistem de kullanılan kullanıcı adı ve şifreleri ile ilgili tahminler yürütmesini sağlayabilecek bilgilerdir. Buna karşı kuvvetli parmaklama damonları (finer deamon) kullanılmalı ve sisteme kimlerin erişebileceğini belirtleyen tcpd kodlamasını kullanmak.
Kuvvetli Şifre kullanımını zorunlu kılmak:
Şurası kabul edilmelidirki, kullanılan basit ve zayıf şifreler sisteme kolay siızılmasının yegane nedenidir. Bir kutuya Shadow yüklenirse, kullanılmadan önce kötü şifreler seçip çıkartabilir. Kırma programını test için kullanmakta başka bit yöntemdir. Sistemde çok az kullanıcı da olsa, herr kullanıcıyı tanıyorda olsak, kötü şifreler mutlaka çıkacaktır ve buda birilerinib köy seviyeye erişebilmesine olanak tanıyacaktır.
Linux box’ e erişlimi mümkün oranda sınırlamak:
Mesela, bilmemne Universitesinin bilgisayar odasındasındayız yada kütüpanesindeyiz ve orada 10BaseT bağlantı olanağımız var. Ve sürekli olarak neato Linux box’ umuzu açık bırakıyoruz. Bu durumda ne olabailir okul arkadaşlarımızı yada herhangi birisi giriş (login) yapabilir. Ama, bunların hepside Universite’ nin syubnet’ inden bağlanabilir. Burada Univrsite’ nin subnet’ in dışarıdan bağlantıları engellemek yararlıdır. Tcpd ve birazda duyarlı davranmak sistemi güvende dutatcaktır. Yeni başlayanlar bir Linux sistemine 10BaseT’ ye kancalanarak çalıştıracağı için, etrafı gözetleyen bir kötü niyetli kişi için hedef teşki edecektir. Kötü niyetli kişi sistemde '+o0 kewl/<-rad 31i+3 WaReZ SiTeZ' olup olmadığına bakmaya çalışacaktır.
Evet Linux sistemi ile ilgili alınması gereken güvenlik önlemlerinde söz etmeye çalıştırm. Linux ve Unix, Temelde olmasada Windowsx’ lerde oldukça farklı ve oldukça şey bilinmesini gerektiriyor. Ben burada üyesi bulunduğum yerlerden sağladığım bilgilerle ve soru-cevap şeklinde yer alan metinlerde geçen bilgileri düz metin halinde aktarmaya çalıştırm. Düzmetin diyorum, çünkü anlatımda teknik düzeyden mümkün oranda uzak durmaya çalıştırm. Lünux kullanıcıları bunu zaten farkedeceklerdir.
Telnet Ilgili Bilgiler
Şifrelenmiş Kerberize Telnet
Şifrelenmiş bir kerberize Telnet özelliği bir router’ in şifrelenmiş Telnet oturumunu (session) başlatmasını ve almasını sağlar. Dahaönceleri, Tüm Telnet oturum trafiği okunabilir veri olarak aktarılabiliyordu. Bir router’ a yadan router’ dan bir Telnet oturumu oluşturuken şifrelenmiş kerberize Telnet kullanılabilmektedir. Bu özellik kullanıldığı zaman, önce bize kerberos verileri ile bize bir yetki verilir, ve ardından şifrelenmiş bir oturum oluşturulur. Cisco 'nun Şifrelei Kerberize Telneti aşağıda belirtilen şifreleme standardını kullanmaktadır: 64 bitlik Sıfır Geribesle’ meli [64-bit Cipher Feedback (CFB)] bir 56 bitlik Veri Şifreleme Standardı [56-bit Data Encryption Standard (DES)]. Bu özellik, eğer sistemde 56 bitlik bir şifreleme görüntüsü (56-bit encryption image) varsa geçerlidir. 56 bitlik Veri Şifreleme Standardı (56-bit DES encryption) şirfeleme yöntemide ABD Devlet İhracat Deenetim Yönetmeliklerine tabi bir yazılıdır. Yani ABD dışına satımı yada çıkartılması devletin özel izinlerine tabidir. Ama bu şifreleme yöntemleri bazı sistemlerde kullanılmaktadır.
Yararları
Kerberos şifreleme yöntemlerinin kullanılmasında bazı yararlar vardır. Telnet oturumlarını şifrelemek Telnet trafiğinde araya sızmaları yada aktarılmakta olan bilgilerin başkaları tarafından okunması gibi riskleri en aza indirmektedir. Bu özellik, bilhassa uzaktan yönetilen router’ larla Telnet oturumlarını kullanan sistem yöneticileri içim oldukça yararlı ve değerli olacaktır. Normal Telnet oturumlarında yani şifrelenememiş Telnet oturumlarında, bir saldırgan (attacker, intruder) araya girip Telnet trafiğinde olup bitenleri okuyabilir. Şayet trafikte bir router’ in kurlum bilgileri yer alıyorsa, router’ in bütünlüğü tehlikeye girecek demektir. Şifrelenmiş Telnet oturmu kullanarak bir Router’ i yönetmek, o Router’ in bütünlüğünün korunmasında yardımcı olacaktır. Cisco, bir Router’ a yada başka bir Cisco aygıtına o aygıtı yönetmek için bir Telnet oturumu başlatıldığında şifrelenmiş kerberize Telnet kullanılmasını önermektedir.
Tanımlar
Okunabilir Veri (Cleartext data): Başka bir ifade ile şifrelenmemiş veri demektir. Aktarım esnasında araya girilebilip başkaları tarafından okunabilir veridir. “Plaintext data” diyede bilinir. Data that is readable if intercepted during transmission. Also called "plaintext" data.
Şifreleme (Encryption): Anlaşılır ve anlamlı düzmetinleri okunup anlaşılamayan şekle dönüştürme yöntemidir. Şayet verilen aktarımdan önce şifrelenirse (okunamaz hale getirilirse) aktarım esnasında müdahale edip araya girilsede okunamaz durumda olacaktır. Veriler varacakları yer ulaştıklarında, tekrar eski hallerinde dönüştürüilecektir. Deşifre denilen bir işlemden gçirilirler.
Desteklenen Platformlar
Şifrelenmiş Kerberize Telnet Oturum özelliği şu platformları desteklemektedir;
Cisco 2500 serileri
Cisco 4000 serileri (Cisco 4000, 4000-M, 4500, 4500-M, 4700, and 4700-M)
Cisco 7000 serileri
Cisco 7500 serileri,