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 (haftalık) 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, sshi,
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 (Denial of Service) 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 (güvenlik duvarı) 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 (Denial of
Service) 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
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 (günümüzde hemen hepsi) 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.
CWJoCk3r | Security Experts TIM
Etiketler : guvenligi, ii, optimizasyonu, sunucu, ve