Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliği / Computer Security > Güvenlik / Security Makaleleri
  Aktif Konular Aktif Konular RSS - Linux da Çekirdek Güvenliği
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Linux da Çekirdek Güvenliği

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
megabros Açılır Kutu Gör
Security Professional
Security Professional
Simge

Kayıt Tarihi: 08-06-2009
Konum: Turkey
Status: Aktif DeÄŸil
Points: 752
Mesaj Seçenekleri Mesaj Seçenekleri   Thanks (0) Thanks(0)   Alıntı megabros Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Linux da Çekirdek Güvenliği
    Gönderim Zamanı: 23-08-2009 Saat 12:16

Çekirdek, bilgisayarınızın ağını denetim altında tuttuğu için, çok güvenli olması ve bozulmaması önemli. En yeni ağ saldırılarını engellemek için, çekirdek sürümünüzü güncel tutmaya çalışmalısınız.

Çekirdeklerinizi ftp://ftp.kernel.org/ adresinden, veya dağıtıcınızdan bulabilirsiniz.


Ana Linux çekirdeğine, birleştirilmiş bir şifre yaması sağlayan uluslararası bir grup var. Bu yama, dışsatım kısıtlamaları yüzünden ana çekirdeğe dahil edilemeyen şeyler ve bazı şifreliyazımsal alt sistemler için destek sağlıyor. Daha fazla bilgi için:

http://www.kernel.org/

2.0 Çekirdek Derleme Seçenekleri

2.0.x çekirdekleri için izleyen seçenekler geçerlidir. Bu seçenekleri çekirdek yapılandırma işlemi sırasında görürsünüz. Burdaki yorumların çoğu ./linux/Documentation/Configure.help belgesinden, aynı belge çekirdeğin make config aşamasında Help (Yardım) kısmında da kullanılıyor.

• Ağ Ateşduvarları (CONFIG_FIREWALL)


Bu seçenek, eğer Linux makinenizde ateşduvarı kullanacaksanız, veya maskeleme yapacaksanız açık olmalı. Eğer sıradan bir istemci makine olacaksa, kapata da bilirsiniz.

• IP: yönlendirme/ağ geçidi (CONFIG_IP_FORWARD)

IP yönlendirmesini açarsanız, Linux kutunuz bir yöneltici haline gelir. Eğer makineniz ağ üzerinde ise, bir ağdan diğerine veri yönlendiriyor olabilirsiniz, belki de bunun olmasını engelleyen bir ateşduvarını devre dışı bırakarak. Normal çevirmeli ağ kullanıcıları bunu kapatmak isteyecektir, diğer kullanıcılar ise bunun güvenlik yan etkileri üzerinde düşünmelidir. Ateşduvarı görevi yapacak makineler bu seçeneğin açık olmasını, ve ateşduvarı yazılımıyla uyum içinde kullanılmasını gerektirir.

IP yönlendirmeyi şu komutu kullanarak dinamik şekilde açabilir:

root# echo 1 > /proc/sys/net/ipv4/ip_forward

şu komutu kullanarak da kapatabilirsiniz:

root# echo 0 > /proc/sys/net/ipv4/ip_forward

/proc dizini içindeki dosyaların “sanal” dosyalar olduğunu ve gösterilen boyutun dosyadan alınabilecek veri miktarını yansıtmadığını aklınızdan çıkarmayın.

• IP: syn kurabiyeleri (CONFIG_SYN_COOKIES)

“SYN Saldırısı”, makinenizdeki tüm kaynakları tüketen bir servis reddi (DoS) saldırısıdır, sistemi yeniden başlatmak zorunda kalırsınız. Normal olarak bu seçeneği açmamanızı gerektirecek bir sebep düşünemiyoruz. 2.2.x çekirdek serisinde bu yapılandırma seçeneği “syn kurabiye”lerini açmaya izin verir, fakat onları açmaz.

Açmak için aşağıdaki komutu kullanmalısınız:

root# echo 1 > /proc/sys/net/ipv4/tcp_syncookies

• IP: Ateşduvarı (CONFIG_IP_FIREWALL)


Makinenizi bir ateşduvarı olarak yapılandıracaksanız, veya maskeleme yapacaksanız, veya PPP çevirmeli ağ arabirimini kullanarak çevirmeli ağ iş istasyonunuza birinin girmesine engel olmak istiyorsanız bu seçeneği açmanız gerekir.

• IP: Ateşduvarı paket günlüğü (CONFIG_IP_FIREWALL_VERBOSE)


Bu seçenek ateşduvarınızın paketler hakkında aldığı gönderici, alıcı, port gibi bilgileri verir.

• IP: Kaynaktan yönlendirilen çerçeveyi düşür

(CONFIG_IP_NOSR)
Bu seçenek etkinleştirilmelidir. Kaynaktan yönlendirilen çerçeveler, gidecekleri yeri paketin içinde bulundurur. Bu, paketin içinden geçtiği yöneltici tarafından incelenmemesi, ve sadece yönlendirmesi anlamına gelir. Bu, potansiyel açıklardan yararlanmak isteyen verinin sisteminize girebilmesine olanak tanıyabilir.

• IP: Maskeleme (CONFIG_IP_MASQUERADE)

 Linux’unuzun ateşduvarı rolünü üstlendiği yerel ağınızdaki bilgisayarlardan biri dışarı bir şey göndermek isterse, Linux’unuz kendini o bilgisayar olarak “maskeleyebilir”, yani trafiği istenen hedefe göndererek, kendisinden geliyormuş gibi görünmesini sağlayabilir.Daha fazla bilgi için http://www.indyramp.com/masq adresindeki IP Maskeleme NASIL belgesine göz atın.

• IP: daima parçala (CONFIG_IP_ALWAYS_DEFRAG)


Genellikle bu seçenek kapalı durumdadır, fakat bir ateşduvarı veya maskeleyen bir bilgisayar oluşturuyorsanız, etkin hale getirmek isteyeceksiniz. Veri bir bilgisayardan diğerine giderken, her zaman tek bir paket halinde değil, bir kaç parçaya ayrılarak gönderilir. Burdaki sorun birinin kalan paketlere orda olması beklenmeyen bazı bilgileri sokmasıdır. Bu seçenek ayrıca, gözyaşı saldırısına karşı yama uygulanmamış içerdeki bir bilgisayara yapılan bu saldırıyı da engelleyebilir.

• Paket İmzaları (CONFIG_NCPFS_PACKET_SIGNING)


Bu, 2.2.x çekirdek dizisinde yer alan ve daha güçlü güvenlik için NCP paketlerinin imzalanmasını sağlayan bir seçenektir. Olağan durumlarda kapalı bırakabilirsiniz, ama gereksinim duyarsanız orda
duruyor.

• IP: Ateşduvarı paket ağbağlantısı cihazı

(CONFIG_IP_FIREWALL_NETLINK)

Bu, bir paketin meşruluk durumuna bakarak kabul edilip edilmeyeceğini belirlemek amacıyla, kullanıcı uzayında çalışan herhangi bir programındaki paketlerin ilk 128 baytını inceleyebilmenizi sağlayan etkileyi bir seçenektir.

Çekirdek Derleme Seçenekleri

2.2.x çekirdekleri için, seçeneklerin çoğu aynı, fakat yeni bir kaç seçenek daha var. Buradaki açıklamaların çoğu, çekirdeği derlerkenki make config aşamasında kullanılan Yardım bölümünün referans aldığı ./linux/Documentation/Configure.help belgesiyle aynıdır
(Ç.N.: Çekirdek kaynak dosyaları genelde /usr/src/linux altında bulunur, make config komutu da bu dizine girdikten sonra verilir. Bahsedilen dosya da make config komutunun verildiği dizine göre genelde ./Documentation/Configure.help altındadır)
Gereken seçeneklerin bir listesi için 2.0 açıklamalarına başvurun. 2.2 çekirdekteki en anlamlı değişiklir IP ateşduvarı kodudur. Artık ateşduvarı oluşturmak için, 2.0 çekirdeğindeki ipfwadm programının yerine ipchains programı kullanılıyor.


(Ç.N.: 2.4 çekirdek sürümünden itibaren artık bu iki programın yerine iptables kullanılmaktadır).

• Soket Süzümü (CONFIG_FILTER)


Çoğu insan için bu seçeneğe hayır demek güvenlidir. Bu seçenek, tüm soketlere kullanıcı uzayında bir süzgeci bağlamanızı, ve bu yolla paketlerin geçişine izin verilip verilmeyeceğini belirlemenizi sağlar. Çok özel bir gereksinim duyuyor olmadıkça ve böyle bir süzgeç programlayabilir bilgiye sahip olmadıkça hayır demelisiniz. Ayrıca bu belgenin yazılışı sırasında (Ç.N.: Özgün İngilizce belgenin) TCP dışındaki tüm protokoller destekleniyordu.

• Port Yönlendirme


Port Yönlendirme, ateşduvarındaki belirli portlarda, dışarı giden veya içeri gelen paketlerde bazı yönlendirmelerin yapılabilmesini sağlar. Bu, örneğin bir WWW sunucusunu ateşduvarının veya maskeleme bilgisisayarının arkasında çalıştıracağınız halde o WWW sunucusunun dış dünyadan ulaşılabilir durumda olması gerektiği durumlarda yararlıdır. Bir dış istemci ateşduvarının 80. portuna bir istek yollar, ateşduvarı bu isteği WWW sunucusuna yönlendirir, WWW sunucusu istekle ilgilenir ve sonuçları ateşduvarının üstünden tekrar özgün istemciye gönderir. İstemci ateşduvarının kendisinin WWW sunucusu olarak çalıştığını düşünür. Bu, eğer ateşduvarının arkasında bir WWW sunucu çiftliği bulunduruyorsanız, yük dengelemede de kullanılabilir. Bu özellik hakkında daha fazla bilgiyi http://www.monmouth.demon.co.uk/ipsubs/portforwarding.html adresinden bulabilirsiniz. Genel bilgi için ftp://ftp.compsoc.net/users/steve/ipportfw/linux21/ adresine göz atın.

• Soket Süzümü (CONFIG_FILTER)


Bu seçeneği kullanarak, kullanıcı uzayındaki programları tüm soketlere bir süzgeç ekleyebilir, dolayısıyla çekirdeğe belirli tipteki verinin soket içinden geçip geçemeyeceğini bildirebilir. Linux soket süzümü şimdilik TCP dışındaki tüm soket tiplerinde çalışıyor. Daha fazla bilgi için ./linux/Documentation/networking/filter.txt adresine göz atın.

• IP: Maskeleme


2.2 çekirdek maskeleme geliştirilmiş durumda. Özel protokollerin maskelenmesi için ek destek sağlıyor vb. Daha fazla bilgi için IP Chains NASIL belgesine göz atın.

7.3 Çekirdek Cihazları

Linux üzerinde güvenlik konusunda yardımcı olabilecek bir kaç blok ve karakter cihazlar mevcuttur.

Çekirdek tarafından /dev/random ve /dev/urandom cihazları, rastgele veri sağlama amacını taşır.

Hem /dev/random hem de /dev/urandom, PGP anahtarlarının üretilmesinde, ssh bağlantılarında, ve rastgele sayıların gerektiği diğer uygulamalarda kullanılmak için yeteri kadar güvenli olmalıdır. Verilen herhangi bu kaynaklardan çıkan herhangi bir sayı dizisi için saldırganlar bir sonraki sayıyı tahmin edememeli. Bu kaynaklardan elde edilen verinin kelimenin tam anlamıyla rastgele olması için çok fazla çaba ortaya konmuştur.

Bu iki cihaz arasındaki tek fark, /dev/random cihazının elindeki rastgele baytların tükenmesi, ve yenileri toplanması için beklemek zorunda oluşunuzdur. Yani kullanıcı tarafından üretilen entropinin sisteme girmesi için beklemesi durumunda uzun bir süre çalışması durabilir.
 
Dolayısıyla /dev/random’ı kullanırken dikkatli olmak zorundasınız (Belki de yapılacak en iyi şey bu cihazı hassas anahtarlama bilgisini üretirken kullanmak, ve kullanıcıya “Tamam, yeterli” denilene kadar klavyesindeki tuşlara rastgele basmasını söylemektir)

/dev/random yüksek kalitede entropi sağlar, kesmeler arasındaki farklı zamanları ölçme vb. şeylerden elde edilir. Yeterli bitte rastgele veri var olana kadar çalışması durur.


/dev/urandom benzeri bir cihazdır, fakat depolanmış entropi azalmaya başladığında, olan kadarının, güçlü bir şifreliyazımsal hash değerini döndürür. Bu, rastgele veri kadar güvenli olmasa da çoğu uygulama için yeterli derecede güvenlidir.

Bu cihazlardan okuma yapmak için aşağıdaki gibi bir şey kullanabilirsiniz:

root# head -c 6 /dev/urandom | mimencode

Bu, konsola sekiz rastgele karakter yazar, örneğin parola üretimi için kullanılabilir. mimencode programını metamail paketi içinde bulabilirsiniz.
Algoritmanın açıklaması için /usr/src/linux/drivers/char/random.c ye göz atın.

Saygılar..

 


Düzenleyen megabros - 23-08-2009 Saat 12:25
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu Gör



Bu Sayfa 0.157 Saniyede Yüklendi.