Bursa Bilgisayar

Linux İşletim Sisteminde Güvenliğin Sağlanması

Merhaba arkadaşlar bugünkü makalemde sizlere linuxta çoğu zaman atladığımız önemli bir konu hakkında bir kaç fikir vermek istiyorum. Anlatacaklarım linux için genel olsada yinede yeni giren bir çok arkadaşa fikir verecektir diye düşünüyorum. Dilerim faydamız dokunur.

Bilgi işlem ağları ve özellikle İnternet, kullanıcılara büyük olanaklar getirirken ciddi güvenlik sorunlarını da beraberinde getirdi. Ağa bağlı bilgisayarlarda çalışanların bu güvenlik sorunları konusunda bilgili olmaları zorunlu hale geldi. Güvenlik ile kullanım kolaylığının çoğu zaman birbirleriyle çelişmesi ve kullanıcıların seçimlerini genellikle kullanım kolaylığından yana kullanmaları güvenlik önlemlerinin gelişmesini engelledi.

Bu bölüm, akademik ortamlarda yaygın olarak kullanılan Linux işletim sisteminde sistem sorumlularına güvenlik için yapabilecekleri konusunda yol göstermek ve kullanıcılara tehlikeleri tanıtmak amacıyla hazırlanmıştır.

Çok kullanıcılı işletim sistemlerinde kullanıcının kimliğinin belirlenmesi büyük önem taşır. Hem sistemi kullanmaya yetkisi olmayan kişilerin sisteme girmelerinin engellenmesi, hem de sistemdeki kullanıcıların birbirlerinden ayırdedilebilmeleri için, her kullanıcıya bir şifre verilir ve sisteme giriş başta olmak üzere tüm kritik işlemlerde kullanıcı şifresi sorulur. Şifreler, diğer kullanıcı bilgileriyle birlikte,

/etc/passwd

veya

/etc/shadow

dosyasında tutulur.

Bazı uygulamaların şifre dosyasının bazı alanlarına erişmeleri gerektiğinden şifre dosyası, sistemdeki bütün kullanıcılar tarafından okunabilecek bir dosya olmalıdır. Bu nedenle şifreler bu dosyaya açık halde değil, şifrelenerek yazılırlar.

Şifre yönteminin güvenilirliği, sistemdeki kullanıcıların şifre seçiminde gösterdikleri özene bağlıdır. Kolay akılda kalacak şifreler, çoğu zaman kolay tahmin edilebilir. Buna karşılık, zor tahmin edilebilen şifreler kullanıcıların akıllarında kalmayabileceklerinden bir yere yazmalarına ve böylece yeni tehlikeler oluşturmalarına zemin hazırlayabilir.

Şu tip şifreler kolay tahmin edilebilen şifreler sayılmaktadır:

Kullanıcı ile yakınlığı olan kişilerinkiler (kendisi, ailesi, arkadaşları, yakınları) başta olmak üzere bütün erkek ve kadın isimleri

Doğum tarihleri

Kullanıcı ile ilgili herhangi bir bilgi (kullanıcı adı, oda numarası, telefon numarası, arabasının plaka numarası, sosyal güvenlik numarası)

Klavyede belli bir düzene göre ardarda gelen harflerden oluşan şifreler (örneğin qwerty veya abcdefg gibi)

Anlamlı bir sözcük (bilgisayar terimleri, yer isimleri)

Yalnızca küçük (ya da yalnızca büyük) harflerden oluşan şifreler

Yukarıdakilerden birinin başına ya da sonuna bir rakam eklenerek oluşturulan şifreler

Yukarıdakilerin ters yazılışları

İyi bir şifre üretmek için önerilen iki yöntem vardır:

İki sözcüğün aralarına bir rakam ya da noktalama işareti konarak birleştirilmesi
Seçilen bir cümlenin sözcüklerinin baş harfleri

Olası Tehlikeler

Şifre dosyasına erişimi olmayan bir saldırgan, hedef seçtiği bir kullanıcının şifresini deneyerek bulmak zorundadır. Olası bütün şifrelerin çokluğu gözönüne alınırsa bu tip bir saldırının etkisiz olacağı düşünülebilir. Ancak, çoğu sistemde, şifresi boş olan, kullanıcı adıyla aynı olan ya da sistem sorumlusunun geçici olarak verdiği basit şifreyi değiştiremeyen kullanıcıların sayısı azımsanamayacak düzeydedir. Bir tek kullanıcının bile şifresinin elde edilmesi sisteme giriş için yeterli olduğundan güvenlik açısından büyük sorunlar oluşturacaktır.

Saldırgan, şifre dosyasının bir kopyasını alabilirse işi oldukça kolaylaşır. Hem çok daha hızlı çalışabilir, hem de hedef sistemin sorumlusunun dikkatini çekmek tehlikesinden kurtulur. Bir saldırganın şifre dosyasını eline geçirmesi birkaç şekilde mümkün olabilir. Örneğin bir kullanıcının şifresini elde ederek sisteme girer ve dosyayı alır, bazı programlardaki hatalardan yararlanarak sisteme girmeden dosyayı elde edebilir, sistemdeki bir kullanıcı şifre dosyasını saldırgana gönderebilir veya saldırgan, sistemdeki kullanıcılardan biridir.

/etc/passwd

dosyasındaki şifreleri kırmaya çalışan çeşitli yazılımlar bulunmaktadır. Bunların en etkililerinden ve en yaygın kullanılanlarından biri Crack isimli programdır. Burda programı anlatıcam ancak kullanıp kullanmamak tamamen kendi sorumluluğunuzdadır. Hack gibi luzumsuz konulara karşı olduğumu çoğunlukla belirtiyorum. Burda bu konuyu paylaşmamdaki amaç sistemdeki işleyişi anlayınki buna özel çözüm bulasınız diyedir.

Program Alec E. Muffett tarafından geliştirmiştir. Adı Crack tir, sözlük saldırısı yöntemini kullanan bir şifre kırma programıdır. Giriş olarak verilen sözlüklerdeki sözcükleri şifre dosyasındaki ‘salt’ bilgileriyle şifreleyerek şifre olarak kullanılıp kullanılmadıklarına bakar. Yani klasik bildiğimiz brute force şifre deneme tekniğidir. Ayrıca sistemin kullanıcı bilgilerinden de olası şifreler üretmeye çalışır. Bu paketi paylaşmıyorum. Mantığını anlattım dilerim faydalı olmuştur. Paylaşmama sebebim benim elimden başkalarına zarar gelmesin istediğimdendir.

Nasıl Önlemler Alabilirsiniz:

Şifre güvenliğinin en önemli şartı, başta sistem sorumluları olmak üzere, bütün kullanıcıların iyi şifre seçmenin önemini kavramalarıdır. Herkes, şifresinin yetkisiz birinin eline geçmesi durumunda kendisi ve diğer kullanıcılar açısından oluşan tehlikeleri anlamalıdır. Nelerin kötü şifre olduğu ve nasıl iyi şifre seçilebileceği konusunda kullanıcılar eğitilmelidir. Bu koşul gerçekleşmedikçe aşağıda sözü geçen önlemlerin çoğu da başarısız olacaktır.

Şifre seçiminin kullanıcıya bırakılmaması :

Şifreler, sistem sorumlusu tarafından ya da rasgele şifre üreten bir program tarafından seçilerek verilir ve kullanıcılara şifrelerini değiştirme hakkı tanınmaz. Bu yöntem, iyi şifreler üretmekle birlikte, kullanıcıların akıllarında tutamayacakları şifreleri bir yere yazmalarına neden olur.

Şifre seçiminin kısıtlanması :

Kullanıcının kötü olduğu bilinen bir şifre seçmesi engellenir.

Şifre dosyasının sistem sorumlusu tarafından kırılması :

Sistem sorumlusu, zaman zaman, şifre dosyasını Crack tipi bir program ile tarayarak zayıf şifreleri arar. Bulduğu zayıf şifreli kullanıcıların hesaplarını kilitler.

Şifrelerin geçerlilik sürelerinin kısıtlanması :

Yeterince sık değiştirilmeyen şifreler, kuvvetli de olsalar, saldırgana aramak için daha uzun zaman tanıdıklarından tehlike yaratırlar. Bu nedenle, şifrelerin belli bir süre sonunda geçerliliklerini yitirerek yeni bir şifre verilmesi zorunluluğu getirilebilir.

Gölge şifreler (shadow passwords) :

Şifre dosyasının bazı alanlarının herkes tarafından okunabilir olması gerekse de, şifre alanının herkes tarafından okunabilir olması gerekmez. Bu nedenle, şifrelenmiş şifreler ancak sistem sorumlusunun okuyabileceği bir dosyaya alınabilir. Şifre dosyasındaki şifre alanına herhangi bir bilgi yazılırken (kullanıcı adı, * işareti gibi), gölge dosyasına

/etc/shadow

Şifrelenmiş şifreler konur. John F. Hough II tarafından geliştirilen Shadow Password Suite, sistemdeki şifre güvenliğini artırmaya yönelik bir pakettir. Gölge şifrelerin yanısıra, daha uzun şifreleri “16 karakter” desteklemesi ve şifrelerin geçerlilik sürelerini kısıtlaması nedeniyle sistem sorumlularının çokça kullandığı araçlar arasında yer alır. Slackware 3.2 sürümünden itibaren shadow desteği vardır.

Dosya Güvenliği Nasıl Sağlanır

Her dosyanın bir sahibi, bir de grubu vardır. Dosya uzerinde kimin hangi işlemleri yapabileceğine dosyanın sahibi olan kullanıcı karar verir. Erişim hakları, dosyanın sahibi, grubu ve diğerleri için ayrı ayrı belirtilir.

drwxr-xr-x 65 bursa bursa 4096 Mar 5 21:19 bursa-bilgisayar

Dizinler için de aynı erişim hakları izinleri geçerlidir. Bir dizin üzerindeki okuma izni, dizin altındaki programların listesinin alınıp alınamayacağını, yazma izni dizinde yeni bir dosya yaratılıp yaratılamayacağını, çalıştırma izni de o dizine geçilip geçilemeyeceğini belirler. Yetkili kullanıcının (root) yani kök kullanıcı bütün dosyalar ve dizinler üzerinde (birkaç sistem dosyası ve dizini haricinde) bütün işlemleri yapma yetkisi vardır.

Linuxta İşletim Sistemlerinde Tehlikeler

İşletim sisteminde ya da uygulama programlarında bir hata olmadığı sürece erişim izni olmayanlar dosyayı zaten okuyamayacaklardır. Asıl tehlike, yetkili kullanıcının yetkisini kötüye kullanarak kullanıcıların kişisel dosyalarını ve mektuplarını okumasıdır. Her şeye yetkisi olan bir kullanıcı, sistemin kararlılığını korumak için gerekli olmakla birlikte, güvenliği ve özel bilgilerin gizliliğini bir kişinin ahlakına bırakması açısından Linux (ve Unix) işletim sisteminin güvenliğinin en zayıf noktalarından biri olarak değerlendirilmektedir.

Saldırgan, sisteme girince, hem sonraki girişlerini kolaylaştırmak, hem de daha rahat çalışabilmek için bazı sistem dosyalarını ya da programlarını değiştirebilir. Örneğin, şifre dosyasına bir kayıt ekleyerek kendine yetkili bir kullanıcı yaratabilir. Kullanıcıların şifrelerini öğrenmek için login, passwd gibi programları değiştirebilir.Diğer makalelerimi incelerseniz bu konuyu ayrıntılı olarak anlatacağım.

Nasıl Önlem Alınabilir :

Şifre güvenliği sağlandığı sürece dosya erişimlerinde fazla bir güvenlik sorunu olmayacaktır. Bu konuda sistem sorumlusuna düşen, kullanıcılarını erişim haklarını nasil düzenleyecekleri konusunda bilgilendirmektir.

Şifre dosyası gibi metin dosyalarında değişiklik olup olmadığı gözle inceleme yaparak ya da basit komut satırı programları kullanarak bulunabilir. Çalıştırılabilir dosyalar gözle kontrol edilemeyeceğinden en uygun yöntem, dosya imzaları oluşturarak sağlam olduğu bilinen imzalarla yeni hesaplanan imzaları karşılaştırmaktır. Tripwire paketi, dosyalarda yapılan değişiklikleri farketmekte sistem sorumlusuna ve kullanıcılara yardımcı olur. Önce sağlam olduğu bilinen dosyaların dosya imzaları oluşturularak bir yerde saklanır. Sonraki çalıştırmalarda imzalar yeniden hesaplanarak eskileriyle karşılaştırılır ve farklı olanlar varsa bildirilir. Düzgün çalışma için özgün imzaların iyi korunması, mümkünse, üstüne yazılamayan bir ortamda saklanması gerekir. Bu konu hakkında bir makale yazdım daha önce incelersiniz.

TCP/IP Ortamında Güvenlik Nasıl Sağlanır

IP paketleri ağa açık halde gönderildiklerinden iletişim fiziksel olarak tamamıyla güvensizdir. Ağdan paketleri alabilen herkes içeriklerini rahatlıkla okuyabilir. Özellikle, bir ortak yol (bus) ile gerçeklenen ağlarda çok belirgin olarak ortaya çıkan bu sorun, şifreler başta olmak üzere pek çok duyarlı bilginin kolayca ele geçirilmesine yol açar.

Bir istemci, hizmet almak için bir sunucuya bağlanırken gerçeğe aykırı bir sayısal ya da sembolik adres bildirebilir. Internet’teki temel güvenlik sorunlarından biri, sayısal – sembolik adres dönüşümleri için kullanılan sunucuların yerel sistem sorumlusunun denetimi dışında olmaları ve çoğu protokolün güvenlik koşullarının sağlanabilmesi için bunlara gereksinim duymalarıdır.

Bir saldırgan, sunucu bir makinayi çökerterek hizmetlerin verilemez hale gelmesine yol açabilir. Buna, TCP/IP protokol ailesinin tasarımından, sunucu süreçlerdeki hatalardan veya işletim sistemindeki hatalardan kaynaklanan açıklar neden olabilir.

rsh, rcp ve rlogin komutlarının kullanılmasında şifre denetimlerinin atlanabilmesi için ya tüm kullanıcılar için geçerli sistem dosyasında

/etc/hosts.equiv

ya da kullanıcıya özel erişim dosyasında

.rhosts

ayarlamalar yapılmalıdır.

Sistem dosyasında yer alan makinalar güvenilen (trusted) makinalar kabul edilirler ve bu makinalardan bağlanan kullanıcıların isimleri yerel şifre dosyasında varsa şifre denetimi yapılmaz.

Önlem Alma Yolları

İnternet hizmetlerini gerçekleştiren programların çoğu halen üzerinde geliştirme ve hata ayıklama işlemleri süren programlardır. Sistem sorumlusu, kullandığı programların gelişimini izleyerek bilinen hatası bulunmayan son sürümlerini edinmeli ve çalıştırmalıdır. Ayrıca, Usenet’te güvenlik ile ilgili forumları izleyerek ve CERT (Computer Emergency Response Team – www.cert.org) önerilerine uyarak güncel olan güvenlik boşluklarını öğrenmeli ve önlemlerini almalıdır.Site ingilizcedir ancak temel bir çözüm önerisini sitemde yine sizler için paylaşacağım.Takip ederseniz faydalanırsınız.

Yapılabilecek en temel işlerden biri, verilmesine gerek olmayan ya da taşıdığı riske değmeyeceği düşünülen hizmetlerin sunucu süreçlerini çalıştırmamaktır. Sözgelimi, yerel ağda hiçbir NIS istemci makinası bulunmadığı halde bir bilgisayarın NIS sunucu sürecini çalıştırıyor olması gereksiz bir risk içerir.

Bazı sistem sorumluları, kullanıcı isimleri ve sistemde kimin çalıştığı gibi bilgileri dışarıya aktardığı için finger hizmetini tehlikeli bularak kapatırlar. Hizmetin engellenmesi için işletim sisteminin açılış dosyalarından

/etc/rc.d/rc.*

ilgili sunucuları çalıştıran satırlar (özellikle netstat ve systat) kaldırılmalıdır.Uzman değilseniz oynamadan bir bilene danışmanızı öneririm.

Bazı durumlarda, hizmeti bütünüyle kapatmaktansa, erişimi koşullara bağlamak daha anlamlı olabilir. Bu koşullar, hizmetin hangi makinalara, hangi kullanıcılara, hangi saatlerde verileceği ya da verilmeyeceği şeklinde belirtilebilir. Bu tip kısıtlamalar getiren programların en yaygın kullanılanları tcpwrapper ve xinetd paketleridir. Wietse Venema tarafından geliştirilen tcpwrapper, sunuculara erişimi bağlantı isteğinde bulunan makina ve kullanıcıya gore kısıtlayan ve bağlantı istekleriyle ilgili kayıtlar tutan bir pakettir.

Bu paket Linux’un Slackware dağıtımıyla birlikte gelmektedir.

Güvenliğin önem taşıdığı yerlerde giderek yaygınlaşan alev duvarı tekniği, yerel ağdaki bilgisayarların dışarıdaki ağa doğrudan erişimlerini kaldırmayı öngörür. Ağın yönlendiricisi, ağda güvenli çalıştığı bilinen yalnızca bir makinanın dışarıyla bağlantı kurmasına izin verir. Diğer bilgisayarlar dış ağa çıkmak için bu makinadaki süreçlere bağlanırlar.

Loglar Kayıt Tutulma İşlemleri

Güvenliğin en önemli parçalarından biri, sistemin sürekli izlenerek, güvenliğe aykırı durumlar oluşup oluşmadığının, oluştuysa bunların sorumlularının kimler olduğunun belirlenmesidir. Bunun için, güvenliği ilgilendirebilecek her türlü olayın kaydı tutulmalıdır. Şu tip bilgiler, güvenlik açısından değer taşırlar:

Başarısız veya başarılı olmuş sisteme giriş denemeleri
Nerelerden, hangi hizmetler için bağlantı istekleri geldiği
Hizmetler sırasında gerçekleşen dosya aktarımları

Linux’ta kayıt tutulması işini syslogd süreci görür. Hangi tür mesajların hangi dosyaya yazılacağı konfigürasyon dosyasında

/etc/syslog.conf

belirtilir. Genellikle makina ilk açıldığı zaman

/var/adm/messages

dizini altındaki messages, xferlog, syslog gibi dosyalara yazılan bu bilgileri isteğinize göre daha sistematik bir yapıda saklamak da mümkündür. Ağ ile ilgili hizmetleri denetleyen süreçler (tcpwrapper, xinetd gibi paketler) kayıt dosyalarına girmesini istedikleri bilgileri syslogd sürecine bildirirler.

Evet arkadaşlar bir makalemizin daha sonuna geldik umarım severek okumuşsunuzdur.Linux’ta güvenlik için giriş aşaması taşıyan bu makalemden sonra ayrıntılı servisler hakkında bilgiler vermeye çalışacağım. Bendeniz Bursa-Bilgisayar.com’dan Yunus Emre Talay Saygılar sevgiler hoşçakalın.

Related posts

415 thoughts on “Linux İşletim Sisteminde Güvenliğin Sağlanması

  1. Black fгioday sales Michael Kors oսtlet online Australis
    new lip glosses are perfect the champɑgne and coral ϲoloured
    one look a thousand bucks on.But sorry to say they come att
    exoгbitant prices. Eday deals chеap Miϲhaеl Kors handbags

  2. Current Affairs consists of all the recent events that have taken place
    around us, and which have had a strong impact on our
    ives. If you are of interest is Citrix virtualization, then 1Y0-A15 would definitely take you a step ahead in your career.
    One of them remarkably worthwhile certification is ORACLE 1Z0-876 test
    questions.

  3. Everyone loves it when people get together and
    share opinions. Great website, stick with it!

  4. Hi would you mind letting me know which hosting company you’re
    utilizing? I’ve loaded your blog in 3 different
    browsers and I must say this blog loads a lot faster then most.
    Can you recommend a good hosting provider at a reasonable price?
    Thanks, I appreciate it!

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

 Characters available