|
|
-
Şöyle bir göz atılması gereken sonraki konu, yerel kullanıcılardan gelen
saldırılara karşı sistem güvenliğiniz konusu. Kullanıcıların
yerel olduğunu söyledik mi? Evet!
-
Sistem saldırganlarının root hesabına giden yollarındaki ilk şeylerden
bir tanesi yerel bir kullanıcı hesabına erişim elde etmektir. Bu
saldırganlar, gevşek bir yerel güvenlik ile, kötü ayarlı bir yerel
servis veya çeşitli "böceklerden"
[6]
yararlanarak, normal kullanıcı erişimlerini root erişimine "terfi ettirir".
Eğer yerel güvenliğinizin sıkı olduğundan emin olursanız, saldırganın
üzerinden atlaması gereken başka bir çit daha oluşturmuş olursunuz.
-
Yerel kullanıcılar, gerçekten söyledikleri kişi oldukları durumda bile
sistem üzerinde fazlaca kargaşa yaratabilir.
[7]
Tanımadığınız insanlara, veya iletişim bilgilerine sahip olmadığınız birine
hesap açmak, gerçekten çok kötü bir fikirdir.
-
Kullanıcı hesaplarının, kullanıcıların yapması zorunlu işler için asgari
gereklerini karşılayacak şekilde açıldığından emin olmalısınız. Eğer
(10 yaşındaki) oğlunuza bir hesap açarsanız, erişiminin bir kelime
işlemci ya da çizim programıyla sınırlı olmasını, ve kendisinin olmayan
veriyi silme yetkisinin olmamasını isteyebilirsiniz.
-
Diğer kullanıcıların Linux makinenize meşru bir erişim sağlamasına izin
verirken esas olarak alınabilecek bazı kurallar:
-
-
Onlara, gereksinim duydukları en az yetkiyi verin.
-
Ne zaman ve nereden sisteme giriş yaptıklarına, ya da yapmaları
gerektiğine dikkat edin.
-
Kullanılmayan hesapların kapandığından emin olun.
-
Bütün bilgisayar ve ağlarda aynı kullanıcı isminin kullanılması,
hesabın bakımını kolaylaştırması, ve günlük verisinin daha kolay
çözümlenmesi açısından tavsiye edilir.
-
Grup kullanıcı kimliklerinin yaratılması mutlak surette
yasaklanmalıdır. Kullanıcı hesapları sorumluluk mekanizması da
sağlar, ve bu birden fazla kişinin kullandığı grup hesaplarıyla
mümkün değildir.
-
Güvenlik ihlallerinde kullanılan bir çok yerel kullanıcı hesabı,
aylardır hata yıllardır kullanılmayanlardır. Kimse onları kullanmadığı
için, ideal bir saldırı aracıdırlar.
-
Makinenizdeki, peşinden en fazla koşulan hesap root (üstün kullanıcı)
hesabıdır. Bu hesap bütün makine üzerinde yetki sağlamasının yanı sıra,
ağdaki diğer makineler üzerinde de yetki sağlıyor durumda olması mümkündür.
Unutmayın ki root hesabını, sadece özel işler için ve çok kısa süreliğine
kullanmalısınız, geri kalan zamanlarda normal kullanıcı olarak işlerinizi
yürütmelisiniz. Root kullanıcısı olarak sisteme giriş yaptığınızda,
yaptığınız küçük hatalar dahi sorunlara yol açabilir. Root hesabıyla
ne kadar az zaman harcarsanız, o kadar güvende olursunuz.
-
Diğer kullanıcıların Linux makinenize meşru bir erişim sağlamasına izin
verirken esas olarak alınabilecek bazı kurallar:
-
Karmaşık bir komut kullanırken, komutu ilk önce yıkıcı olmayan
başka bir şekilde kullanmayı deneyin... Özellikle komutun geniş
çaplı kullanımında... Örneğin rm foo*.bak yapmak
istiyorsanız, önce ls foo*.bak komutunu
kullanarak, silmek üzere olduğunuz dosyaların, silmeyi düşündüğünüz
dosyalar olduğundan emin olun. Bu tür tehlikeli komutların
kullanımında, komutlar yerine echo kullanmak da
zaman zaman işe yarayabilir.
-
Kullanıcılarınıza, rm komutunun, dosyaları
silmeden önce onay almasını sağlayacak, varsayılan bir takma
ismini[8] oluşturun.
-
Sadece belirli, tek bir işi yapmanız gerektiği zamanlarda root olun.
Eğer kendinizi bir şeyin nasıl yapıldığını tahmin etmeye çalışırken
bulursanız, normal kullanıcı hesabınıza geri dönüp, root tarafından
neyin yapılacağından emin olmadan önce root
kullanıcısına dönmeyin.
-
Root için komut yolu tanımı çok önemli. Komut yolu (yani
PATH çevre değişkeni), girdiğiniz herhangi bir
komut ya da programın hangi dizinlerde aranacağını belirtir. Root
kullanıcısı için komut yolunu olabildiğince sınırlandırmaya çalışın,
ve asla
. dizinini eklemeyin
("geçerli dizin" anlamına gelir[9]).
Ek olarak, komut yolunuzda, yazılabilen dizinler
bulundurmayın, çünkü bu saldırganların bu dizinler içine, bir
sonraki sefer kullandığınızda root erişim izniyle çalışacak olan
yeni çalıştırılabilir dosyalar koyabilmesi anlamına gelir.
-
Asla rlogin/rsh/rexec araçlarını (r-araçları olarak adlandırılırlar)
root olarak kullanmayın. Çünkü bunlar, çok çeşitli saldırılara açık
komutlardır, dolayısıyla root olarak çalıştırıldıklarında çok daha
tehlikeli hale gelirler. Asla root için .rhosts
[10]
dosyası oluşturmayın.
-
/etc/securetty dosyası, root olarak giriş
yapılabilecek terminalleri belirtir. Bu dosyanın varsayılan
ayarları (Red Hat Linux'ta) yerel sanal konsollardır[11].
Bu dosyaya herhangi bir şey eklerken çok tedbirli olun. Root
olmanız gerektiğinde uzaktan normal bir kullanıcı hesabına
(ssh veya diğer şifrelenmiş bir yolla) giriş yapıp su
komutuyla root olabilirsiniz. Dolayısıyla doğrudan root olarak
giriş yapabilmeye gereksiniminiz yoktur.
-
Root'u kullanırken daima yavaş ve temkinli davranın.
Davranışlarınız bir çok şeyi etkileyebilir. Tuşlara dokunmadan önce
düşünün!
-
Eğer birine (umarız güvenilir biridir), mutlak surette root hesabını
kullanması için izin vermeniz gerekiyorsa, yardımcı olabilecek bir
kaç araç var. sudo, kullanıcıların, parolalarını
kullanarak sınırlı sayıda komutu root olarak çalıştırmalarına izin
verir. Bu, örneğin, bir kullanıcının, ayrılabilir medyanın (Ç.N.:
Örneğin CDROM) bağlanması veya çıkarılması işini, diğer root
yetkilerini kullanamadan yapabilmesi anlamına gelebilir.
sudo aynı zamanda, başarılı ve başarısız
sudo denemelerinin bir günlüğünü tutar, bu şekilde
kimin ne yapmak için bu komutu kullandığını izlemeniz mümkün hale
gelir. Bu sebeple sudo, birden fazla kişinin root
erişimi olduğu yerlerde bile iyi bir iş yapar, çünkü değişikliklerin
takip edilmesinde yardım etmiş olur.
-
sudo belirli kullanıcılara belirli yetkiler vermekte
yararlı olmasına rağmen, bazı eksiklikleri vardır. Sadece sınırlı bir
takım işlerde kullanılmak zorundadır, örneğin bir sunucuyu yeniden
başlatmak, veya yeni kullanıcılar eklemek gibi. sudo
ile çalıştırılan, ve kabuğa çıkmaya izin veren her program, sisteme root
erişimi sağlamış olur. Buna örnek olarak bir çok metin düzenleyici
gösterilebilir. Ayrıca, /bin/cat kadar zararsız bir
program bile, dosyaların üzerine yazmakta, ve root erişimi sağlamakta
kullanılabilir. sudo programını, yapılan işten kimin
sorumlu olduğunun izlenilmesi için kullanılan bir programmış gibi düşünün,
ve hem root kullanıcısının yerine geçmesini hem de güvenli olmasını
beklemeyin.
|