Konu hakkında daha ayrıntılı bilgi için /usr/src/linux/Documentation/sysctl/vm. txt dosyasına bakınız. hdparm ile IDE bir diske erişimde performans artışı sağlamak. Linux çekirdeği diske erişim sırasında bütün sistemlerle uyumluk sağlaması açısından mütevazi bir konfigurasyonla gelir. Destekleyen disklerde DMA, 32 bit transfer gibi ayarlamaları aktif hale getirdiğimizde disk erişim hızında belirgin bir artış sağlanmaktadır. Bu işlem için kullanılan sihirli komutun adı "hdparm" dır. İlk yapılması gereken hdparm -i /dev/hda komutu ile diskinizin özelliklerini listelemek olmalıdır. Çıktıda özellikle dikkat edilmesi gereken ilk olarak MaxMultSec' ün yanındaki sayıdır. Bu sayının 8 olduğunu varsayarak DMA ve 32 bit erişimi aktif eden komut şu şekilde olabilir. hdparm -m 8 -d 1 -X66 -c 1 /dev/hda Yukarıdaki komut IDE diskinize %30' lara veya belki de daha yukarıya çıkan oranlarda daha hızlı erişmenizi sağlayacaktır. Ardından hdparm -t /dev/hda komutu ile testinizi yaptıktan sonra bir sorun iletilmezse kullanmanızı tavsiye ederim. Özellikle -X66 parametresi diskinizde onarılması güç sorunlar çıkarabilir. Oluşabilecek arızalardan PCNET/GnuLinux veya yazar sorumlu tutulamaz. Bu ayar bilgisayarınızın her açılışında aktif olsun istiyorsanız açılış betiklerinden herhangi birisine yerleştirmeniz yeterlidir. İki aydır daha güvenli, performansı yüksek Linux sunucuları hazırlamak için bazı ipuçları vermeye çalıştık. Yazı dizimiz burada sona eriyor. Doğru amaçlar için konfigüre edilmiş bir Linux sisteme sahip olmanın geniş bir bilgi birikiminin ve deneyimin eseri olmasına rağmen bu yazı dizimizde belirtilen önlemler alındığında sunucunuzun büyük ölçüde güvenliği sağlanmış olacaktır. Her türlü yorum, dilek ve eleştirileriniz bizim için altın değerindedir. Bu yazı Kasım 2000 tarihinde PC Net Türkiye dergisinde yayınlanmıştır.

ctrl+alt+del tuş kombinasyonunu engellemek ctrl + alt + delete tuş kombinasyonu hemen hemen bütün Linux sürümlerinde bilgisayarı yeniden başlatmak üzere öntanımlı gelir. Çoğu zaman bu kombinasyonun kaldırılması faydalı olmaktadır. Yapılması gereken işlem /etc/inittab dosyası içindeki ilgili satırın önüne bir diyez işareti koymaktır. #ca::ctrlaltdel:/sbin/shutdown -t3 -r now Geçerli bir yedekleme stratejisi geliştirmek. Yedeklemenin ne zaman gerekli olduğu konusunda genel bir kabul, "veri kaybetme riskini kaldıramayacağınız her zaman yedekleme zamanıdır" şeklindedir. Pek çok firmanın genelde bir yedekleme stratejileri zaten mevcut olmasına rağmen eğer yoksa çok geçmeden alınması şarttır. Bu iş için taper, BRU, Amanda gibi gelişmiş bir yedekleme yazılımı kullanılabileceği gibi standart "tar" komutu ile de yedekleme yapmak mümkündür. Aşağıdaki tabloda yer alan basit betikleri bir cron işi içersine yerleştirdiğinizde haftalık ve günlük yedekleme yapacaktır. Sonuç, /home dizini içersinde yer alan backup-epoch ve backup-daily dosyaları olacaktır. TABLO 1 #!/bin/bash # Haftalık Yedekleme Betiği. # cd / yes | rm /etc/backup. epoch find /etc -type d -print > /etc/backup. epoch find /var -type d -print >> /etc/backup. epoch find /home -type d -print >> /etc/backup. epoch find /tmp -type d -print >> /etc/backup. epoch find /root -type d -print >> /etc/backup. epoch tar -cvps -T /etc/backup. epoch -f /home/backup-epoch. tar TABLO 2 #!/bin/bash # Günlük Yedekleme Betiği # cd / yes | rm /etc/backup. daily find /etc -mtime -1! -type d -print > /etc/backup. daily find /var -mtime -1! -type d -print >> /etc/backup. daily find /home -mtime -1! -type d -print >> /etc/backup. daily find /tmp -mtime -1! -type d -print >> /etc/backup. daily find /root -mtime -1! -type d -print >> /etc/backup. daily find /etc -ctime -1! -type d -print >> /etc/backup. daily find /var -ctime -1! -type d -print >> /etc/backup. daily find /home -ctime -1! -type d -print >> /etc/backup. daily find /tmp -ctime -1! -type d -print >> /etc/backup. daily find /root -ctime -1! -type d -print >> /etc/backup. daily tar -cvps -T /etc/backup. daily -f /home/backup-daily. tar Sistemden Silinmesi Faydalı Kullanıcı ve Gruplar Çoğu Linux dağıtımı ile birlikte bazı öntanımlı kullanıcı ve gruplar gelir. Bu hesaplar/gruplar standart olduğu için sisteme girmeyi planlayan bir kişinin sızmak için ilk deneyeceği hesaplar olacaklardır ve silinmesinde fayda vardır. userdel komutu ile sistemdeki adm, lp, sync, shutdown, halt, news, uucp, operator, games, gopher gibi gereksiz kullanıcı hesaplarından kurtulabilirsiniz. Aynı şekilde groupdel komutu da adm, lp, news, uucp, games, dip, pppusers, popusers, slipusers gibi grupları silmenizi sağlayacaktır. Kullanıcıya sadece FTP izini verilmesi. Pek çok sistem yöneticisi kullanıcıların FTP ile home dizinlerine bağlanmasına izin veren fakat telnet veya konsoldan sisteme bağlanmalarını engelleyen bir strateji belirlemek ister. Bu kısıtlama özellikle web bulundurma hizmeti ve internet servis sağlayıcılarda gerekli olmaktadır. Bunu sağlamak için basit bir betik hazırlayalım. #!/bin/bash echo "Sisteme oturum açma izniniz yok!" ardından bu dosyayı /bin/girisyok olarak kaydedelim ve "chmod +x /bin/girisyok" komutu ile çalıştırılabilir yapalım. Hazırladığımız betiği telnet veya konsol erişim hakkı vermemek istediğimiz kullanıcının shell' i olarak atamamız gerekmektedir. Bu işlem için chsh komutu kullanılabilir. chsh -s /bin/girisyok umut Kullanıcının shell' ini /bin/girisyok olarak degistirdigimizde kullanıcı e-mail alıp gönderebilir fakat ne FTP ne de telnet vb... yolla sisteme bağlanabilir. Kullanıcının FTP kullanımını açmak için ise /bin/girisyok' u /etc/shells dosyasına eklememiz yeterli olacaktır. Suid bit Programlar Bir sunucuda kullanıcılara telnet, ssh, konsol gibi yollarla erişim verildiğinde en büyük güvenlik boşluğu suid bit adı verilen izin ile tanımlanmış programlarda yer almaktadır. Sunucuları ele geçirmeye niyetli bir kişi genelde suid bit tanımlı programlardaki açıkları hedef almaktadır. Kısaca açıklamak gerekirse suid bit normalde kullanıların yazmaya veya değiştirmeye izni olmadığı dosyaları değiştirmesine olanak tanımak amacı ile kullanılır. Örneğin, root kullanıcı hariç hiçbir kullanıcının /etc/passwd dosyasını değiştirmeye hakkı yoktur. Fakat chsh komutu ile bütün kullanıcılar /etc/passwd dosyasında kendi isminin yanındaki shell belirtgecini değiştirebilmektedirler. Bunu sağlamak için chsh programı suid bit ile çalıştırılmaktadır, yani kısıtlı olarak kullanıcılara root kullanıcı hakkı verilmektedir. Sunucunuzdaki suid bit tanımlı dosyaların bir listesini görmek için aşağıdaki komutu çalıştırabilirsiniz. find / -type f (-perm -04000 -o -perm -02000 ) -exec ls -lg ; Önünüze gelen listede çok az kullanılan ya da hiç kullanılmayan programlardaki suid bit' i kaldırmak için : chmod a-s /usr/bin/wall benzeri bir komut kullanmak yeterli olacaktır. Sisteminizin ping isteklerine cevap vermesini engellemek Son zamanlarda popüler olan network/internet saldırılardan bir tanesi de DOS adı verilen saldırı çeşididir. Bu saldırılar bir ana makineyi anlamsız TCP/IP paketleri ile meşgul etmeyi veya çok sayıda makineden saldırı yaparak işlevsiz bırakmayı amaçlar. En popüler DOS saldırıları ise bir IP paketine encapsulate edilerek gönderilen ve port bazlı olmayan ICMP paketleridir. Bir sunucuya yüzlerce belki de binlerce makineden aynı anda geçersiz büyüklükte ICMP paketleri gönderildiğinde sunucu büyük ihtimalle görevini yerine getiremeyecektir. Buna karşı çok etkin bir önlem olmasa da bir icmp isteği olan ping' lere sunucuyu kapatmak faydalıdır. Daha etkin bir yöntem için bir firewall seçeneğini değerlendirmelisiniz. Ping paketlerine cevap vermeyi engellemek için aşağıdaki komutu bilgisayarın açılış betiklerinden birisine yerleştirmek ve bilgisayarı yeniden başlatmak yeterlidir. echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all Source Routing ve Tehlikeleri Source Routing, özelleştirilmiş bir TCP/IP paketinin geçeceği yolu kendisinin belirlemesi için kullanılan bir yöntemdir. Sunucu makine, gelen özel paketin öntanımlı yolundan paketi geriye göndermek zorunda bırakılır. Bu da saldıranın kendisini güvenilir bir makine olarak göstermesini sağlayabilir. Bu nedenle kesinlikle sunucunuzda bu özelliği kaldırmalısınız. Yapılması gereken işlem (Red Hat 6.2 için) /etc/sysctl. conf dosyasına aşağıdaki satırı eklemekten ibarettir. net. ipv4. conf. all. accept_source_route = 0 TCP SYN Cookie Koruması Bir diğer DOS saldırısı, ise SYN saldırıları olarak bilinen türdür. Bu saldırılara karşı önlem almak amacı ile gelen bütün TCP paketlerine karşı koruma sağlayan aşağıdaki satırı /etc/sysctl. conf dosyasına eklemeniz faydalı olacaktır. net. ipv4. tcp_syncookies = 1 ICMP redirect paketlerinin engellenmesi ICMP redirect paketleri routerlar tarafından sunucu makinelere üzerlerindeki route tablolarını belirtmek ve sunucu makinelerin paketleri gönderecekleri yolu önceden bilmelerini sağlamak amacı ile kullanılır. Kötü niyetli birisi sizi yanıltacak ICMP redirect paketleri ile sunucu makinenizi yanıltarak başka yere gitmesi gereken paketleri kendisine yönlendirmeyi başarabilir. Bunu engellemek için /etc/sysctl. conf dosyasına aşağıdaki satırı eklemeniz ve network' u yeniden başlatmanız yeterli olacaktır. (Red Hat 6.2) net. ipv4. conf. all. accept_redirects = 0 Pentium II ve III sistemlerde daha etkin program derlenmesi Linux ile standart dağıtılan GCC adlı C, C++ compiler programı bilgisayarınızın mimarisine özgü kod derleyebilme yeteneğine sahiptir. Fakat varsayılan olarak 80386 mimarisinde çalışabilecek çalıştırılabilir dosyalar derlemek üzere ayarlanmış gelir. Eğer makineniz Pentium II veya üzeri veya AMD K7 ise aşağıdaki satırları /etc/profile dosyasına eklediğiniz takdirde bundan sonra derlediğiniz programlar CPU' nuza göre optimize edilecek ve daha hızlı çalışacaklardır. export CFLAGS = '-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions' Eğer makineniz i586 diye tabir edilen AMD K6-II- Pentium vb... bir sistem ise aşağıdaki satırları /etc/profile dosyasına eklemeniz faydalı olacaktır. export CFLAGS = '-O3 -march=pentium -mcpu=pentium -funroll-loops -ffast-math -malign-double -fomit-frame-pointer -fno-exceptions -fforce-mem -force-addr' bdflush parametreleri ile oynayarak sistem performansının artırılması bdflush parameterleri sistemin sanal bellek yönetimi ile yakından ilgilidir. Bazı buffer vb... ayarlar ile oynayarak sisteminizin cevap verme performansını artırmak mümkündür. Aşağıdaki komutu açılış dosyalarından birisine yerleştiriniz. echo "100 1200 128 512 15 5000 500 1884 2">/proc/sys/vm/bdflush