Editor Login | Register
Ekle

> Bilgisayar > Linux
tmp güvenliği - Linux - Bilgisayar -
Security Experts
(Date : 15.04.2008 16:09:02)


tmp güvenliği

tmp dizini geçici dosyaların yazıldığı bir dizindir biizm yapıcaklarımız dosyaların yazılmasını engellemiyecek fakat icra yetkisini önleyecektir.Yani kısaca saldırgan ruhlu insan gene exploitini ,bindshelini yada ne indiriyorsa gene tmp dizininize indirebilecek ama onu çalıştıramıyacaktır

hemen başlıyalım

ideal olanı sistem kurulurken bir partion u tmp ye ayırmaktır ama burada yapacağımızda sistemi reboot filan etmeye gerek kalmadan olucaktır fiziksel olarak formatlamıyacağız diski işleme başlıyoruz
öncelikle 200 mb lik bir dosya oluşturuyorum bu dosya boyutu tmp dizininin boyutu olacaktır
bu işlemleri yapabilmek için root yetkiniz olmalıdır
dev dizinine geçiyoruz öncelikle
 
Kod:      
cd  dev     

daha sonra dosyamızı oluşturuyoruz 200 mb boyutunda
 
Kod:      
 dd if=/dev/zero of=tmpdir bs=1024 count=200000     

burada count un karşısındaki 200000 boyutunu göstermektedir isteğinize göre değiştirin bunu
daha sonra tmpMnt dosyamız için extended dosya sistemimizi oluşturuyoruz aşağıdkai komutu vererek
 
Kod:      
 mke2fs /dev/tmpMnt     

size şu hatayı vericektir
/dev/tmpMnt is not a block special device
Proceed, anyway? (y,n)
siz burada yes i işaretleyip devam ediyorsunuz
ve dosya sistemimizde oluşturuldu

şimdi tmp dizinimiizn yedeğini alıyoruz

 
Kod:      
cp -R /tmp /tmp_yedek     

şimdi yeni tmp dizinimizi noexec nosuid olarak mount ediyoruz
 
Kod:      
mount -o loop,noexec,nosuid,rw /dev/tmpMnt /tmp     

gerekli izini veriyoruz tmp dizinine
 
Kod:      
chmod 0777 /tmp     


yedeklerimiz eski /tmp dizinindeki dosyaları yeni mount ettiğimiz tmp dizinine atıyoruz
 
Kod:      
cp -R /tmp_yedek/* /tmp/     

şimdide tmp yedek dizinimizi siliyoruz
 
Kod:      
rm -rf /tmp_yedek     




fstab dosyası file system table a karşılık gelir bu dosya sistem yöneticisinin işletim sistemine işletim sisteminin hangi dosyalara ve ne şekilde ulaşılacağını gösterir
şimdi etc dizinindeki fstab dosyasını açıyoruz
 
Kod:      
pico -w /etc/fstab     


dosyanın en alt satırına aşağıdakini ekliyoruz
 
Kod:      
/dev/tmpMnt             /tmp                    ext2    loop,noexec,nosuid,rw  0 0     

ve görünümü şu şekilde oluyor


artık tmp dizininizde dosya icra yetkisi yoktur


tabi bir trik de var

yada bir shared library kullanmakta geri ictra yetkisi getirebilir
/lib/ld-linux.so.2 /tmp/dosya gibi

öncelikle mysql sunucusuna bir restart atın herşeyin çalışıp çalışmadığını kontrol etin
 
Kod:      
/etc/init.d/mysqld restart     

eğer bir sorun olursaki olacağını hiç sanmıyorum mysql.sock dosyasının sembolik bağını yapın bu komutla
 
Kod:      
cd /var/tmp/
ln -fs /var/lib/mysql/mysql.sock /var/tmp/mysql.sock     


başlamışken /dev/shm ninde güvenliğini sağlayalım
gene
 
Kod:      
pico -w /etc/fstab     

yazarak dosyayı açtık
/dev/shm nin görüntüsü bu şekilde
 
Kod:      
none                    /dev/shm                tmpfs   defaults        0 0      



onu bu şekilde değiştiriyoruz
 
Kod:      
none /dev/shm tmpfs noexec,nosuid 0 0     


değişiklilerin olabilmesi için umount layıp sorna mount luyoruz /dev/shm yi

aşağıdkai komutla
 
Kod:      
 umount /dev/shm
mount /dev/shm     


eski /var/tmp dizinini silip linkliyoruz
 
Kod:      
 rm -rf /var/tmp/
ln -s /tmp/ /var/     


şükür bitti artık
/tmp , /var/tmp ve /dev/shm noexec nosuid olarka mount edildi biraz daha güvendesiniz

/tmp güvenliği
Yapılması gereken bazi islemler:
1- Dizin erisim yetkilerini incele. Belirli kullanicilarin yetkilerini sinirla.
2- En cok kullanilan komutlarin belirledigin kullanicilarin calistirmasina izin verme(ls , wget , ps ...).
3- Herhangi bir olumsuzluga karsin siteminde tripwire, samhain gibi butunluk kontrol uygulamalarini kur.
4- Uygulamalarini guncel tut.

Örnek saldırı-1 :

[dropby23@server /tmp]$ ./date
bash: ./date: Permission denied
[dropby23@server /tmp]$ /lib/ld-linux.so.2 ./date
Thu May 8 12:20 MDT 2005
[dropby23@server /tmp]$

#pwd
/tmp
#./test.pl
-bash: ./test.pl: Permission denied
#perl /tmp/test.pl


Örnek saldırı-2 :

ssh e800@sorubank.ege.edu.tr password:****
e800@sorubank.ege.edu.tr/$ scp /bin/poweroff.bin / e800@sorubank.ege.edu.tr:/wwwhome/

cd wwwhome
dir
poweroff /kişisel /dersler /webödev
./poweroff










Derecelendir
Kaynak Security Experts Tarafından yazılmış/derlenmiştir.
İçerik İhbarı
Bağlantılar: bilgininefendisi.net

Open Source Document Project AUP&TOS