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

Tmp güvenliği (Linux)

 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: Tmp güvenliği (Linux)
    Gönderim Zamanı: 23-08-2009 Saat 12:49

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

Saygılar..
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

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



Bu Sayfa 0.148 Saniyede Yüklendi.