Linux isletim sisteminde guvenlik
Perş. Haz. 18, 2009 9:14 am
Linux isletim sisteminde guvenlik
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
tarayarak 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/system...etu.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 150 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/Trip...purdue.edu adresinden temin edilebilir.
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 - [Only Registered Users Can See Links])
önerilerine uyarak 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.
alıntı
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
tarayarak 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/system...etu.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 150 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/Trip...purdue.edu adresinden temin edilebilir.
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 - [Only Registered Users Can See Links])
önerilerine uyarak 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.
alıntı
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz