Sayfayı Yazdır | Pencereyi Kapat

Linux Güvenliði

Nereden Yazdırıldığı: Bilginin Adresi
Kategori: Bilgisayar Güvenliði / Computer Security
Forum Adı: Güvenlik / Security Makaleleri
Forum Tanımlaması: Bilgisayarýnýzý Her Türlü Saldýrýya Karþý Korumak Ýçin Yapmanýz Gerekenler
URL: https://www.bilgineferi.com/forum/forum_posts.asp?TID=7926
Tarih: 29-04-2024 Saat 06:41


Konu: Linux Güvenliði
Mesajı Yazan: megabros
Konu: Linux Güvenliði
Mesaj Tarihi: 23-08-2009 Saat 12:21

Güvenilir sistem yapýlan saldýrýlara maksimum seviyede karþý koya bilecek bir sistemdir. Bir sistemin güvenilir olmasý için sistemde saldýrganlara yardýmcý olabilecek açýklar ve zayýflýklar minimuma indirilmelidir. Bunun için sistem zamanýnda güncellenmeli, kullanýlmayan servisler ,portlar kapatýlmalý, sistemin temel görevi olmayan tümprogramlar kaldýrýlmalýdýr. Aþaðýdaki metinde tüm bunlarýn nasýl yapýlacaðý ele alýnmýþtýr. Metin 2 kýsýmdan oluþmaktadýr.

1. Sistemi güvenilir yapmak için gereken güncellemeler Bu bölümda kernelin yeni versiyonlarýnýn ve update”lerin ne iþe yaradýklarý ve nasýl yüklenecekleri anlatýlmýþtýr.

2. Gereksiz programlarýn, portlarýn, servislerin kaldýrýlmasý Bu bölümde portlarýn , gereksiz servislerin neden tehlikeli olabilecegi ve nasýl kaldýrýlacaðý anlatýlmýþtýr.

Güncelleme

Bu bölümde RedHat Linux için güncellemenin nasýl yapýlacaðý anlatýlmýþtýr. RedHat Linux”un her versiyonunun bir sürü update”i ve kernelinin de sürekli yeni versiyonlarý çýkar. Bunlarýn çýkmasýnýn nedeni, bir önceki versiyondaki açýklarý kapatmak, sistemi daha güvenli ve saglýklý yapmaktýr. Bunlarýn sürekli takip edilmesi ve sistemin güncel tutulmasý gerekmektedir. Bunlarý yapmazsanýz sisteminizde çoðu Linux kullanýcýsý tarafýndan bilinen açýklar kapatýlmamýþ olur ve bu da sisteminize yapýlabilecek saldýrýlarýn daha fazla zarar vermesine yol açar. Sistemin güncellenmesini iki alt baþlýk altýnda inceleyeceðiz.

1. Kernelin yeni versiyonunun indirilmesi ve derlenmesi.

2. Update”lerin geçilmesi.

Kernelin Yeni Versiyonun Indirilmesi Ve Derlenmesi NOT: Kernelin derlenmesi fazla zor deðil. Fakat daha önce hiç derlemediyseniz, dikkatli olmanýzda ve daha önce bu iþi yapmýþ olan birisini yanýnýzda bulundurmanýzda fayda vardýr. Ýlk yapmanýz gereken iþ kernelin en son versiyonunun indirilmesidir. http://www.kernelnotes.org/ sayfasýna gidiniz ve kernelin en son stable versiyonunu /tmp dizinine indiriniz.Daha sonra http://www.openwall.com/ /linux/ adresinden indirdiginiz kernelle ayni versiyonda olan patch”i indiriniz. Daha sonra asagidaki komutlari sýrasý ile çalýþtýrýnýz.

[root@server /root]# cp /tmp/linux-2.x.tar.gz /usr/src

[root@server /root]# cp /tmp/patch-2x.gz /usr/src

[root@server /root]# cd /usr/src

[root@server /root]# gzip -cd linux-2.x.tar.gz | tar xvf -

[root@server /root]# gzip -cd path-2x.gz | patch -p0

Yukarýdaki komutlar vasýtasý ile indirdiðiniz paketler /usr/src dizinine kopyalanýr, açýlýr ve kernel”e patch uyðulanir. Bunlarý yaptýktan sonra aþaðýdaki komutlarý da çalýþtýrýnýz

[root@server /root]# cd /usr/src/linux-2x

[root@server /root]# make mrproper

Sýra kernelin configurasyonunu belirlemektedir. Bunun için make config komutunu çalýþtýrmanýz lazým.

[root@server /root]# cd /usr/src/linux-2x

[root@server /root]# make config

make config komutuna alternatif olarak make menuconfig ve make xconfg komutlarýný da çalýþtýra bilirsiniz. make xconfig komtunu çalýþtýra bilmeniz için startx”de olmaniz lazim. make config komutunu çalýþtýrdýktan sonra karþýnýza bir sürü soru çýkacak. Kernelin neyi destekleyip, neyi desteklememesi gerektiðini burdan belirlemeniz lazim. Sorulara cevap verirken size gerekmeyen hiç bir pakete “Y” dememeye dikkat edin. Bu hem sizin kernel”in boyutunu küçültücektir, (Böylece kernel daha hýzlý çalýþacak ve daha az RAM kullanacaktýr), hem de sisteminizin daha güvenli olmasýný saðlayacaktýr

Daha sonra make dep ve make clean komutlarýný çalýþtirýnýz

[root@server /root]# cd /usr/src/linux-2x

[root@server /root]# make dep

[root@server /root]# make clean

Bunlar bittikten sonra make zImage komutunu çalýþtýrýnýz

[root@server /root]# cd /usr/src/linux-2x

[root@server /root]# make zImage

Daha sonra modulleri desteklemek için make modules ve make modules_install komutlarýný çalýþtýrýnýz.

[root@server /root]# cd /usr/src/linux-2x

[root@server /root]# make modules

[root@server /root]# make modules_install

Yeni kerneliniz hazýrdýr, /usr/src/linux/arch/i386/boot/ dizini altýndaký zImage dosyasýdýr yeni kerneliniz. Bunu /boot dizinine ve ya floppy”den boot ediyorsaniz floppy”ye kopyalayýnýz. Daha sonra /etc/lilo.conf dosyasýndaki image=/boot/vmlinuz-2x satýrýný deðiþtiriniz ve vmlinuz-2x yerine /boot/ dizinine kopyaladýðýnýz dosyanýn adýný yazýnýz. /sbin/lilo komutunu çalýþtýrýnýz ve artýk yeni kernel hazýrdýr. Makinenizi reboot ede bilirsiniz.

NOT: Daha fazla bilgi için /usr/src/linux/ dizini altýndaký README dosyasýna baka bilirsiniz. Update”lerin Geçilmesi Update”ler kernel”in güncellenmesinden daha önemlidir. Çünki her update çok önemli bir açýðý kapatýr. Ýlk yapmanýz gereken iþ updatelerin indirilmesidir. Bunun için http://www.redhat.com/errata adresine gitmeniz lazým. Bu sayfadan size gereken tüm update”lerin rpm paketlerini indiriniz. Bir paketin size gerekip-gerekmediðini oðrenmek için rpm -q komutunu paket adýný parametre olarak verip çalýþtýrmanýz lazým. Örneðin emacs paketinin sizde var olup-olmadýðýný oðrenmek istiyorsanýz aþaðýdaki komutu çalýþtýrýnýz.

[root@server /root]# rpm -q emacs

Eðer çýktý aþaðýdaki gibiyse bu paket sizde var ve bunun update”ini indirmeniz lazým. [root@server /root]# rpm -q emacs

emacs-20.5-7 [root@server /root]# Çýktý bu þekilde deðilde aþaðýdaki gibiyse bu paket sizde zaten yok ve olmayan bir paketin update”ini indirmenize gerek yok [root@server /root]# rpm -q x

package x is not installed [root@server /root]# Update”leri indirdikten sonra teker-teker geçilmesi lazým. Örnek paketin adý package-x.y.rpm ise bu paketin update”ini geçmek için update”lerin oldugu dizine geçerek aþaðýdaký komutu çalýþtýrmanýz lazým:

[root@server /root]# rpm -Uvh package-x.y.rpm

Bu komutu indirdiðiniz tüm paketler için çalýþtýrdýktan sonra iþ bitmiþtir. Sisteminiz artýk günceldir. Genel güvenlik Sisteminizin saldýrýlardan etkilenmesini istemiyorsanýz, sisteminize eriþimi minimuma indirmeli ve dýþarýya sisteminiz hakkýnda minimum bilgi vermelisiniz. Sisteme minimum eriþim saldýrganýn sisteme giriþini elgelleyeceði gibi, sistem hakkýnda minimum bilgi vermek de saldýrganýn sisteminiz hakkýnda bilgi toplamasýný engelleyecek ve iþini zorlaþtýracaktýr. Basit bir finger komutu sisteminiz hakkýnda saldýrgana az denemeyecek kadar bilgi veriyor. Bu bölümde sisteminizin maksimum þekilde güvenli olmasý için yapmanýz gerekenler madde-madde ele alýnmýþtýr.

# Password Sisteminiz çok kullanýcýlý bir sistem ise, kullanýcýlarý kompleks ve uzun þifreler seçmeye zorlayýn. Genelde , kýrýlamayacak þifre yoktur, fakat þifreler uzun ve kopleksse bu saldýrganýn iþini zorlaþtýrýr ve hatta belki çok zamanýný aldýðý için sisteminizi kýr- maktan vaz geçire de bilir. Þifreleri kompleks ve uzun tutmak için ilk yapmaniz gereken þey kullanýcýlarý bu konuda uyarmak , daha sonra da sistemde bir takým önlemler almaktýr. Ýlk olarak /etc/login.defs dosyasýný herhangi bir editörde açarak PASS_MIN_LEN satýrýnýn sonundaký sayýyý (default olarak 5″tir) 8 yapýnýz. Daha sonra ise /etc/pam.d/login dosyasýný yine bir editörde açarak auth ve account kelimeleriyle baþlayan satýrlardan sonra aþaðýdaki satýrý ekleyiniz password required /lib/security/pam_cracklib.so Bu satýr , kullanýcýyý þifre seçerken kompleks þifreler seçmeye zorlayacaktýr. NOT: Pam , sistem güvenliyini artýrmak için önemli bir araçtýr. Daha fazla bilgi almak için /usr/doc/pam-xx/ dizinine göz ata bilirsiniz.

# /etc/exports dosyasý Bu dosya sisteminizdeki hangi dizinleri ortak kullanýma açtýðýnýzý gösterir. NFS kullanmýyorsanýz bu dosyanýn içinin boþ olmasýna dikkat edin. Dosyanýn attribute”unu da deðiþtirerek immutable (deðiþmez) yapýnýz.

[root@server /root]# chattr +i /etc/exports

# /etc/inetd.conf dosyasý bu dosya sisteminizin dýþarýya hangi hizmetleri verdiðinizi gösteren bir dosyadýr. Dosya hizmet adlarýyla baþlayan satýrlardan oluþur. Satýrýn baþýnda # iþareti varsa bu satýr comment”lenmiþtir ve bu hizmet artýk verilmemekktedir, direk hizmet programý adýyla baþlýyorsa bu hizmet halen verilmektedir.

Örneðin, aþaðýdaki /etc/inetd.conf dosyasýndan götürülmüþ satýrlar bu sistemde ftp hizmetinin verildigini, telnet hizmetinin ise verilmediðini gösterir.

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a #telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd Ýlk olarak bu dosyanýn modunu sadece root tarafýndan okunup-yazýla bilinecek þekilde deðiþtiriniz, baþka kullanýcýlarýn bu dosyayý görmeleri sistem hakkýnda gerektiðinden fazla bilgi almalarýna neden olur.

[root@server /root]# chmod 600 /etc/inetd.conf

Daha sonra ise attribute”unu deðiþtirerek immutable yapýnýz. [root@server /root]# chattr +i /etc/inetd.conf

Daha sonra sisteminizin vermesini istemediginiz hizmet progamlarýný tespit ederek bu programýn adýyla baþlayan satýrýn baþýna # koyup bu satýrý comment”leyerek hizmet programýný kaldýrýnýz. Örneðin sisteminizin artýk finger”lere cevap vermesini istemiyorsanýz önceden finger stream nowait root /usr/sbin/tcpd in.fingerd þeklinde olan satýrý deðiþtirerek aþaðýdaký þekle getiriniz #finger stream nowait root /usr/sbin/tcpd in.fingerd Sisteminiz temel görevleri arasýnda olmayan tüm hizmetleri kesinlike kaldýrmanýz lazým. inetd.conf dosyasý ile iþiniz bittikten sonra yaptýðýnýz deðiþikliklerin aktif olmasý için aþaðýdaki komutu çalýþtýrýnýz

[root@server /root]# killall -HUP inetd

# /etc/hosts.allow ve /etc/hosts.deny dosyalari Makinenize eriþimi kýsýtlamalýsýnýz. Bunun için /etc/hosts.deny dosyasýna aþaðýdaký satýrý ekleyiniz ALL: ALL@ALL, PARANOID Bu satýr makinenize herhangi bir þekilde eriþimi yasaklayacaktýr. Tabii ki , bazi kullanýcýlara bazý programlarý kullanmalarý için izin vermeniz gereke bilir. Bu izinleri ise /etc/hosts.allow dosyasý vasýtasýyla veriyorsunuz. Örnegin , makinenize 192.168.1.1 adresinden telnet çekile bilmesini istiyorsanýz, /etc/hosts.allow dosyasýna aþaðýdaký satýrý eklemeniz lazim: in.telnetd: 192.168.1.1 myhost.mydomain. myhost.mydomain 192.168.1.1 IP adresli makinenin domain name”idir.

# /etc/aliases dosyasi Saldýrgan bu dosyayý kullanarak sisteminizde root hakkýna sahip ola bilir. Bundan dolayý bu dosyayý açarak bin, daemon ve nobody kelimeleri ile baslayan satýrlar hariç tüm satýrlarý ,satýr baþýna # koyarak comment”leyiniz.

# Sisteminizin ping”e cevap vermesini yasaklayýnýz Ping, TCP/IP protokollarýndaki zayýflýklardan dolayý saldýrganlar tarafýndan sýkça kullanýlan bir programdýr. Sisteminize ping çekilmesini yasaklarsanýz, önemli bir açiði kapatmýþ olursunuz. Ayrýca sisteminize ping çekemeyen saldýrgan sisteminiz hakkýnda daha az bilgi alýr ve hatta belki sisteminizin þu an ayakta olup olmadýðýndan bile haberi olmaz. Sisteminize ping çekilmesini yasaklamak için aþaðýdaki komutu çalýþtýrmanýz lazým: [root@server /root]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all Bunun sistemi reboot ettikten sonra da aktýf olmasýný istiyorsaniz yukarýdaki satýrý /etc/rc.d/rc.local dosyasýna da eklemeniz lazým.

# Issue dosyasý Sisteminiz telnet hizmeti veriyorsa, /etc/inetd.conf dosyasýndaký telnet kelimesi ile baþlayan satýrý aþaðýdaki gibi deðiþtiriniz telnet stream nowait root /usr/sbin/tcpd in.telnetd -h Daha sonra “killall -HUP inetd” komutu ile inetd”yi deðerleri tekrar okumaya mecbur ediniz. /etc/inetd.conf dosyasýný bu þekilde deðiþtirmeniz makinenize telnet çekildiginde ekrana gelen issue dosyasýnýn içeriðinin görüntülenmemesini saðlýyacaktýr. Bu ise sisteminiz hakkýnda dýþarýya daha az bilgi verecek. Örneðin saldýrgan kernel versiyo- nunuzu bilemiyecek ve hangi crack programýný kullanmasý gerektiðine karar vermekte zorlanacaktýr.

# /etc/host.conf dosyasi Bu dosyayý açarak order kelimesi ile baþlayan satýrý deðiþtirerek þu þekle getiriniz “order bind, hosts”. Bu makinenizi Adres sorgulamasýný ilk olarak DNS”den yapmasýna zorlayacaktir. Daha sonra dosyaya þu satýrý ekleyiniz. ” nospoof on” .Bu satýr da makinenizi IP address spoofing”e karþý dikkatli olmaya zorlayacaktýr.

# Source routing IP Source routing saldirganlarýn sistemi kýrmak için kullandýklarý baþka bir yöntemdir. Bunu yasaklamak için aþaðýdaki komutu çalýstýrmanýz gerekmektedir. [root@server /root]# for f in /proc/sys/net/ipv4/conf/*/accept_source_route;do echo 0> $f done Çalýþtýrdýðýnýz komutun makine reboot edildikten sonra aktif olmasýný istiyorsanýz yukarýdaki komutu /etc/rc.d/rc.local dosyasýna da eklemeniz lazým.

# SYN Cookie”ler. “SYN attack” DoS”a (Denial Of Service) neden ola bilecek önemli bir saldýrý çesididir. Denial Of Service saldýrýlarý sistemdeki tüm kaynaklarýn tükenmesine yol açarak sizi makineyi reboot etmeye zorlar.Bu saldýrýya karþý k****k istiyorsanýz aþaðýdaki komutu çalýþtýrmanýz lazým [root@server /root]# echo 1 > /proc/sys/net/ipv4/tcp_syncookies Komutun sistem reboot edildikten sonra da aktif olmasýný istiyorsanýz yukarýdaki komutu /etc/rc.d/rc.local dosyasýna da eklemeniz lazým.

# /etc/services dosyasý Bu dosya sistemdeki hizmet programlarýnýn port numaralarýný belirler Bu dosyanin kimse tarafýndan deðiþtirile ve görüle bilmemesi için aþaðýdaki komutlarý çalýþtýrarak attribute”unu ve modunu deðiþtiriniz Saldýrgan bu dosyaya yaza bilmesi halinde portlarý kafasýna göre kullanýma açar, ve baþka bir zaman geri döne bilmek için backdoor býraka bilir. [root@server /root]# chattr +i /etc/services [root@server /root]# chmod 600 /etc/services

# /etc/securetty dosyasi Bu dosyanýn var olmasý sisteminize root olarak telnet çekilememsini saglar. Dosyayý açarak içine makineye root olarak login olma hakký tanýdýðýnýz terminallerin adýný yaza bilirsiniz. Örneðin , makineye sadece birinci terminalden root olarak login oluna bilmesini istiyorsaniz dosyaya “tty1″ satýrýný ekleyiniz, birinci ve ikince terminaller- den login olunmasýný istiyorsanýz “tty1″ ve “tty2″ satýrlarýný ekleyiniz.

# gereksiz hesaplar Sisteminizde default olarak gelen , fakat hiç bir þekilde kullanmadýðýnýz hesaplar vardýr. Örneðin gopher , uucp genelde kullanýlmayan hesaplar. /etc/passwd dosyasýna bakýn ve uid”si 500″ün altýnda olan tüm kullanýcýlarý teker-teker gözden geçiriniz. Bunu kullanmýyorum, dediðiniz tüm hesaplarý kaldýrýnýz. Çünki bu hesaplar herbiri saldýrganýn sisteminize girmesi için birer kapýdýr. Bir kullanýcý hesabýný kaldýrmak için aþaðýdaki komutu çalýþtýrmanýz lazým: [root@server /root]# userdel gopher Bu komut gopher kullanýcýsýný sisteminizden kaldýrýr.

# su izni Kimsenin su yapmasýna izin vermemeniz lazým. Bunu yaparsanýz, birisi bir þekilde root þifresini öðrendiyse bile ,root olarak telnet çekemeyeceði (bak. madde l. ) ve su izni olmadýðý için sisteminizde root hakký kazanamayacaktýr. Kullanýcýlarýn su yapmasýný engellemek için aþaðýdaki satýrlarý /etc/pam.d/su dosyasýna eklemeniz lazým. auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=wheel Bundan sonra su yapa bilmesini istediðiniz kullanýcý adlarýný /etc/group dosyasý içine wheel”le baþlayan satýrýn sonuna virgülle ayýrarak ekleye bilirsiniz.

# /etc/limit.conf Dos(Denial Of Service)”lerle karþý-karþýya kalmak istemiyorsanýz bu dosyaya aþaðýdaki satýrlarý eklemeniz lazým * hard rss 5000 * hard nproc 20 Birinci satýr bir kullanýcýnýn maksimum 5 M RAM kullana bileceðini, ikinci satýr ise bir kullanýcýnýn sistemde maksimum 20 proses çalýþtýra bileceðini belirtir. Tabii ki, bu sayýlarý kullanmak zorunda deðilsiniz ve bunlarý deðiþtirip istediðiniz deðerleri yaza bilirsiniz.

16. Derleyiciler ve rpm. Sisteminizde Derleyicinin bulunmasý (gcc, cc) sisteminize sýzmýþ saldýrgana sisteminizde kaynak kodunu derleyerek çalýþtýrmasýna izin verir.Bunu önlemek için derleyicileri (kullanmýyorsanýz) kaldýrýnýz. Ayni þey rpm komutu için de geçerlidir, sisteme sýzmýþ bir saldýrgan rpm komutunu kullanarak istediði programý sisteminize yükleye bilir. Fakat rpm derleyiciler gibi degil. Derleyiciyi uninstall ettikten sonra tekrar install ede bilirsiniz. Rpm için ise ayný þey geçerli deðil.Yapmanýz gereken þey rpm komutunu /bin/ dizininde saldýrganin düþünemeyeceði bir yere kopyalamaktýr. Hatta en saglami rpm”i bir floppy”ye kopyalamaktýr.Gerektiði zaman rpm”i geri yerine kopyalayýp çalýþtýra bilirsiniz.

17. history size Sistemdeki su yapma yetkisine sahip (bak . madde n.) birisinin þifresini ele geçirmis saldýrgan, bu kullanýcýnýn history”sine bakar ve yanlýþlýkla yazýlmýþ bir þifre arar. Saldýrgana minimum imkan tanýmak için history uzunluðunu mümkün kadar kýsa tutunuz, örnegin 20. Bunu yapmak için /etc/profile dosyasýnda HISTSIZE ve HISTFILESIZE satýrlarýný deðiþtirerek bu kelimelerden sonraki sayýyý deðiþtirerek 20 yazmanýz yeterli olacaktýr.

18. /etc/lilo.conf Makineniz herkesin girip-çýka bileceði bir mekanda ise aþaðýdaki ayarlarý yapmanýzde fayda vardir. Makine sadece siz ve güvendiðiniz insanlarýn gire bildigi bir yerde ise bu maddeyi geçe bilirsiniz. /etc/lilo.conf dosyasýný açýnýz ve aþaðýdaki satýrlarý ekleyiniz timeout=00 restricted password=”your_password” timeout satýrý makine açýlýrken LILO”nun beklememesini saðlar ki bu da LILO”ya parametre verilmesini engeller. restricted satýrý makinenin single modda açýlmasý için þifre verilmesi gerektiðini belirtir. Þifreyi ise siz veriyorsunuz. (password satýrýnýn önüne yazarak). Bunlarý yaptýktan sonra þifrenizin gözükmemesi için aþaðýdaki komutu çalýþtýrarak /etc/lilo.conf dosyasýnýn izinlerini deðiþtirmeniz lazým [root@server /root]# chmod 600 /etc/lilo.conf

19. log”lar Sisteminizin herhangi bir þekilde kýrýlmasý durumunda , saldýrý hakkýnda bilgi ala bileceginiz tek kaynak log”lardýr. Bundan dolayý, sisteminizi kýrmýþ olan bir saldýrgan ,iþi bittikten sonra log dosyalarýný siler ve saldýrý hakkýnda herhangi bir bilgi alamazsýnýz. Bunu önlemek için log dosyalarýnýn saldýrýyý yapan þahsýn ulaþamayacaðý bir yerde kopyalarýnýn tutulmasý gerekir. En saðlýklý yöntem log”larýn print edilmesidir. Bunun için /etc/syslog.conf dosyasýnýn sonuna aþaðýdaki satýrý eklemeniz lazým. authpriv.* ; mail.*;local7.*;auth.*;daemon.info /dev/lp0 Fakat bu yontemin birtakým dezantajlarý var, makinenizde printer tanýtýlmamýþ ola bilir, her log”un çýktýsýný almak fazla masraflý ve karýþýk ola bilir.Bundan dolayý en iyi yöntem log”larýn baþka bir makineye kopyalanmasýdýr. Log”larý kopyalacaðýnýz örnek makinenin adý logserver olsun.Bu durumda sizin makinenizin /etc/syslog.conf dosyasýnýn sonuna þu satýrý eklemeniz lazým. authpriv.* ; mail.*;local7.*;auth.*;daemon.info @logserver logserver makinesinde ise /etc/rc.d/init.d/syslog scriptindeki “daemon syslogd -m 0 ” satýrýný “daemon syslogd -r -m 0″ olarak deðiþtirmeniz ve deðiþikliði kayd ettikten sonra her iki makinede aþaðýdaki komutu çalýþtýrarak syslog programýný restart etmeniz lazým [root@server /root]# /etc/rc.d/init.d/syslog restart

20. /etc/rc.d/init.d dizini Bu dizinin altýnda programlarý çalýþtýran scriptler yer almaktadýr. Bu dizin altindaký tüm dosyalarýn izinlerini aþaðýdaki komutla deðiþtiriniz [root@server /root]# chmod 700 /etc/rc.d/init.d/* NOT: Genel olarak kullanýcýlara mutlaka görmeleri gereken dosyalar ve dizinler hariç , hiç bir dosya ve dizine yazma ve okuma izni vermemeye çalýþýn.

21. suid bitli dosyalar Bu tür dosyalar çalýþma esnasýnda , iþlemlerini devam ettirmek için root hakký kazanýrlar. Örneðin kullanýcý passwd komutunu çalýþtýrarak þifresini deðiþtirirken, passwd programý /etc/passwd dosyasýna yazmak için root hakký kazanýr. Saldýgran bu tür programlarý farklý þekilde kullanarak sisteminize zarar vere bilir. Bundan dolayý sistemdeki tüm suid bitli dosyalarýn bulunup, bunlardan kullanýcýlarýn kullanmak zorunda olmadýklarýný tespit edilerek suid bitinin kaldýrýlmasý lazým.Sistemdeki suid bitli dosyalar aþaðýdaki komut kullanýlarak buluna bilir:

[root@serveer /root]# find / -type f \( -perm -04000 -o -perm -02000 \) \-exec ls -l {} \;

Çýktýnýn aþaðýdaki gibi olmasi lazým.

-rwsr-xr-x 1 root root 34565 sep 22 23:35 /usr/bin/chage Buna benzer 20-30 civarýnda satýr çýka bilir. En saðdaki /usr/bin/chage adýný ve yerini gösterir. Saðdaki satýra bakýn ve hangi dosyalarýn kullanýcý tarafýndan çalýþtýrýlmamasý gerektiðine karar verin. Daha sonra “chmod a-s dosya_adi” komutu ile bu dosyanýn suid bitini kaldýrýnýz.Örnegin kullanýcýnýn /usr/sbin/traceroute ve /bin/ping kullanmasýna ge- rek yok. O zaman aþaðýdaki komutlarý çalýstýrmanýz lazým

[root@server /root]# chmod a-s /usr/sbin/traceroute

[root@server /root]# chmod a-s /bin/ping

22. Gizli dosyalar Sisteminize crack programlarý ve ya passwd dosyalarý getirmiþ olan bir kullanýcý bu program ve dosyalarýn bulunamamasý için onlarý gizli olarak tutar.Ve verdiði isimlerin dikkat çekici olmamasýna dikkat eder. Örneðin bir crack programýný “.. ” adý ile tutar ve bu size sýradan bir þeymiþ gibi gelir. Bundan dolayý sistemdeki gizli dosyalarý sürekli inceliyor olmanýz lazým. Sistemdeki gizli dosyalarý görmek için aþaðýdaki komutu çalýþtýrmanýz lazým.

[root@server /root]# find / -name “.*”

Bu komut noktayla baþlayan (gizli ) dosyalarý bulur ve siz de size normal gözükmeyen dosyalarý inceleye bilirsiniz.

23. Herkes Tarafýndan Yazýla Bilen Dosya ve Dizinler Sisteminizi sürekli tarayarak sizin yazma izni verdiginiz dosya ve dizinler hariç hiç bir dosya veya dizinin herkes tarafýndan yazýlabilir olmamasýna dikkat etmeniz lazim. Sisteminizi kýrmayý baþarmýþ olan bir saldýrgan sisteme tekrar geri döne bilmek bu tür dosyalarý ve dizinleri backdoor olarak býrakmýþ ola bilir. Bu tür dosya ve dizinleri bulmak için aþaðýdaki komutu çalýþtýrýnýz.

[root@server /root]# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;

Saygýlar..



Sayfayı Yazdır | Pencereyi Kapat