1. 鎖定系統中多余的自建帳號
檢查方法:
執行命令
#cat /etc/passwd
#cat /etc/shadow
查看賬戶、口令文件,與系統管理員確認不必要的賬號。對於一些保留的系統偽帳戶如:bin, sys,adm,uucp,lp, nuucp,hpdb, www, daemon等可根據需要鎖定登陸。
備份方法:
#cp -p /etc/passwd /etc/passwd_bak
#cp -p /etc/shadow /etc/shadow_bak
加固方法:
使用命令passwd -l <用戶名>鎖定不必要的賬號。
使用命令passwd -u <用戶名>解鎖需要恢復的賬號。
風險:
需要與管理員確認此項操作不會影響到業務系統的登錄
2. 設置系統口令策略
檢查方法:
使用命令
#cat /etc/login.defs|grep PASS查看密碼策略設置
備份方法:
cp -p /etc/login.defs /etc/login.defs_bak
加固方法:
#vi /etc/login.defs修改配置文件
PASS_MAX_DAYS 90 #新建用戶的密碼最長使用天數
PASS_MIN_DAYS 0 #新建用戶的密碼最短使用天數
PASS_WARN_AGE 7 #新建用戶的密碼到期提前提醒天數
PASS_MIN_LEN 8 #最小密碼長度9
注:如果需要單獨對某個用戶密碼不限制最長時間,使用命令
passwd –x 99999 用戶名;或者passwd –x -1 用戶名
風險:無可見風險
3. 禁用root之外的超級用戶
檢查方法:
#cat /etc/passwd 查看口令文件,口令文件格式如下:
login_name:password:user_ID:group_ID:comment:home_dir:command
login_name:用戶名
password:加密後的用戶密碼
user_ID:用戶ID,(1 ~ 6000) 若用戶ID=0,則該用戶擁有超級用戶的權限。查看此處是否有多個ID=0。
group_ID:用戶組ID
comment:用戶全名或其它注釋信息
home_dir:用戶根目錄
command:用戶登錄後的執行命令
備份方法:
#cp -p /etc/passwd /etc/passwd_bak
加固方法:
使用命令passwd -l <用戶名>鎖定不必要的超級賬戶。
使用命令passwd -u <用戶名>解鎖需要恢復的超級賬戶。
風險:需要與管理員確認此超級用戶的用途。
4. 檢查shadow中空口令帳號
檢查方法:
# awk -F: ‘($2 == "") { print $1 }’ /etc/shadow
備份方法:cp -p /etc/shadow /etc/shadow_bak
加固方法:對空口令賬號進行鎖定(passwd –l 用戶名),或要求增加密碼.
注:當新增加賬號還沒有設置密碼的時候,該賬號默認為鎖定狀態。
風險:要確認空口令賬戶是否和應用關聯,增加密碼是否會引起應用無法連接。
5. 設置合理的初始文件權限
檢查方法:
#cat /etc/profile 查看umask的值
備份方法:
#cp -p /etc/profile /etc/profile_bak
加固方法:
#vi /etc/profile
umask 022
風險:會修改新建文件的默認權限為(644),如果該服務器是WEB應用,則此項謹慎修改。
6. 設置訪問控制策略限制能夠管理本機的IP地址
檢查方法:
#cat /etc/ssh/sshd_config 查看有無AllowUsers的語句
備份方法:
#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
加固方法:
#vi /etc/ssh/sshd_config,添加以下語句
AllowUsers *@10.138.*.* 此句意為:僅允許10.138.0.0/16網段所有用戶通過ssh訪問
保存後重啟ssh服務
#service sshd restart
風險:需要和管理員確認能夠管理的IP段
7. 禁止root用戶遠程登陸
檢查方法:
#cat /etc/ssh/sshd_config 查看PermitRootLogin是否為no
備份方法:
#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
加固方法:
#vi /etc/ssh/sshd_config
PermitRootLogin no
保存後重啟ssh服務
service sshd restart
風險:root用戶無法直接遠程登錄,需要用普通賬號登陸後su
8. 限定信任主機
檢查方法:
#cat /etc/hosts.equiv 查看其中的主機
#cat /$HOME/.rhosts 查看其中的主機
備份方法:
#cp -p /etc/hosts.equiv /etc/hosts.equiv_bak
#cp -p /$HOME/.rhosts /$HOME/.rhosts_bak
加固方法:
#vi /etc/hosts.equiv 刪除其中不必要的主機
#vi /$HOME/.rhosts 刪除其中不必要的主機
風險:在多機互備的環境中,需要保留其他主機的IP可信任。
9. 屏蔽登錄banner信息
檢查方法:
#cat /etc/ssh/sshd_config 查看文件中是否存在Banner字段,或banner字段為NONE
#cat /etc/motd 查看文件內容,該處內容將作為banner信息顯示給登錄用戶。
備份方法:
#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
#cp -p /etc/motd /etc/motd_bak
加固方法:
#vi /etc/ssh/sshd_config
banner NONE
#vi /etc/motd
刪除全部內容或更新成自己想要添加的內容
風險:無可見風險
10. 防止誤使用Ctrl+Alt+Del重啟系統
檢查方法:
#cat /etc/inittab|grep ctrlaltdel 查看輸入行是否被注釋
備份方法:
#cp -p /etc/inittab /etc/inittab_bak
加固方法:
#vi /etc/inittab
在行開頭添加注釋符號“#”
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
風險:無可見風險
11. 禁止ping命令
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all ##注:如果是0的話是允許ping的。
還有另外一種方法:
修改/etc/sysconfig/iptables文件:
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j DROP
12. 修改帳戶TMOUT值,設置自動注銷時間
檢查方法:
#cat /etc/profile 查看有無TMOUT的設置
備份方法:
#cp -p /etc/profile /etc/profile_bak
加固方法:
#vi /etc/profile
增加
TMOUT=600 無操作600秒後自動退出
風險:無可見風險
13. 設置Bash保留歷史命令的條數
檢查方法:
#cat /etc/profile|grep HISTSIZE=
#cat /etc/profile|grep HISTFILESIZE= 查看保留歷史命令的條數
備份方法:
#cp -p /etc/profile /etc/profile_bak
加固方法:
#vi /etc/profile
修改HISTSIZE=20即保留最新執行的20條命令
風險:無可見風險