Ana Sayfa » *nix » Daily Security Cron Job ve Disk I/O Yoğunluğu.

Daily Security Cron Job ve Disk I/O Yoğunluğu.


BerbatKötüİdare EderGüzelHarika (Henüz Puan Verilmedi. Oy kullanarak siz de katkı yapabilirsiniz.)
Loading...

'nin günlük olarak çalışan ve sistem maintenace işlemlerini gerçekleştiren bazı scriptleri mevcut. Bu scriptler cron aracılığı ile gece 03:00'da çalışmaya başlıyor ve işlerini yapıyorlar. Normalde bu işlemler, sistem durumuna göre genellikle 1 saat içinde son buluyor.

Ancak serverınız bir mail server ise ve kullanıcı posta kutularının bulunduğu alanında yüzbinlerce/milyonlarca ufak mail dosyası bulunması halinde, dosya ve dizinlerin her biri için setuid kontrolü yapıp gerekli düzenlemeleri gerçekleştiren chksetuid işlemi, sabah ve benim başıma geldiği üzere öğlen saatlerine kadar devam edebiliyor. Bu durumda öğlen saatlerinde sistem yükünün artması ile paralel olarak, bu chksetuid işleminin diskte neden olduğu read işlemi nedeniyle, sistem ınız belli ölçüde düşebilir.

Ya da geceleri kendi yazdığınız ve diskte belli bir temizlik işlemi gerçekleştiren maintenance işleminiz gene chksetuid işlemi yüzünden yavaşlayabilir. Tüm bu durumlardan kurtulmanın yolu ise, belirlediğiniz, -mesela kullanıcı posta kutularının durduğu- bölümü için setuid kontrolünün yapılmamasını sağlamak.

Setuid, örneğin sahibi root olmayan ancak root seviyesinde çalıştırılması gereken bir dosyanın root olarak çalışması gibi işleri sağlayan bir durumdur.
Ayrıntılı bilgi için, http://en.wikipedia.org/wiki/Setuid adresine bakabilirsiniz. Zira ben de bu setuid olayı ile ilgili çok fazla bir bilgi sahibi değilim.

Gece saat 03:00'da çalışıp, çalıştırılabilir dosyaların setuid durumlarını kontrol eden bu dailiy cron job'i, /etc/periodic/ dizini altında, 100.chksetuid ismi ile duruyor.  Bu scriptin diskte 'ya neden olmasının sebebi, büyük bir find komutu çalıştırıyor olması, 6.2'de, script içindeki find komutu şu:

find $mount -xdev -type f \
 \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \
 \( -perm -u+s -or -perm -g+s \) -print0

(ler)inizde ne kadar çok dosya varsa, bu işlemin bitme süresi de o kadar çok uzuyor.
Setuid check işlemi, çalıştırılabilir dosyalar üzerinde yapıldığından dolayı, içerisinde çalıştırılabilir bir dosya barındırmayan bir disk bölümünde bu find işleminin çalışıyor olması son derece gereksizdir.

Bu nedenle bu tip dosya barındıran disk bölümlerini nosuid parametresi ile mount ederek, setuid checking işlemini bu disk bölümleri için devre dışı bırakabiliyoruz.
Setuid gerektiren, çalıştırılabilir dosyalar genellikle öntanımlı olarak, /sbin/, /usr/sbin/ ve /usr/local/sbin (nadiren /bin, /usr/bin, /usr/local/bin) dizinleri altında bulunuyorlar. Bu dizinlerin bulunduğu disk bölümleri haricinde kalan ve gerçekten çalıştırılabilir dosya olmadığına emin olduğunuz disk bölümleri setuid kontrolünü devre dışı bırakabilirsiniz.

Sistemde setuid gerektiren scriptleri bulmak için, EnderUnix'in bölümünde,  Huzeyfe Ünal'in verdiği bir find komutu bulunuyor. Bu şekilde ilgili dosyaları saptayıp, devre dışı bırakma işini hangi disk bölümlerinde yapmamanız gerektiğiniz daha iyi anlayabilirsiniz.
http://tips.enderunix.org/view.php?id=151&lang=tr

Ilgili disk bölümünü nosuid parametresi ile mount etmek için, /etc/fstab dosyasina ilgili disk bölümünün options kısmana nosuid parametresini ekleyip, sisteminizi restart etmeniz yeterli; sistemi reboot etmeden yapabilmek için ise aşağıdaki komutu kullanabilirsiniz.

mount -u -o nosuid /var

Ancak ileride bir gün yapılan sistem restartı sırasında bu mount parametresinin uçmaması için her halukarda fstab dosyasına nosuid opsiyonunu girmeniz gerekmektedir.

Visited 254 times, 1 visit(s) today
Kategoriler: *nix |

Bu yazılar da ilginizi çekebilir:


- FreeBSD Sistemlerde RamDisk Oluşturulması
- Scalpel ile Data Recovery
- noatime – Disk I/O Optimizasyonu
- FreeBSD NFS Server ve Client Yapılandırması
- VMware Linux Guestlere Sistemi Reboot Etmeden Disk Eklemek

Yorumlar


Henuz yorum yapilmamis.

Yorumda bulunun.