歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux系統安全加固教程

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 用戶名),或要求增加密碼.

注:當新增加賬號還沒有設置密碼的時候,該賬號默認為鎖定狀態。

clip_image001

風險:要確認空口令賬戶是否和應用關聯,增加密碼是否會引起應用無法連接。

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

clip_image002

風險: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

clip_image003

風險:無可見風險

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條命令

風險:無可見風險

Copyright © Linux教程網 All Rights Reserved