Bilgisayar aglari ve özellikle Internet, kullanicilara büyük olanaklar verirken ciddi güvenlik sorunlarini da beraberinde getirdi. Aga bagli bilgisayarlarda çalisanlarin bu güvenlik sorunlari konusunda bilgili olmalari zorunlu hale geldi. Ancak güvenlik ile kullanim kolayliginin çogu zaman birbirleriyle çelismesi ve kullanicilarin seçimlerini genellikle kullanim kolayligindan yana kullanmalari güvenlik önlemlerinin yerlesmesini engelledi. Bu bölüm, akademik ortamlarda yaygin olarak kullanilan Linux isletim sisteminde sistem sorumlularina güvenlik için yapabilecekleri konusunda yol göstermek ve kullanicilara tehlikeleri tanitmak amaciyla hazirlanmistir.
Sifreler ve Sifre Seçimi
Çok kullanicili isletim sistemlerinde kullanicinin kimliginin belirlenmesi büyük önem tasir. Hem sistemi kullanmaya yetkisi olmayan kisilerin sisteme girmelerinin engellenmesi, hem de sistemdeki kullanicilarin birbirlerinden ayirdedilebilmeleri için, her kullaniciya bir sifre verilir ve sisteme giris basta olmak üzere tüm kritik islemlerde kullaniciya sifresi sorulur. Sifreler, diger kullanici bilgileriyle birlikte, /etc/passwd veya /etc/shadow dosyasinda tutulur.
Bazi uygulamalarin sifre dosyasinin bazi alanlarina erismeleri gerektiginden sifre dosyasi, sistemdeki bütün kullanicilar tarafindan okunabilecek bir dosya olmalidir. Bu nedenle sifreler bu dosyaya açik halde degil, sifrelenerek yazilirlar.
Sifre yönteminin güvenilirligi, sistemdeki kullanicilarin sifre seçiminde gösterdikleri özene baglidir. Kolay akilda kalacak sifreler, çogu zaman kolay tahmin edilebilir. Buna karsilik, zor tahmin edilebilen sifreler kullanicilarin akillarinda kalmayabile ceklerinden bir yere yazmalarina ve böylece yeni tehlikeler olusturmalarina zemin hazirlayabilir.
Su tip sifreler kolay tahmin edilebilen sifreler sayilmaktadir:
1.
Kullanici ile yakinligi olan kisilerinkiler (kendisi, ailesi, arkadaslari, yakinlari) basta olmak üzere bütün erkek ve kadin isimleri
2.
Dogum tarihleri
3.
Kullanici ile ilgili herhangi bir bilgi (kullanici adi, oda numarasi, telefon numarasi, arabasinin plaka numarasi, sosyal güvenlik numarasi)
4.
Klavyede belli bir düzene göre ardarda gelen harflerden olusan sifreler (örnegin qwerty veya abcdefg gibi)
5.
Anlamli bir sözcük (bilgisayar terimleri, yer isimleri)
6.
Yanlizca küçük (ya da yanlizca büyük) harflerden olusan sifreler
7.
Yukaridakilerden birinin basina ya da sonuna bir rakam eklenerek olusturulan sifreler
8.
Yukaridakilerin ters yazilislari
Iyi bir sifre üretmek için önerilen iki yöntem vardir:
1.
Iki sözcügün aralarina bir rakam ya da noktalama isareti konarak birlestirilmesi
2.
Seçilen bir cümlenin sözcüklerinin bas harfleri
Tehlikeler
Sifre dosyasina erisimi olmayan bir saldirgan, hedef seçtigi bir kullanicinin sifresini deneyerek bulmak zorundadir. Olasi bütün sifrelerin çoklugu gözönüne alinirsa bu tip bir saldirinin etkisiz olacagi düsünülebilir. Ancak, çogu sistemde, sifresi bos olan, kullanici adiyla ayni olan ya da sistem sorumlusunun geçici olarak verdigi basit sifreyi degistir(e)meyen kullanicilarin sayisi azimsanamayacak düzeydedir. Bir tek kullanicinin bile sifresinin elde edilmesi sisteme giris için yeterli oldugundan güvenlik açisindan büyük sorunlar yaratabilir.
Saldirgan, sifre dosyasinin bir kopyasini alabilirse isi oldukça kolaylasir. Hem çok daha hizli çalisabilir, hem de hedef sistemin sorumlusunun dikkatini çekmek tehlikesinden kurtulur. Bir saldirganin sifre dosyasini eline geçirmesi birkaç sekilde mümkün olabilir. Örnegin bir kullanicinin sifresini elde ederek sisteme girer ve dosyayi alir, bazi programlardaki hatalardan yararlanarak sisteme girmeden dosyayi elde edebilir, sistemdeki bir kullanici sifre dosyasini saldirgana gönderebilir veya saldirgan, sistemdeki kullanicilardan biridir.
/etc/passwd dosyasindaki sifreleri kirmaya çalisan çesitli yazilimlar bulunmaktadir. Bunlarin en etkililerinden ve en yaygin kullanilanlarindan biri Crack isimli programdir. Alec E. Muffett tarafindan gelistirilen Crack, sözlük saldirisi yöntemini kullanan bir sifre kirma programidir. Giris olarak verilen sözlüklerdeki sözcükleri sifre dosyasindaki 'salt' bilgileriyle sifreleyerek sifre olarak kullanilip kullanilmadiklarina bakar. Ayrica sistemin kullanici bilgilerinden de olasi sifreler üretmeye çalisir.
Önlemler
Sifre güvenliginin en önemli sarti, basta sistem sorumlulari olmak üzere, bütün kullanicilarin iyi sifre seçmenin önemini kavramalaridir. Herkes, sifresinin yetkisiz birinin eline geçmesi durumunda kendisi ve diger kullanicilar açisindan olusan tehlikeleri anlamalidir. Nelerin kötü sifre oldugu ve nasil iyi sifre seçilebilecegi konusunda kullanicilar egitilmelidir. Bu kosul gerçeklesmedikçe asagida sözü geçen önlemlerin çogu da basarisiz olacaktir.
1.
Sifre seçiminin kullaniciya birakilmamasi : Sifreler, sistem sorumlusu tarafindan ya da rasgele sifre üreten bir program tarafindan seçilerek verilir ve kullanicilara sifrelerini degistirme hakki taninmaz. Bu yöntem, iyi sifreler üretmekle birlikte, kullanicilarin akillarinda tutamayacaklari sifreleri bir yere yazmalarina neden olur.
2.
Sifre seçiminin kisitlanmasi : Kullanicinin kötü oldugu bilinen bir sifre seçmesi engellenir.
3.
Sifre dosyasinin sistem sorumlusu tarafindan kirilmasi : Sistem sorumlusu, zaman zaman, sifre dosyasini Crack tipi bir program ile tara***** zayif sifreleri arar. Buldugu zayif sifreli kullanicilarin hesaplarini kilitler.
4.
Sifrelerin geçerlilik sürelerinin kisitlanmasi : Yeterince sik degistirilmeyen sifreler, kuvvetli de olsalar, saldirgana aramak için daha uzun zaman tanidiklarindan tehlike yaratirlar. Bu nedenle, sifrelerin belli bir süre sonunda geçerliliklerini yitirerek yeni bir sifre verilmesi zorunlulugu getirilebilir.
5.
Gölge sifreler (shadow passwords) : Sifre dosyasinin bazi alanlarinin herkes tarafindan okunabilir olmasi gerekse de, sifre alaninin herkes tarafindan okunabilir olmasi gerekmez. Bu nedenle, sifrelenmis sifreler ancak sistem sorumlusunun okuyabilecegi bir dosyaya alinabilir. Sifre dosyasindaki sifre alanina herhangi bir bilgi yazilirken (kullanici adi, * isareti gibi), gölge dosyasina (/etc/shadow) sifrelenmis sifreler konur.
John F. Hough II tarafindan gelistirilen Shadow Password Suite, sistemdeki sifre güvenligini artirmaya yönelik bir pakettir. Gölge sifrelerin yanisira, daha uzun sifreleri (16 karakter) desteklemesi ve sifrelerin geçerlilik sürelerini kisitlamasi nedeniyle sistem sorumlularinin çokça kullandigi araçlar arasinda yer alir.
ftp://ftp.metu.edu.tr/pub/sunsite/sy...tp.metu.edu.tr adresinde bulunabilir. Slackware 3.2 sürümünden itibaren shadow destegi vardir.
Dosya Güvenligi
Her dosyanin bir sahibi, bir de grubu vardir. Dosya uzerinde kimin hangi islemleri yapabilecegine dosyanin sahibi olan kullanici karar verir. Erisim haklari, dosyanin sahibi, grubu ve digerleri için ayri ayri belirtilir.
-rwxr-x--- 1 uyar users 4030 Dec 4 15:30 dene
Dizinler için de ayni erisim haklari modeli geçerlidir. Bir dizin üzerindeki okuma izni, dizin altindaki programlarin listesinin alinip alinamayacagini, yazma izni dizinde yeni bir dosya yaratilip yaratilamayacagini, çalistirma izni de o dizine geçilip geçilemeyecegini belirler. Yetkili kullanicinin (root) bütün dosyalar ve dizinler üzerinde (birkaç sistem dosyasi ve dizini haricinde) bütün islemleri yapma yetkisi vardir.
Tehlikeler
Isletim sisteminde ya da uygulama programlarinda bir hata olmadigi sürece erisim izni olmayanlar dosyayi zaten okuyamayacaklardir. Asil tehlike, yetkili kullanicinin yetkisini kötüye kullanarak kullanicilarin kisisel dosyalarini ve mektuplarini okumasidir. Her seye yetkisi olan bir kullanici, sistemin kararliligini korumak için gerekli olmakla birlikte, güvenligi ve özel bilgilerin gizliligini bir kisinin ahlakina birakmasi açisindan Linux (ve Unix) isletim sisteminin güvenliginin en zayif noktalarindan biri olarak degerlendirilmektedir.
Saldirgan, sisteme girince, hem sonraki girislerini kolaylastirmak, hem de daha rahat çalisabilmek için bazi sistem dosyalarini ya da programlarini degistirebilir. Örnegin, sifre dosyasina bir kayit ekleyerek kendine yetkili bir kullanici yaratabilir. Kullanicilarin sifrelerini ögrenmek için login, passwd gibi programlari degistirebilir.
Önlemler
Sifre güvenligi saglandigi sürece dosya erisimlerinde fazla bir güvenlik sorunu olmayacaktir. Bu konuda sistem sorumlusuna düsen, kullanicilarini erisim haklarini nasil düzenleyecekleri konusunda bilgilendirmektir.
Sifre dosyasi gibi metin dosyalarinda degisiklik olup olmadigi gözle inceleme yaparak ya da basit komut satiri programlari kullanarak bulunabilir. Çalistirilabilir dosyalar gözle kontrol edilemeyeceginden en uygun yöntem, dosya imzalari olusturarak saglam oldugu bilinen imzalarla yeni hesaplanan imzalari karsilastirmaktir. Tripwire paketi, dosyalarda yapilan degisiklikleri farketmekte sistem sorumlusuna ve kullanicilara yardimci olur. Önce saglam oldugu bilinen dosyalarin dosya imzalari olusturularak bir yerde saklanir. Sonraki çalistirmalarda imzalar yeniden hesaplanarak eskileriyle karsilastirilir ve farkli olanlar varsa bildirilir. Düzgün çalisma için özgün imzalarin iyi korunmasi, mümkünse, üstüne yazilamayan bir ortamda saklanmasi gerekir.
ftp://coast.cs.purdue.edu/pub/COAST/....cs.purdue.edu adresinden temin edilebilir.
BL@DE
Açık Profil bilgileri
BL@DE - Özel Mesaj gönder
BL@DE - Daha fazla Mesajını bul
03-14-2008 #2
BL@DE
[10]Üye
Üyelik tarihi: Mar 2008
Mesajlar: 116
Actigi Konu Sayisi: 57
Referans: 3
Ettiği Teşekkür: 0
5 Mesajına 8 Teşekkür Aldi Seviye 9 []
Aktiflik: 21 / 219
Güç: 38 / 240
Deneyim: 79%
Linux İşletim Sisteminde Güvenlik
--------------------------------------------------------------------------------
TCP/IP Ortaminda Güvenlik
IP paketleri aga açik halde gönderildiklerinden iletisim fiziksel olarak tamamiyla güvensizdir. Agdan paketleri alabilen herkes içeriklerini rahatlikla okuyabilir. Özellikle, bir ortak yol (bus) ile gerçeklenen aglarda çok belirgin olarak ortaya çikan bu sorun, sifreler basta olmak üzere pek çok duyarli bilginin kolayca ele geçirilmesine yol açar.
Bir istemci, hizmet almak için bir sunucuya baglanirken gerçege aykiri bir sayisal ya da sembolik adres bildirebilir. Internet'teki temel güvenlik sorunlarindan biri, sayisal - sembolik adres dönüsümleri için kullanilan sunucularin yerel sistem sorumlusunun denetimi disinda olmalari ve çogu protokolün güvenlik kosullarinin saglanabilmesi için bunlara gereksinim duymalaridir.
Bir saldirgan, sunucu bir makinayi çökerterek hizmetlerin verilemez hale gelmesine yol açabilir. Buna, TCP/IP protokol ailesinin tasarimindan, sunucu süreçlerdeki hatalardan veya isletim sistemindeki hatalardan kaynaklanan açiklar neden olabilir.
rsh, rcp ve rlogin komutlarinin kullanilmasinda sifre denetimlerinin atlanabilmesi için ya tüm kullanicilar için geçerli sistem dosyasinda (/etc/hosts.equiv) ya da kullaniciya özel erisim dosyasinda (.rhosts) ayarlamalar yapilmalidir. Sistem dosyasinda yer alan makinalar güvenilen (trusted) makinalar kabul edilirler ve bu makinalardan baglanan kullanicilarin isimleri yerel sifre dosyasinda varsa sifre denetimi yapilmaz.
Önlemler
Internet hizmetlerini gerçeklestiren programlarin çogu halen üzerinde gelistirme ve hata ayiklama islemleri süren programlardir. Sistem sorumlusu, kullandigi programlarin gelisimini izleyerek bilinen hatasi bulunmayan son sürümlerini edinmeli ve çalistirmalidir. Ayrica, Usenet'te güvenlik ile ilgili forumlari izleyerek ve CERT (Computer Emergency Response Team -
http://www.cert.org)/ önerilerine u***** güncel olan güvenlik bosluklarini ögrenmeli ve önlemlerini almalidir.
Yapilabilecek en temel islerden biri, verilmesine gerek olmayan ya da tasidigi riske degmeyecegi düsünülen hizmetlerin sunucu süreçlerini çalistirmamaktir. Sözgelimi, yerel agda hiçbir NIS istemci makinasi bulunmadigi halde bir bilgisayarin NIS sunucu sürecini çalistiriyor olmasi gereksiz bir risk içerir. Bazi sistem sorumlulari, kullanici isimleri ve sistemde kimin çalistigi gibi bilgileri disariya aktardigi için finger hizmetini tehlikeli bularak kapatirlar. Hizmetin engellenmesi için isletim sisteminin açilis dosyalarindan (/etc/rc.d/rc.*) ilgili sunuculari çalistiran satirlar (özellikle netstat ve systat ) kaldirilmalidir.
Bazi durumlarda, hizmeti bütünüyle kapatmaktansa, erisimi kosullara baglamak daha anlamli olabilir. Bu kosullar, hizmetin hangi makinalara, hangi kullanicilara, hangi saatlerde verilecegi ya da verilmeyecegi seklinde belirtilebilir. Bu tip kisitlamalar getiren programlarin en yaygin kullanilanlari tcpwrapper ve xinetd paketleridir. Wietse Venema tarafindan gelistirilen tcpwrapper, sunuculara erisimi baglanti isteginde bulunan makina ve kullaniciya gore kisitlayan ve baglanti istekleriyle ilgili kayitlar tutan bir pakettir.
Bu paket Linux'un Slackware dagitimiyla birlikte gelmektedir.
Güvenligin önem tasidigi yerlerde giderek yayginlasan alev duvari teknigi, yerel agdaki bilgisayarlarin disaridaki aga dogrudan erisimlerini kaldirmayi öngörür. Agin yönlendiricisi, agda güvenli çalistigi bilinen yalnizca bir makinanin disariyla baglanti kurmasina izin verir. Diger bilgisayarlar dis aga çikmak için bu makinadaki süreçlere baglanirlar.
Kayit Tutulmasi
Güvenligin en önemli parçalarindan biri, sistemin sürekli izlenerek, güvenlige aykiri durumlar olusup olusmadiginin, olustuysa bunlarin sorumlularinin kimler oldugunun belirlenmesidir. Bunun için, güvenligi ilgilendirebilecek her türlü olayin kaydi tutulmalidir. Su tip bilgiler, güvenlik açisindan deger tasirlar:
• Basarisiz veya basarili olmus sisteme giris denemeleri
• Nerelerden, hangi hizmetler için baglanti istekleri geldigi
• Hizmetler sirasinda gerçeklesen dosya aktarimlari
Linux'ta kayit tutulmasi isini syslogd süreci görür. Hangi tür mesajlarin hangi dosyaya yazilacagi konfigürasyon dosyasinda (/etc/syslog.conf) belirtilir. Genellikle makina ilk açildigi zaman /var/adm/messages dizini altindaki messages, xferlog, syslog gibi dosyalara yazilan bu bilgileri isteginize göre daha sistematik bir yapida saklamak da mümkündür. Ag ile ilgili hizmetleri denetleyen süreçler (tcpwrapper, xinetd gibi paketler) kayit dosyalarina girmesini istedikleri bilgileri syslogd sürecine bildirirler.