1.最小化安全系統,刪除不必要的軟件,關閉不必要的服務。
# ntsysv
以下僅列出需要啟動的服務,未列出的服務一律推薦關閉,必要運行的服務再逐個打開。
atd
crond
irqbalance
microcode_ctl
network
sshd
syslog
2.刪除finger程序,具體方法如下
#rpm –e finger
3.BOIS安全設置
4.帳號安全設置
修改/etc/login.def文件
PASS_MAX_DAYS 120 ?設置密碼過期日期
PASS_MIN_DAYS 0 ?設置密碼最少更改日期
PASS_MIN_LEN 10 ?設置密碼最小長度
PASS_WARN_AGE 7 ?設置過期提前警告天數
確保/etc/shadow為root只讀
確保/etc/passwd為root讀寫
定期用密碼工具檢測用戶密碼強度
5./etc/exports
如果通過NFS把文件共享出來,那麼一定要配置”/etc/exports”文件,使得訪問限制盡可能的嚴格。這就是說,不要使用通配符,不允許對根目錄有寫權限,而且盡可能的只給讀權限。在/etc/exports文件加入:
/dir/to/export host1.mydomain.com(ro,root_squash)
/dir/to/export host2.mydomain.com(ro,root_squash)
建議最好不要使用NFS.
6.inetd.conf或xinetd.conf
如果是inetd.conf建議注釋掉所有的r開頭的程序,exec等
7.TCP_Wrappers
在/etc/hosts.allow中加入允許的服務,在/etc/hosts.deny裡加入這麼一行ALL:ALL
8./etc/aliases文件
Aliases文件如果管理錯誤或管理粗心就會造成安全隱患。把定義”decode”這個別名的行從aliases文件中刪除。
編輯aliases,刪除或注釋下面這些行:
#games: root
#ingres: root
#system: root
#toor: root
#uucp: root
#manager: root
#dumper: root
#operator: root
#decode: root
運行/usr/bin/nesaliases重新加載。
9.防止sendmail被沒有授權的用戶濫用
編輯sendmail.cf
把PrivacyOptions=authwarnings
改為PrivacyOptions=authwarnings,noexpn,novrfy
10.不響應ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
11.使TCP SYN Cookie保護生效
Echo 1 > /proc/sys/net/ipv4/tcp_syncookies
12.刪除不必要的用戶和組用戶
刪除的用戶,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等
刪除的組,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等
可以設置不可更改位
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
13.防止任何人都可以用su命令成為root
編輯su文件(vi /etc/pam.d/su),加入如下兩行
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel
把能su為root的用戶加入wheel組
usermod -G10 username
14.使Control+Alt+Delete關機鍵無效
編輯inittab文件,注釋掉
Ca:ctrlaltdel:/sbin/shutdown –t3 –r now
運行/sbin/init q 使設置生效
15.創建所有重要的日志文件的硬拷貝
如果服務器比較重要,可以考慮把ssh,mail,引導信息等打印出來。在/etc/syslog.conf文件中加入一行。:
Authpriv.*;mail.*;local7.*;auth.*;daemon.info /dev/lp0
執行/etc/rc.d/init.d/syslog restart
或者把日志發送到其它服務器保存
如
authpriv.* /var/log/secure
要把它發送到192.168.0.2,就可以這樣修改
authpriv.* @192.168.0.2 /var/log/secure
16.改變/etc/rc.d/init.d目錄下的腳本文件的訪問許可
chmod –R 700 /etc/rc.d/init.d/*
注意:慎重修改此安全設置
17./etc/rc.d/rc.local
把此文件中無關的信息全部注釋,不讓任何人看到任何有關主機的信息。
刪除/etc下的issue和issue.net
18.帶S位的程序
可以清除s位的程序包括但不限於:
從來不用的程序;
不希望非root用戶運行的程序;
偶爾用用,但是不介意先用su命令變為root後再運行。
find / -type f \( -perm 04000 –o –perm -02000 \) -print
chmod a-s 程序名
19.查看系統隱藏文件
find / -name “。*” –print
20.查找任何人都有寫權限的文件和目錄
find / -type f \( -perm -2 -o perm -20 \) ls
find / -type f \( -perm -2 –o –perm -20 \) ls
21.查找系統中沒有主人的文件
find / -nouser –o –nogroup
22.查找。rhosts文件
find /home -name ".rhosts"
如果有,請刪除它。
23.收回系統編譯器的權限或刪除
如: chmod 700 /usr/bin/gcc