Bölmelerinizi düzenlerken akılda tutulması gereken şeylerden biri başarısızlık modlarıdır. Genellikle bu soru şu şekildedir: " x bölümü dolduğunda ne olur ?" Sevgili voretaq7, durumu /
teşhis etmek için herhangi bir sayıda zorluğa yol açan tam olarak ortaya çıktı. Daha özel durumlara bakalım.
Bölüm depolama günlükleriniz doluysa ne olur? Denetim / raporlama verilerini kaybedersiniz ve bazen saldırganlar tarafından etkinliklerini gizlemek için kullanılır. Bazı durumlarda, oturum açma olaylarını kaydedemiyorsa sisteminiz yeni kullanıcıları doğrulamaz.
RPM tabanlı bir sistem dolduğunda ne olur /var
? Paket yöneticisi paketleri yüklemez veya güncellemez ve yapılandırmanıza bağlı olarak sessizce başarısız olabilir.
Bir bölümü doldurmak kolaydır, özellikle bir kullanıcı yazabiliyorsa. Eğlence için, bu komutu çalıştırmak ve oldukça büyük bir dosya yapmak ne kadar hızlı bakın: cat /dev/zero > zerofile
.
Ayrıca bölümleri doldurmanın ötesine geçer, farklı montaj noktalarına konumlar yerleştirdiğinizde montaj seçeneklerini de özelleştirebilirsiniz.
/dev/
Takılı olmadığında ne olur noexec
? Yana /dev
genellikle işletim sistemi tarafından korunduğu göz önüne alınmıştır ve sadece gizlemek kötü niyetli programlara kullanılan o (bazen hala ve) sık sık oldu cihazları ihtiva edilmektedir. Ayrılmak noexec
, orada depolanmış ikili dosyaları başlatmanıza izin verir.
Tüm bu nedenlerden dolayı ve daha fazlası, birçok sertleştirme kılavuzu bölümlendirmeyi gerçekleştirilecek ilk adımlardan biri olarak tartışacaktır. Aslında, yeni bir sunucu oluşturuyorsanız, diski nasıl bölümleyeceğinize karar vermeniz gereken ilk şey ve neredeyse sonradan değiştirmek en zor olanıdır. İnternet Güvenliği Merkezi adlı ve kolay okunabilen konfigürasyon rehberleri üreten bir grup var . İşletim Sisteminiz için bir rehber bulabilir ve söyleyebilecekleri özellikleri görebilirsiniz.
RedHat Enterprise Linux 6'ya bakarsak, önerilen bölümlendirme şeması şöyledir:
# Mount point Mount options
/tmp nodev,nosuid,noexec
/var
/var/tmp bind (/tmp)
/var/log
/var/log/audit
/home nodev
/dev/shm nodev,nosuid,noexec
Tüm bu değişikliklerin arkasındaki ilke, birbirlerini etkilemelerini önlemek ve / veya belirli bir bölümde neler yapılabileceğini sınırlamaktır. Mesela seçenekleri al /tmp
. Bunun söylediği, orada hiçbir cihaz düğümü oluşturulamadığı, oradan hiçbir program çalıştırılamadığı ve set-uid bitinin hiçbir şeye ayarlanamadığıdır. Doğası gereği, /tmp
neredeyse her zaman dünyaya yazılabilir ve çoğu zaman sadece bellekte var olan özel bir dosya sistemi türüdür. Bu, bir saldırganın kötü niyetli kodu bırakmak ve yürütmek için kolay bir hazırlık noktası olarak kullanabileceği, ardından sistemin çökmesi (veya basitçe yeniden başlatılması) olarak tüm delilleri temizleyeceği anlamına gelir. İşlevselliği /tmp
bu işlevselliğin herhangi birini gerektirmediğinden, özellikleri kolayca devre dışı bırakabilir ve bu durumu önleyebiliriz.
Günlük depolama yerleri, /var/log
ve /var/log/audit
kaynak tükenme onlara tampon yardımıyla kapalı oyulmuştur. Ek olarak, auditd kayıt saklama alanı dolmaya başladığında bazı özel şeyler (genellikle daha yüksek güvenlik ortamlarında) gerçekleştirebilir. Bölümüne yerleştirerek bu kaynak algılama daha iyi performans gösterir.
Daha ayrıntılı olmak ve alıntı yapmak için mount(8)
, yukarıda kullanılan seçeneklerin aynısıdır:
noexec Monte edilmiş dosya sisteminde herhangi bir ikili dosya çalıştırılmasına izin vermeyin. (Yakın zamana kadar /lib/ld*.so / mnt / binary gibi bir komut kullanarak ikili dosyaları çalıştırmak mümkün oldu. Bu numara Linux 2.4.25 / 2.6.0'dan bu yana başarısız oluyor.)
nodev Dosya sistemindeki karakterleri yorumlamayın veya özel cihazları engellemeyin.
nosuid Set-kullanıcı tanımlayıcısının veya set-grup tanımlayıcısının bitlerinin etkili olmasına izin vermeyin. (Bu güvenli görünüyor, ancak suidperl (1) kurulu ise aslında güvenli değil.)
Güvenlik açısından bunlar, dosya sisteminin kendisine koruma koymanıza izin vereceklerinden, bilmeleri gereken çok iyi seçeneklerdir. Çok güvenli bir ortamda noexec
seçeneği bile ekleyebilirsiniz /home
. Standart kullanıcı için veri işleme için kabuk komut dosyaları yazmayı zorlaştırır, günlük dosyalarını analiz eder, ancak ayrıcalıkları yükseltecek bir ikili dosya çalıştırmalarını da önler.
Ayrıca, kök kullanıcının varsayılan giriş dizini olduğunu unutmayın /root
. Bu araçlar da olacaktır /
dosya sistemi, değil de /home
.
Her bir bölüme tam olarak ne kadar verdiğiniz, sistemin iş yüküne bağlı olarak büyük ölçüde değişebilir. Yönettiğim tipik bir sunucu nadiren kişi etkileşimi gerektirecek ve böylelikle /home
bölümün çok büyük olması gerekmeyecek. Aynısı, /var
sık sık yaratılan ve silinen geçici verileri saklama eğiliminde olduğu için de geçerlidir . Bununla birlikte, bir web sunucusu tipik /var/www
olarak oyun alanı olarak kullanır , yani bunun ayrı bir bölmede /var/
olması ya da büyük hale getirilmesi gerekir.
Geçmişte aşağıdakileri referans olarak tavsiye ettim.
# Mount Point Min Size (MB) Max Size (MB)
/ 4000 8000
/home 1000 4000
/tmp 1000 2000
/var 2000 4000
swap 1000 2000
/var/log/audit 250
Bunların, sistemin amacına ve ortamınızın nasıl çalıştığına göre gözden geçirilmesi ve ayarlanması gerekir. Ayrıca LVM kullanmanızı ve tüm diski tahsis etmeyi tavsiye ederim. Bu, eğer gerekli olursa kolayca büyümenizi veya bölümler eklemenizi sağlar.