Bilgi güvenliği alanında sistemlerin saldırı yüzeyini en aza indirmek temel prensiplerden biridir. Bu amaç doğrultusunda kullanılmayan servislerin, protokollerin ve dosya sistemi sürücülerinin devre dışı bırakılması önem taşır.
CIS (Center for Internet Security) Benchmark standartları da bu yaklaşımı benimseyerek Linux sistemlerde ihtiyaç duyulmayan kernel modüllerinin kaldırılmasını veya devre dışı bırakılmasını tavsiye etmektedir.
Bu kapsamda öne çıkan kontrollerden biri cramfs (Compressed ROM File System) dosya sistemi desteğinin sistem üzerinde kullanılabilir olmamasının sağlanmasıdır.
CramFS Nedir?
CramFS özellikle gömülü sistemlerde kullanılan, sıkıştırılmış ve salt okunur (read-only) bir Linux dosya sistemidir. Bu dosya sistemi türü, düşük depolama alanına sahip cihazlarda işletim sistemi imajlarının daha verimli saklanmasını sağlamak amacıyla geliştirilmiştir.
CramFS’in en önemli özellikleri şunlardır:
- Sıkıştırılmış veri yapısı sayesinde düşük disk alanı kullanır.
- Salt okunur olarak çalışır.
- Genellikle gömülü Linux dağıtımlarında tercih edilir.
- İmaj dosyalarının açılmadan kullanılmasına olanak tanır.
Günümüzde modern Linux sunucularında ve iş istasyonlarında cramfs kullanımı oldukça nadirdir. Bu nedenle çoğu kurumsal ortamda bu modülün aktif olmasına ihtiyaç duyulmaz.
Güvenlik Açısından Neden Devre Dışı Bırakılmalıdır?
Kullanılmayan dosya sistemi sürücülerinin sistemde bulunması, potansiyel güvenlik risklerini beraberinde getirir. Bir saldırgan, sistemde mevcut ancak kullanılmayan kernel modüllerini kötü amaçlı faaliyetlerde kullanabilir veya bu modüllerdeki güvenlik açıklarından faydalanabilir.
CIS Benchmark bu nedenle aşağıdaki yaklaşımı önermektedir:
“İhtiyaç duyulmayan dosya sistemi türlerinin desteğini kaldırarak sistemin yerel saldırı yüzeyi azaltılmalıdır.”
CramFS kullanılmıyorsa devre dışı bırakılması;
- Kernel saldırı yüzeyini küçültür,
- Yetkisiz dosya sistemi mount işlemlerini engeller,
- Güvenlik sertifikasyonları ve denetimlerde uyumluluk sağlar,
- Sistem sertleştirme (hardening) çalışmalarına katkı sunar.
Denetim (Audit) Süreci
İlk aşamada sistem üzerinde cramfs modülünün mevcut olup olmadığı doğrulanmalıdır.
Modülün Varlığının Kontrol Edilmesi
İlgili denetim betiği çalıştırıldığında herhangi bir çıktı alınmıyorsa, cramfs modülü sistemde mevcut değildir ve ek bir işlem yapılmasına gerek kalmaz.
Bazı Linux dağıtımlarında cramfs desteği doğrudan çekirdeğe gömülü olabilir. Bu durumda da betik bir sonuç döndürmeyebilir ve sistem uyumlu kabul edilir.
Modülün Yüklü Olup Olmadığının Kontrolü
Aşağıdaki komut kullanılarak cramfs modülünün aktif olarak çalışıp çalışmadığı kontrol edilir.
lsmod | grep 'cramfs'
Komutun herhangi bir çıktı vermemesi beklenir. Çıktı alınması durumunda modül belleğe yüklenmiş durumdadır.
Modülün Yüklenebilir Olup Olmadığının Doğrulanması
Sistem yeniden başlatıldığında modülün otomatik olarak yüklenmesini önlemek amacıyla aşağıdaki kontrol yapılabilir.
modprobe --showconfig | grep -P -- '\b(install|blacklist)\h+cramfs\b'
Beklenen çıktı aşağıdaki örneklerden biri olmalıdır.
blacklist cramfs
install cramfs /bin/false
Bu yapılandırmalar modülün yüklenmesini engeller ve CIS gereksinimlerinin karşılanmasını sağlar.
Düzeltme (Remediation) Adımları
Eğer cramfs modülü sistemde aktif durumdaysa aşağıdaki adımlar uygulanmalıdır.
1. Yüklü Modülü Kaldırmak
Öncelikle çalışan modül bellekten kaldırılır.
modprobe -r cramfs 2>/dev/null
rmmod cramfs 2>/dev/null
2. Modülün Yüklenmesini Engellemek
Modülün tekrar yüklenmesini önlemek için /etc/modprobe.d/ dizini altında bir yapılandırma dosyası oluşturulur.
printf '%s\n' 'install cramfs /bin/false' >> /etc/modprobe.d/60-cramfs.conf
Bu yapılandırma, cramfs modülünü yüklemek isteyen tüm çağrıları başarısız hale getirir.
3. Modülü Kara Listeye Almak
Ek güvenlik önlemi olarak modül kara listeye alınmalıdır:
printf '%s\n' 'blacklist cramfs' >> /etc/modprobe.d/60-cramfs.conf
Bu işlem sonrasında sistem yeniden başlatıldığında cramfs modülü otomatik olarak yüklenmeyecektir.
Uyumluluk ve Standartlar
Bu kontrol birçok uluslararası güvenlik standardı ve denetim çerçevesi tarafından desteklenmektedir:
- NIST SP 800-53 CM-7
- NIST SP 800-53A CM-7.1
- DISA STIG Kontrolleri
- CIS Controls v8 – Control 4.8
- CIS Controls v7 – Control 9.2
Özellikle CIS Controls içerisinde bu gereksinim, kurumsal sistemlerde yalnızca onaylanmış servislerin, protokollerin ve yazılım bileşenlerinin çalıştırılması prensibi kapsamında değerlendirilmektedir.
CramFS dosya sistemi günümüz kurumsal Linux sunucularında nadiren ihtiyaç duyulan bir bileşendir. Kullanılmadığı durumlarda kernel modülünün devre dışı bırakılması, sistem sertleştirme çalışmalarının önemli bir parçasıdır. Bu sayede potansiyel güvenlik riskleri azaltılır, saldırı yüzeyi daraltılır ve CIS Benchmark gibi güvenlik standartlarıyla uyumluluk sağlanmış olur.
Kurumsal ortamlarda gerçekleştirilen güvenlik denetimlerinde, cramfs modülünün yüklü olmaması ve yüklenebilir durumda bulunmaması, temel Linux hardening kontrollerinden biri olarak değerlendirilmektedir.