Güvenilir sistem yapılan saldırılara maksimum seviyede karsı 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üm programlar kaldırılmalıdır. Asagıdaki metinde tüm bunların nasıl yapılacagı ele alınmıstır. Metin 2 kısımdan olusmaktadır
a)Sistemi güvenilir yapmak için gereken güncellemeler
Bu bölümda kernelin yeni versiyonlarının ve update'lerin ne ise yaradıkları ve nasıl yüklenecekleri anlatılmıstır.
b)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ılacagı anlatılmıstır.
Güncelleme
Bu bölümde RedHat Linux için güncellemenin nasıl yapılacagı anlatılmıstı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 çogu Linux kullanıcısı tarafından bilinen açıklar kapatılmamıs olur ve bu da sisteminize yapılabilecek saldırıların daha fazla zarar vermesine yol açar. Sistemin güncellenmesini iki alt baslık altında inceleyecegiz.
a) Kernelin yeni versiyonunun indirilmesi ve derlenmesi.
b) Update'lerin geçilmesi.
Kernelin Yeni Versiyonun Indirilmesi Ve Derlenmesi
NOT: Kernelin derlenmesi fazla zor degil. Fakat daha önce hiç derlemediyseniz, dikkatli olmanızda ve daha önce bu isi yapmıs olan birisini yanınızda bulundurmanızda fayda vardır.
İlk yapmanız gereken is 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ıstı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 indirdiginiz paketler /usr/src dizinine kopyalanır,
açılır ve kernel'e patch uygulanir.
Bunları yaptıktan sonra asagıdaki komutları da çalıstı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ıstı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ıstıra bilirsiniz. make xconfig komtunu çalıstıra bilmeniz için startx'de olmaniz lazim. make config komutunu çalıstırdıktan sonra karsınıza bir sürü soru çıkacak. Kernelin neyi destekleyip, neyi desteklememesi gerektigini 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ısacak ve daha az RAM kullanacaktır), hem de sisteminizin daha güvenli olmasını saglayacaktır
Daha sonra make dep ve make clean komutlarını çalıstırı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ıstı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ıstı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ı degistiriniz ve vmlinuz-2x yerine /boot/ dizinine kopyaladıgınız dosyanın
adını yazınız. /sbin/lilo komutunu çalıstı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 bakabilirsiniz.
Update'lerin Geçilmesi
Update'ler kernel'in güncellenmesinden daha önemlidir. Çünki her update çok önemli bir açıgı kapatır. İlk yapmanız gereken is 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-gerekmedigini ogrenmek için rpm -q komutunu paket adını parametre olarak verip çalıstırmanız lazım. Örnegin emacs paketinin sizde var olup-olmadıgını ogrenmek istiyorsanız asagıdaki komutu çalıstırınız.
[root@server /root]# rpm -q emacs
Eger çıktı asagı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 sekilde degilde asagı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 asagıdakı komutu çalıstırmanız lazım:
[root@server /root]# rpm -Uvh package-x.y.rpm
Bu komutu indirdiginiz tüm paketler için çalıstırdıktan sonra is bitmistir.
Sisteminiz artık günceldir.
Genel güvenlik
Sisteminizin saldırılardan etkilenmesini istemiyorsanız, sisteminize erisimi minimuma indirmeli ve dısarıya sisteminiz hakkında minimum bilgi vermelisiniz. Sisteme minimum erisim saldırganın sisteme girisini elgelleyecegi gibi, sistem hakkında minimum bilgi vermek de saldırganın sisteminiz hakkında bilgi toplamasını engelleyecek ve isini zorlastıracaktır. Basit bir finger komutu sisteminiz hakkında saldırgana az denemeyecek kadar bilgi veriyor. Bu bölümde sisteminizin maksimum sekilde güvenli olması için yapmanız gerekenler madde-madde ele alınmıstır.
a) Password
Sisteminiz çok kullanıcılı bir sistem ise, kullanıcıları kompleks ve uzun sifreler seçmeye zorlayın. Genelde , kırılamayacak sifre yoktur, fakat sifreler uzun ve kopleksse bu saldırganın isini zorlastırır ve hatta belki çok zamanını aldıgı için sisteminizi kırmaktan vazgeçirebilir de. sifreleri kompleks ve uzun tutmak için ilk yapmaniz gereken sey 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 baslayan satırlardan sonra asagıdaki satırı ekleyiniz
password required /lib/security/pam_ilaçlib.so
Bu satır , kullanıcıyı sifre seçerken kompleks sifreler 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.
b) /etc/exports dosyası
Bu dosya sisteminizdeki hangi dizinleri ortak kullanıma açtıgınızı gösterir. NFS
kullanmıyorsanız bu dosyanın içinin bos olmasına dikkat edin. Dosyanın attribute'unu da degistirerek immutable (degismez) yapınız.
[root@server /root]# chattr +i /etc/exports
c) /etc/inetd.conf dosyası
Bu dosya sisteminizin dısarıya hangi hizmetleri verdiginizi gösteren bir dosyadır. Dosya hizmet adlarıyla baslayan satırlardan olusur. Satırın basında # isareti varsa bu satır comment'lenmistir ve bu hizmet artık verilmemekktedir, direk hizmet programı adıyla baslıyorsa bu hizmet halen verilmektedir. Örnegin, asagıdaki /etc/inetd.conf dosyasından götürülmüs satırlar bu sistemde ftp hizmetinin verildigini, telnet hizmetinin ise verilmedigini 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 sekilde degistiriniz, baska kullanıcıların bu dosyayı görmeleri sistem hakkında gerektiginden fazla bilgi almalarına neden olur.
[root@server /root]# chmod 600 /etc/inetd.conf
Daha sonra ise attribute'unu degistirerek 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 baslayan satırın basına # koyup bu satırı comment'leyerek hizmet programını kaldırınız. Örnegin sisteminizin artık finger'lere cevap vermesini istemiyorsanız önceden
finger stream nowait root /usr/sbin/tcpd in.fingerd
seklinde olan satırı degistirerek asagıdakı sekle 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 isiniz bittikten sonra yaptıgınız degisikliklerin aktif olması için asagıdaki komutu çalıstırınız
[root@server /root]# killall -HUP inetd
d) /etc/hosts.allow ve /etc/hosts.deny dosyalari
Makinenize erisimi kısıtlamalısınız. Bunun için /etc/hosts.deny dosyasına asagıdakı satırı ekleyiniz
ALL: ALL@ALL, PARANOID
Bu satır makinenize herhangi bir sekilde erisimi 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 asagıdaki satırı eklemeniz lazim:
in.telnetd: 192.168.1.1 myhost.mydomain.
myhost.mydomain 192.168.1.1 IP adresli makinenin domain name'idir.
e)/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 basına # koyarak comment'leyiniz.
f) 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çıgı kapatmıs olursunuz. Ayrıca sisteminize ping çekemeyen saldırgan sisteminiz hakkında daha az bilgi alır ve hatta belki sisteminizin su an ayakta olup olmadıgından bile haberi olmaz. Sisteminize ping çekilmesini yasaklamak için asagıdaki komutu çalıstı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.
g) Issue dosyası
Sisteminiz telnet hizmeti veriyorsa, /etc/inetd.conf dosyasındakı telnet kelimesi ile baslayan satırı asagıdaki gibi degistiriniz
telnet stream nowait root /usr/sbin/tcpd in.telnetd -h
Daha sonra "killall -HUP inetd" komutu ile inetd'yi degerleri tekrar okumaya mecbur ediniz. /etc/inetd.conf dosyasını bu sekilde degistirmeniz makinenize telnet çekildiginde ekrana gelen issue dosyasının içeriginin görüntülenmemesini saglıyacaktır. Bu ise sisteminiz hakkında dısarıya daha az bilgi verecek. Örnegin saldırgan kernel versiyonunuzu bilemiyecek ve hangi ilaç programını kullanması gerektigine karar vermekte zorlanacaktır.
h) /etc/host.conf dosyasi
Bu dosyayı açarak order kelimesi ile baslayan satırı degistirerek su sekle getiriniz :
"order bind, hosts".
Bu makinenizi Adres sorgulamasını ilk olarak DNS'den yapmasına zorlayacaktir. Daha sonra dosyaya su satırı ekleyiniz. " nospoof on" .Bu satır da makinenizi IP address spoofing'e karsı dikkatli olmaya zorlayacaktır.
i) Source routing
IP Source routing saldirganların sistemi kırmak için kullandıkları baska bir yöntemdir.
Bunu yasaklamak için asagı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ıstırdıgı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.
j) 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 karsı koymak istiyorsanız asagıdaki komutu çalıstı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.
k) /etc/services dosyası
Bu dosya sistemdeki hizmet programlarının port numaralarını belirler Bu dosyanin kimse tarafından degistirile ve görüle bilmemesi için asagıdaki komutları çalıstırarak attribute'unu ve modunu degistiriniz Saldırgan bu dosyaya yaza bilmesi halinde portları kafasına göre kullanıma açar, ve baska bir zaman geri döne bilmek için backdoor bırakabilir.
[root@server /root]# chattr +i /etc/services
[root@server /root]# chmod 600 /etc/services
l) /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ıgınız terminallerin adını yazabilirsiniz. Örnegin , makineye sadece birinci terminalden root olarak login olunabilmesini istiyorsaniz dosyaya "tty1" satırını ekleyiniz, birinci ve ikince terminallerden login olunmasını istiyorsanız "tty1" ve "tty2" satırlarını ekleyiniz.
m) gereksiz hesaplar
Sisteminizde default olarak gelen , fakat hiç bir sekilde kullanmadıgınız hesaplar vardır.
Örnegin 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, dediginiz 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 asagıdaki komutu çalıstırmanız lazım:
[root@server /root]# userdel gopher
Bu komut gopher kullanıcısını sisteminizden kaldırır.
n) su izni
Kimsenin su yapmasına izin vermemeniz lazım. Bunu yaparsanız, birisi bir sekilde root sifresini ögrendiyse bile ,root olarak telnet çekemeyecegi (bak. madde l. ) ve su izni olmadıgı için sisteminizde root hakkı kazanamayacaktır. Kullanıcıların su yapmasını engellemek için asagı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 istediginiz kullanıcı adlarını /etc/group dosyası içine wheel'le baslayan satırın sonuna virgülle ayırarak ekleye bilirsiniz.
o) /etc/limit.conf
Dos(Denial Of Service)'lerle karsı-karsıya kalmak istemiyorsanız bu dosyaya asagı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 bilecegini, ikinci satır ise bir kullanıcının sistemde maksimum 20 proses çalıstıra bilecegini belirtir. Tabii ki, bu sayıları kullanmak zorunda degilsiniz ve bunları degistirip istediginiz degerleri yazabilirsiniz.
p) Derleyiciler ve rpm.
Sisteminizde Derleyicinin bulunması (gcc, cc) sisteminize sızmıs saldırgana sisteminizde kaynak kodunu derleyerek çalıstırmasına izin verir.Bunu önlemek için derleyicileri (kullanmıyorsanız) kaldırınız. Ayni sey rpm komutu için de geçerlidir, sisteme sızmıs bir saldırgan rpm komutunu kullanarak istedigi programı sisteminize yükleyebilir.
Fakat rpm derleyiciler gibi degil. Derleyiciyi uninstall ettikten sonra tekrar install edebilirsiniz. Rpm için ise aynı sey geçerli degil.Yapmanız gereken sey rpm komutunu /bin/ dizininde saldırganin düsünemeyecegi bir yere kopyalamaktır. Hatta en saglami rpm'i bir floppy'ye kopyalamaktır.Gerektigi zaman rpm'i geri yerine kopyalayıp çalıstıra bilirsiniz.
q) history size
Sistemdeki su yapma yetkisine sahip (bak . madde n.) birisinin sifresini ele geçirmis saldırgan, bu kullanıcının history'sine bakar ve yanlıslıkla yazılmıs bir sifre arar.
Saldırgana minimum imkan tanımak için history uzunlugunu mümkün oldugu kadar kısa tutunuz, örnegin 20 olsun. Bunu yapmak için /etc/profile dosyasında HISTSIZE ve HISTFILESIZE satırlarını degistirerek bu kelimelerden sonraki sayıyı degistirerek 20 yazmanız yeterli olacaktır.
r) /etc/lilo.conf
Makineniz herkesin girip-çıka bilecegi bir mekanda ise asagıdaki ayarları yapmanızde fayda vardir. Makine sadece siz ve güvendiginiz insanların gire bildigi bir yerde ise bu maddeyi geçe bilirsiniz. /etc/lilo.conf dosyasını açınız ve asagıdaki satırları ekleyiniz
timeout=00
restricted
password="your_password"
timeout satırı makine açılırken LILO'nun beklememesini saglar ki bu da LILO'ya parametre verilmesini engeller. restricted satırı makinenin single modda açılması için sifre verilmesi gerektigini belirtir. sifreyi ise siz veriyorsunuz. (password satırının önüne yazarak). Bunları yaptıktan sonra sifrenizin gözükmemesi için asagıdaki komutu çalıstırarak /etc/lilo.conf dosyasının izinlerini degistirmeniz lazım
[root@server /root]# chmod 600 /etc/lilo.conf
s) log'lar
Sisteminizin herhangi bir sekilde kırılması durumunda , saldırı hakkında bilgi alabileceginiz tek kaynak log'lardır. Bundan dolayı, sisteminizi kırmıs olan bir saldırgan ,isi 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 sahsın ulasamayacagı bir yerde kopyalarının tutulması gerekir. En saglıklı yöntem log'ların print edilmesidir.
Bunun için /etc/syslog.conf dosyasının sonuna asagı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ıs ola bilir, her log'un çıktısını almak fazla masraflı ve karısık ola bilir.Bundan dolayı en iyi yöntem log'ların baska bir makineye kopyalanmasıdır. Log'ları kopyalacagınız örnek makinenin adı logserver olsun.Bu durumda sizin makinenizin /etc/syslog.conf dosyasının sonuna su 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 degistirmeniz ve degisikligi kaydettikten sonra her iki makinede asagıdaki komutu çalıstırarak syslog programını restart etmeniz lazım
[root@server /root]# /etc/rc.d/init.d/syslog restart
t) /etc/rc.d/init.d dizini
Bu dizinin altında programları çalıstıran scriptler yer almaktadır. Bu dizin altindakı tüm dosyaların izinlerini asagıdaki komutla degistiriniz
[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ısın.
u) suid bitli dosyalar
Bu tür dosyalar çalısma esnasında , islemlerini devam ettirmek için root hakkı kazanırlar.
Örnegin kullanıcı passwd komutunu çalıstırarak sifresini degistirirken, passwd programı /etc/passwd dosyasına yazmak için root hakkı kazanır. Saldıgran bu tür programları farklı sekilde 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 asagıdaki komut kullanılarak buluna bilir:
[root@serveer /root]# find / -type f \( -perm -04000 -o -perm -02000
\) \-exec ls -l {} \;
Çıktının asagı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 sagdaki /usr/bin/chage adını ve yerini gösterir. Sagdaki satıra bakın ve hangi dosyaların kullanıcı tarafından çalıstırılmaması gerektigine 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 gerek yok. O zaman asagı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
v) Gizli dosyalar
Sisteminize ilaç programları ve ya passwd dosyaları getirmis olan bir kullanıcı bu program ve dosyaların bulunamaması için onları gizli olarak tutar.Ve verdigi isimlerin dikkat çekici olmamasına dikkat eder. Örnegin bir ilaç programını ".. " adı ile tutar ve bu size sıradan bir seymis gibi gelir. Bundan dolayı sistemdeki gizli dosyaları sürekli inceliyor olmanız lazım. Sistemdeki gizli dosyaları görmek için asagıdaki komutu çalıstırmanız lazım.
[root@server /root]# find / -name ".*"
Bu komut noktayla baslayan (gizli ) dosyaları bulur ve siz de size normal gözükmeyen dosyaları inceleye bilirsiniz.
w) Herkes Tarafından Yazılabilen 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ı basarmıs olan bir saldırgan sisteme tekrar geri döne bilmek bu tür dosyaları ve dizinleri backdoor olarak bırakmıs ola bilir. Bu tür dosya ve dizinleri bulmak için asagıdaki komutu çalıstırınız.
[root@server /root]# find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;
Alıntıdır
Saygılarımla

