/tmp Klasörü Güvenliği (Noexec) 🛡️
Linux sunucularda /tmp klasörü, geçici dosyalar için kullanılır ve dünyadaki her kullanıcı buraya yazabilir (rwxrwxrwt).
Bu özellik, saldırganların zararlı scriptlerini (exploit, shell script, virüs) buraya indirip çalıştırması için mükemmel bir yuvadır.
Bu açığı kapatmak için /tmp klasörünü noexec (içinde hiçbir şey çalıştırılamaz) moduyla bağlayacağız.
Amaç: Saldırgan
/tmpiçine virüs indirse bile./virusdiyerek çalıştıramasın.
1. Hazırlık ve Yedek
fstab dosyası sunucunun açılışında diskleri bağlar. Yanlış bir harf, sunucunun açılmamasına neden olabilir. Önce yedek alalım!
2. /tmp'yi Güvenli Bağlama (Tmpfs)
Bu işlem /tmp klasörünü RAM üzerinde (tmpfs) tutar ve çalıştırılabilir dosyaları engeller.
Dosyayı açın:
En alt satıra şunu ekleyin:
- noexec: Script/program çalıştırılamaz.
- nosuid: Root yetkisi alan dosya barınamaz.
- nodev: Aygıt dosyası (device file) oluşturulamaz.
3. Ayarları Uygulama
Kaydettikten sonra (Ctrl+O, Enter, Ctrl+X), ayarları aktif etmek için:
Not: Eğer hata alırsanız veya "busy" derse sunucuyu yeniden başlatmanız gerekebilir (
reboot).
4. Doğrulama (Hacker Testi) 🧪
Gerçekten çalışıp çalışmadığını test edelim. /tmp içine basit bir script yazıp çalıştırmayı deneyelim.
# 1. /tmp'ye git
cd /tmp
# 2. Masum bir script oluştur
echo 'echo "Eğer bunu görüyorsan GÜVENLİK YOK!"' > test_hack.sh
# 3. Çalıştırma izni ver
chmod +x test_hack.sh
# 4. Çalıştırmayı dene
./test_hack.sh
Beklenen Sonuç:
Eğer "Permission denied" hatası alıyorsanız tebrikler! 🎉
Saldırganlar artık /tmp üzerinden script çalıştıramaz.
⚠️ Önemli Uyarı: Apt ve Scriptler
Bazı kötü yazılmış scriptler veya güncellemeler /tmp içinde çalışmak isteyebilir (Nadir).
Eğer bir güncelleme sırasında sorun yaşarsanız geçici olarak korumayı kaldırabilirsiniz: