Bilginin Adresi Ana Sayfa
Forum Anasayfası Forum Anasayfası > Bilgisayar Güvenliği / Computer Security > Güvenlik / Security Makaleleri
  Aktif Konular Aktif Konular RSS - Lilo ve Grub İle Linux Sistemlerde Fiziksel Güvenliği Sağlamak
  SSS SSS  Forumu Ara   Events   Kayıt Ol Kayıt Ol  GiriÅŸ GiriÅŸ

Lilo ve Grub İle Linux Sistemlerde Fiziksel Güvenliği Sağlamak

 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: Lilo ve Grub İle Linux Sistemlerde Fiziksel Güvenliği Sağlamak
    Gönderim Zamanı: 23-08-2009 Saat 10:39

Lilo ve Grub kullanılan sistemlerde root parolasının başkaları tarafından değiştirilmesini önlemek için nasıl önlemler alabileceğimizi kısaca aktaracağız. Bu sayede, çalıştığımız firmadaki arkadaşlarımız şaka yapması veya 3. şahısların Linux bilgisayarımıza girip oynamasına karşı, bir ölçüdede olsa önlem almış olacağız.

Linux”un Türkiyede artan bir şekilde popüler hale gelmesi ile birlikte, birçok linux kullanıcısının aklına değişik şekilde güvenlik soruları takılmakta. Bazıları internette bulduğu belgeler sayesinde, bazılarıda uzmanlar vasıtasıyla kendi Linux sistemlerine ellerinden geldikçe ve kendi imkanları dahilinde güvenlik çözümleri uyguluyor. Fakat, çeşitli yazılım/program kaynaklarından meydana gelen güvenlik problemlerinin dışında, birçok insanın gözden kaçırdığı bir güvenlik eksikliği daha var. Buda Fiziksel Güvenlik.


Şimdi biz bu yazımızda fiziksel olarak güvenliğin, yani “single modus” olarak bilinen (init 1 olarakda tanımlanabilir) *NIX sistemlerde tek kullanıcılı modusuna karşı alınabilecek önlemler hakkında kısaca bilgi vermeye çalışacağız.

Tek kullanıcılı modu kullanabilmek için gerekli olan tekşey, hiçbir önlemi alınmamış ve detaylı ayarı yapılmamış olan “Boot Loader” (açılış yükleyiciler) kullanarak Linux kurulu bilgisiyara root olarak giriş yapabilmektir. Tabiki bu olay, internetten gelebilecek bir saldırı olarak alğılanmamalıdır. Bu saldırıyı yapacak olan, bir işyerindeki kendi iş arkadaşımız veya fiziksel olarak linux bilgisayar ile temasa geçebilen herkes olarak tanımlanabilir. Bilgisayarın karşısına geçen herhangi bir şahıs, tek kullanıcılı moda geçerek, sizin haberiniz olmadan root şifresini değiştirebilir veya sisteme herhangi bir kullanıcı ekleyebilir. Hatta bilgisayarınızda eğer varsa birçok gizli bilgilere erişebileceği gibi, bu bilgilere zararda verebilir.

Peki, tek kullanıcılı modus nasıl başlar?


Aslında çok basit. Mesela diyelim LILO kullanıyorsunuz. Bilgisayarı ilk açtığınızda, karşınıza çıkan Lilo seçim menüsünden CTRL + X tuşlarına basarak, Lilonun TEXT ekranda başlamasını kolayca sağlarsınız. İşte ordaki komut satırına “linux single” yazarak, bu modusda sistemin açılmasını sağlarsınız:

boot: linux single

Esasında bu modus, root kullanıcısı için bir çeşit ilk yardım modusu olarak düşünülmüştür. Minimal olarak yüklenen bu modusda birçok servis çalışmaz ve bu modusa root olarak otomatikman giriş yaparsınız. Bu modusda tamamen root hakları ile çalıştığınız için, artık sistem tamamen sizin kontrolünüz altında olacaktır. Bundan sonra root ile neler yapılabileceğini detaylı olarak anlatmaya gerek yok sanırım.

Genelde, böyle fiziksel saldırılara maruz kalan sistemler halka açık olan sistemlerdir. İnternet cafeler, küçük işletmelerdeki bilgisayarlar butür saldırılara ençok maruz kalan bilgisayarlardır. Eğer sisteminize giren belirli sayıda kullanıcı varsa ve bunlar güvendiğiniz insanlar ise sanırım böyle bir kaygı taşımanıza gerek yok. Tabi her türlü güvenlikten zarar gelmez fikrini savunuyorsanız, evdeki küçük kardeşinize karşı bile önlem almanız gerektiğinide unutmayın.

Şimdi diyeceksinizki, neden BIOS”a şifre felan koyup engellemiyoruz veya böyle bir imkanımız yokmu ? Teori olarak evet.. Olabilir. Ancak BIOS üretici firmaları, atanan şifrelerin unutulması karşısında, MASTER PASSWORD adını verdikleri parolalar koymuşlar. Bu Master Passwort”ları değiştirmeniz imkansız. İnternette birçok adresden bu Passwortların ne olduğunu öğrenebilirsiniz. Yani BIOS şifrelenmeside kesin ve kalıcı bir çözüm olmuyor demekki. Kötü niyetli birisi bu parolaları internetten öğrenip gene size zarar verebilir.

BIOS üzerinden yapılacak en akıllıca ayar (bence), “Bootsequence” bölümü olarak sadece “C” tanımlaması, yani devamlı olarak Harddisk üzerinden boot etmesini sağlamak. Bu sayede bir nebzede olsa saldırganın işini engellemiş olursunuz. Çünkü bir A:\ sürücüsü veya CDROM takıp boot etmesini bu durumda biraz zorlaşacaktır ama imkansız değildir.
[değiştir]

Ayarlar

Şuan linux sistemlerde kullanılan iki popüler açılış yöneticisi bulunmakta. Şimdi kısaca bu iki açılış yöneticisinde hangi işlemleri yaparak, sisteminize girenlerden nasıl parola talep edebileceğinizi anlatacağız. Bu sayede, sadece bu şifreyi bilen kişilerin sisteminizi boot etmesini sağlayabilirsiniz.[değiştir]
 
GRUB Ayarları
 

Bundan sonraki bütün ayarları root olarak yapacağımız için, nasıl root olacaksınız veya root iken yapılan bir hatadan geriye dönüş olmadığını hatırlatmama gerek yok sanırım.

İlk önce grub için kendimize bir parola oluşturalım. /sbin/grub-md5-crypt komutunu girdikten sonra bizden kullanmak istediğimiz parolayı isteyecek, mesela erkan70 olarak giriş yaptığımızı farzedelim. Daha sonra bunun md5 olarak şifrelenmiş halde ekranda bir çıktısını alırsınız. İşte bize lazım olacak olan bu garip garip görünen şekiller ve bunu ASLA YANLIŞ
 
YAZMIYORSUNUZ. Yoksa sisteme girmeyi birdaha unutabilirsiniz.:
 

# /sbin/grub-md5-crypt
Password:
$1$Zo25d/$I1HusFuQ7F6ZC2klLTybJ/
Sonra root hakları ile grub ayar dosyası olan /boot/grub/grub.conf dosyasını herhangi bir editor ile açıyoruz. Ve timeout yazan satırı bulup hemen altına aşağısına password –md5 SIFRE satırlarını ekliyoruz:
splashimage=(hd0,4)/boot/grub/splash.xpm.gz
default=0
timeout=10
#######
password –md5 $1$Zo25d/$I1HusFuQ7F6ZC2klLTybJ/
#######
title Red Hat Linux (2.6)
root (hd0,4)
kernel /boot/vmlinuz-2.6 ro root=/dev/hda5
initrd /boot/initrd-2.6.img
Daha sonra dosyamızı hafızaya alıp çıkıyoruz. Yapılan değişikliklerin kaydolması için grub-install komutunu veriyoruz:
# grub-install /dev/hda
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install”.
#
# this device map was generated by anaconda
(fd0) /dev/fd0
(hd0) /dev/hda
 

Hepsi bu kadar. Artık bilgisayarınızı yeniden başlattığınızda, eğer single modus ile çalışmak isterseniz, GRUB ilk önce sizden “p” tuşuna basıp, sonra doğru şifreyi (md5 işe şifrelenmiş olanı, yani erkan70 parolasını) girmeden size editor ve komut satırının kullanım hakkını vermeyecektir. Yani zarar vermek isteyen birisinini SINGLE modusa geçmesi için bu parolayı bilmesi gereklidir. Aksi taktirde SINGLE modus çalışmaz ve normal boot işlemleri yapılır. Yani PC normal bir şekilde boot eder, ki burdada gene ya user yada root parolasını vermek zorundasınız. Root parolası bilinmiyorsa zaten sisteme root olarak giremezsiniz, o halde korkulacak bir durum yoktur..

Yalnız burda gene bir güvenlik açığı söz konusu olabilir. Yani
cat /boot/grub/grub.conf
komutu ile felan yaramaz insanların aklına ayar dosyasındaki MD5 ile şifrelenmiş olan dosyayı alıp, deşifre etme fikri gelebilir. Ve doğrudurda. Çok basit bir işlem ile md5 ile şifrelenmiş şifreyi normal text olarak görme imkanları vardır. Bu yüzden bu dosyanın erişim haklarını sadece ROOT kullanıcısına devretmekte çok büyük önem vardır. Bunu gerçekleştirmek için ise aşağıdaki basit komutu vermek ve root harici kullanıcılara bütün erişim hakları kapatmak sanırım en mantıklı yol olacaktır:
 

# chmod 600 /boot/grub/grub.conf
 

Peki şimdi hemen aklımıza şöyle bir soru gelebilir:- İyi güzel. Linux dan SINGLE modus açılmasını kapattım. Bana zarar vermek isteyen bu kişi peki diğer OS lerimi açmaya kalkarsa ve onlara zarar vermek isterse ne olacak ?
Ok. Sorun değil. Eğer gerekirse diğer OS lerimizin korumasınıda bu yöntem ile yapabiliriz. Mesela sistemimizde birde Windows olduğunu farz edelim. Yapmamız gereken “title” satırından sonra “lock” satırını eklemek yeterli olacaktır. Bu sayede boot edilmek istenen OS içinde bir parola verilmesi gerekmektedir:

title Win2K
#######
lock
#######
rootnoverify (hd0,1)
chainloader +1

Peki ben Windows için ayrı bir passwort vermek istiyorsam ? diye soran olursa oda sorun değil. Tek yapmanız gereken MD5 ile ürettiğiniz bu yeni şifreyi “lock” satırından sonra aynen yukarda Linux için yaptığımız şekilde eklemek:

title Win2K
#######
lock
password –md5 $1$pbK5d/$2DC/UUKF4nyuwU6WWsHsT0
#######
rootnoverify (hd0,1)
chainloader +1
[değiştir]
Örnek Bir grub.conf Dosyası
default=0
timeout=10
splashimage=(hd0,4)/boot/grub/splash.xpm.gz
#Burda şifrem “erkan70″
password –md5 $1$Zo25d/$I1HusFuQ7F6ZC2klLTybJ/

title Red Hat Linux (2.6)
root (hd0,4)
kernel /boot/vmlinuz-2.6 ro root=/dev/hda5
initrd /boot/initrd-2.6.img

title Win2K
#######
lock
#Burda şifrem “erkan”
password –md5 $1$pbK5d/$2DC/UUKF4nyuwU6WWsHsT0
#######
rootnoverify (hd0,1)
chainloader +1

Uyarı: GRUB hakkında diğer detaylı bilgiler için grub ana web sayfasına göz atmak yararlı olacaktır.

[değiştir]


Lilo Ayarları
 

Lilo, Grub”dan daha basit bir yapıya sahip olan açılış yöneticisidir. Çekirdek yüklenmeden komut satırına geçiş izni vermez. Fakat bu, bize zarar verecek olan kişinin bize zarar veremeyeceği veya SINGLE modusa geçişini engeller anlamı taşımaz.

Single modus”a geçişi önlemek için yapmamız gereken, lilo.conf dosyasındaki birinci “image xxxxxxxxx” satırından önce “pasword=şifrem” ve “restricted” satırlarını eklemek yeterli olacaktır. Bunların anlamı kısaca şöyledir:

password=şifrem
Bu satır boot esnasında herhalukarda şifre sorulmasını sağlar. Doğru şifre girilmeden boot edemezsiniz.
restricted
Ek olarak bir Boot parametresi verildiği anda (örn: init=/bin/bash ) parola sorulmasını sağlar.

Root olarak /etc/lilo.conf dosyasını herhangi bir editor ile açıyoruz ve aşağıdaki gibi düzenliyoruz:
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32
################
password=erkan70
restricted
################
image=/boot/vmlinuz2.6
label=linux
initrd=/boot/initrd-2.6
read-only
root=/dev/hda5


Görüldüğü gibi, yukardaki gibi basit bir işlem ile, bilgiyasarımızın single modusuna sızıp root parolasını değiştirmek isteyenlere karşı, ufakda olsa bir önlem almış olduk. Kullandığımız şifre (erkan70) görüldüğü gibi MD5 ile şifrelemenize gerek yok. Text olarak verebilirsiniz. Aslında Grub”dada yok ama biz öyle kolay olmasın diye, hırsıza davet çıkarmamak için vede işini biraz zorlaştırmak için MD5 ile şifreli olma yolunu anlattık.

lilo.conf dosyasına verilen bu şifrelin digerleri tarafından görülmemesi için bütün erişim haklarını, aynen Grub”da olduğu gibi root kullanıcısına devredelim:

# chmod 600 /etc/lilo.conf

Bu sayede root kullanıcısından başka kimse bu dosya ile oynama yapamaz.
Eğer, şifre ile birlikte ayrı bir bölümün boot edilmesini engellemek ve boot edilmeden önce parola sorulmasını istiyorsanız, yapmanız gerekenler gene çok basit. O bölümün bulunduğu yere “password=şifrem” satırını eklemek yeterli olacaktır:

image=/boot/vmlinuz-2.6
password=erkan
label=linux
initrd=/boot/initrd-2.6.img
read-only
root=/dev/hda5
Tabi yukardaki satırlarda da başka bir boot parametresi verilmesini istemiyorsanız “password=erkan” satırının hemen altına “restricted” satırını ilave edebilirsiniz.

Uyarı: ilo.conf dosyasında yaptığınız her değişiklikten sonra, yapılan değişikliklerin aktif hale gelmesi için, root olarak “lilo” komutunu vermeyi unutmayın.
[değiştir]
Örnek Bir lilo.conf dosyası
prompt
timeout=50
default=linux
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
message=/boot/message
lba32
################
password=erkan70
restricted
################
image=/boot/vmlinuz-2.6
label=linux
initrd=/boot/initrd-2.6.img
read-only
root=/dev/hda5
#
#SuSE açılırken password istiyorum
image=/boot/vmlinuz-2.6
password=erkan
label=SuSE
read-only
root=/dev/hda7
[değiştir]


Birkaç İpucu
 

İster Lilo kullanın isterse Grub, sonuçda bunlar bir defalık ayarlama yapılacak olan işlemlerdir. Bir defa ayarlama yaptıktan sonra bu dosyaları kilitlemek ve kapalı kapılar ardında tutmakta bence çok büyük fayda var. Bunun için ise en basit komut, chattr komutudur. Detaylar için man chattr komutunu verip inceleyin.

chattr +i /etc/lilo.conf
veya
chattr +i /boot/grub/grub.conf
chattr +i

`i” özellik bilgisi bulunan bir dosya değiştirilemez. Bu dosya silinemez,
ismi değiştirilemez, bu dosyaya bağlantı yaratılamaz ve dosyaya hiç bir veri yazılamaz.

Sadece yetkili kullanıcının bu özellik bilgisini değiştirmeye yetkisi vardır.
(Değiştirmek için chattr -i komutu yeterlidir)

Diğer önemli nokta ise, verilecek olan şifrelerin basit harfler ve sayılardan oluşmamasına dikkat etmektir.

Saygılar..

 


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

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



Bu Sayfa 0.150 Saniyede Yüklendi.