一、系統安全記錄檔案
#more /var/log/secure統計訪問IP及次數。
#grep -oP '(\d+\.){3}\d+' /var/log/secure |sort |uniq -c
二、啟動和登入安全性1.用戶口令 修改改密碼長度/etc/login.defs #vi /etc/login.defs PASS_MIN_LEN 8
2.注釋掉不需要的用戶和用戶組vi /etc/passwd vi /etc/group
3.口令檔案chattr命令給下麵的檔案加上不可更改内容,從而防止非授權用戶獲得許可權。#chattr +i /etc/passwd #chattr +i /etc/shadow #chattr +i /etc/group #chattr +i /etc/gshadow
4.禁止CtrlAltDelete重新啟動機器命令 修改/etc/inittab檔案,將ca::ctrlaltdel:/sbin/shutdown -t3 -r now”一行注釋掉。 然後重新設定/etc/rc.d/init.d/目錄下所有檔案的許可許可權,運行如下命令:#chmod -R 700 /etc/rc.d/init.d/*這樣便僅有root可以讀、寫或執行上述所有腳本檔案。
5.限制su命令 當不想任何人能够su作為root,可以編輯/etc/pam.d/su檔案,新增如下兩行:auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=isd這時,僅isd組的用戶可以su作為root。此後,如果希望用戶admin能够su作為root,可以運行如下命令:#usermod -G10 admin
6 .更改SSH埠,最好改為10000以上,別人掃描到埠的機率也會下降 不允許使用低版本的SSH協定vi /etc/ssh/ssd_config將#protocol2,1改為protocol2將PORT改為1000以上埠vi /etc/ssh/sshd_config Port 10000同時,創建一個普通登入用戶,並取消直接root登入useradd 'username' passwd 'username' vi /etc/ssh/sshd_config PermitRootLogin no#取消root直接遠程登入
7 .關閉那些不需要的服務,記住少開一個服務,就少一個危險。 以下僅列出需要啟動的服務,未列出的服務一律關閉:#setup acpid anacron cpuspeed crond irqbalance\\僅當服務器CPU為S.M.P架構或支持雙核心、HT科技時,才需開啟,否則關閉。microcode_ctl network random sendmail sshd syslog yum-updatesd
8 .啟用iptables防火牆,對新增系統安全有許多好處。設定好防火牆的規則。/etc/init.d/iptables start
三、限制網絡訪問
1.NFS訪問 使用NFS網絡檔案系統服務,應該確保/etc/exports具有最嚴格的存取權限設定,也就是意味著不要使用任何萬用字元、不允許root寫許可權並且只能安裝為只讀檔案系統。編輯檔案/etc/exports並加入如下兩行。/dir/to/export host1.mydomain.com(ro,root_squash) /dir/to/export host2.mydomain.com(ro,root_squash) /dir/to/export是想輸出的目錄,host.mydomain.com是登入這個目錄的機器名,ro意味著mount成只讀系統,root_squash禁止root寫入該目錄。為了使改動生效,運行如下命令。#/usr/sbin/exportfs-a
2.TCP_WRAPPERS設定 默認情况下,多數Linux系統允許所有的請求,而用TCP_WRAPPERS增强系統安全性是舉手之勞,可以修改/etc/hosts.deny和/etc/hosts.allow來新增訪問限制。例如,將/etc/hosts.deny設為”ALL:ALL”可以默認拒絕所有訪問,然後在/etc/hosts.allow檔案中添加允許的訪問。 例如,”sshd:192.168.10.10/255.255.255.0 gate.openarch.com”表示 允許IP地址192.168.10.10和主機名gate.openarch.com允許通過SSH連接。
3.登入終端設定/etc/securetty檔案指定了允許root登入的tty設備,由/bin/login程式讀取,其格式是一個被允許的名字清單,可以編輯/etc/securetty且注釋掉如下的行。tty1 #tty2 #tty3 #tty4 #tty5 #tty6這時,root僅可在tty1終端登入。
四、防止攻擊1.封锁ping如果沒人能ping通系統,安全性自然新增了,為此,我們可以在/etc/rc.d/rc.local檔案中新增如下一行echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
2.防止IP欺騙 編輯host.conf檔案並新增如下幾行來防止IP欺騙攻擊。order bind,hosts解析順序multi on 允許多面網絡(多網卡開啟)nospoof on 拒絕IP欺騙
3.防止DoS攻擊 對系統所有的用戶設置資源限制可以防止DoS類型攻擊,如最大行程數和記憶體使用數量等。 例如,可以在/etc/security/limits.conf中添加如下幾行:* hard core 0 * hard rss 5000 * hard nproc 20然後必須編輯/etc/pam.d/login檔案檢查下麵一行是否存在。session required /lib/security/pam_limits.so core 0表示禁止創建core檔案,nproc 20把最多的行程數限制到20 *表示登入到系統的所有用戶rss 5000表示除了root之外,其它用戶最多只能用5M記憶體。這樣可以更好的控制系統中用戶對行程、core檔案和記憶體的使用情况。