Linux主机操作系统加固规范doc.docx
《Linux主机操作系统加固规范doc.docx》由会员分享,可在线阅读,更多相关《Linux主机操作系统加固规范doc.docx(76页珍藏版)》请在冰豆网上搜索。
Linux主机操作系统加固规范doc
Linux主机操作系统加固规范
Linux主机操作系统加固规范
本文档是Linux操作系统的对于Linux操作系统设备账号认证、日志、协议、补丁升级、文件系统管理等方面的安全配置要求,共45项,对系统的安全配置审计、加固操作起到指导性作用。
1账号管理、认证授权
1.1账号
1.1.1SHG-Linux-01-01-01
编号
SHG-Linux-01-01-01
名称
为不同的管理员分配不同的账号
实施目的
根据不同类型用途设置不同的帐户账号,提高系统安全。
问题影响
账号混淆,权限不明确,存在用户越权使用的可能。
系统当前状态
cat/etc/passwd记录当前用户列表
实施步骤
1、参考配置操作
为用户创建账号:
#useraddusername#创建账号
#passwdusername#设置密码
修改权限:
#chmod750directory#其中755为设置的权限,可根据实际情况设置相应的权限,directory是要更改权限的目录)
使用该命令为不同的用户分配不同的账号,设置不同的口令及权限信息等。
回退方案
删除新增加的帐户
判断依据
标记用户用途,定期建立用户列表,比较是否有非法用户
实施风险
高
重要等级
★★★
备注
1.1.2SHG-Linux-01-01-02
编号
SHG-Linux-01-01-02
名称
去除不需要的帐号、修改默认帐号的shell变量
实施目的
删除系统不需要的默认帐号、更改危险帐号缺省的shell变量
问题影响
允许非法利用系统默认账号
系统当前状态
cat/etc/passwd记录当前用户列表,cat/etc/shadow记录当前密码配置
实施步骤
1、参考配置操作
#userdellp
#groupdellp
如果下面这些系统默认帐号不需要的话,建议删除。
lp,sync,shutdown,halt,news,uucp,operator,games,gopher
修改一些系统帐号的shell变量,例如uucp,ftp和news等,还有一些仅仅需要FTP功能的帐号,一定不要给他们设置/bin/bash或者/bin/sh等Shell变量。
可以在/etc/passwd中将它们的shell变量设为/bin/false或者/dev/null等,也可以使用usermod-s/dev/nullusername命令来更改username的shell为/dev/null。
回退方案
恢复账号或者SHELL
判断依据
如上述用户不需要,则锁定。
实施风险
高
重要等级
★★★
备注
1.1.3SHG-Linux-01-01-03
编号
SHG-Linux-01-01-03
名称
限制超级管理员远程登录
实施目的
限制具备超级管理员权限的用户远程登录。
远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账。
问题影响
允许root远程非法登陆
系统当前状态
cat/etc/ssh/sshd_config
cat/etc/securetty
实施步骤
1、参考配置操作
SSH:
#vi/etc/ssh/sshd_config
把
PermitRootLoginyes
改为
PermitRootLoginno
重启sshd服务
#servicesshdrestart
CONSOLE:
在/etc/securetty文件中配置:
CONSOLE=/dev/tty01
回退方案
还原配置文件
/etc/ssh/sshd_config
判断依据
/etc/ssh/sshd_config中PermitRootLoginno
实施风险
高
重要等级
★★★
备注
1.1.4SHG-Linux-01-01-04
编号
SHG-Linux-01-01-04
名称
对系统账号进行登录限制
实施目的
对系统账号进行登录限制,确保系统账号仅被守护进程和服务使用。
问题影响
可能利用系统进程默认账号登陆,账号越权使用
系统当前状态
cat/etc/passwd查看各账号状态。
实施步骤
1、参考配置操作
Vi/etc/passwd
例如修改
lynn:
x:
500:
500:
:
/home/lynn:
/sbin/bash
更改为:
lynn:
x:
500:
500:
:
/home/lynn:
/sbin/nologin
该用户就无法登录了。
禁止所有用户登录。
touch/etc/nologin
除root以外的用户不能登录了。
2、补充操作说明
禁止交互登录的系统账号,比如daemon,bin,sys、adm、lp、uucp、nuucp、smmsp等等
回退方案
还原/etc/passwd文件配置
判断依据
/etc/passwd中的禁止登陆账号的shell是/sbin/nologin
实施风险
高
重要等级
★
备注
1.1.5SHG-Linux-01-01-05
编号
SHG-Linux-01-01-05
名称
为空口令用户设置密码
实施目的
禁止空口令用户,存在空口令是很危险的,用户不用口令认证就能进入系统。
问题影响
用户被非法利用
系统当前状态
cat/etc/passwd
awk-F:
'($2==""){print$1}'/etc/passwd
实施步骤
awk-F:
'($2==""){print$1}'/etc/passwd
用root用户登陆Linux系统,执行passwd命令,给用户增加口令。
例如:
passwdtesttest。
回退方案
Root身份设置用户口令,取消口令
如做了口令策略则失败
判断依据
登陆系统判断
Cat/etc/passwd
实施风险
高
重要等级
★
备注
1.1.6SHG-Linux-01-01-06
编号
SHG-Linux-01-01-06
名称
除root之外UID为0的用户
实施目的
帐号与口令-检查是否存在除root之外UID为0的用户
问题影响
账号权限过大,容易被非法利用
系统当前状态
awk-F:
'($3==0){print$1}'/etc/passwd
实施步骤
删除处root以外的UID为0的用户。
回退方案
无
判断依据
返回值包括“root”以外的条目,则低于安全要求;
实施风险
高
重要等级
★
备注
UID为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0
1.2口令
1.2.1SHG-Linux-01-02-01
编号
SHG-Linux-01-02-01
名称
缺省密码长度限制
实施目的
防止系统弱口令的存在,减少安全隐患。
对于采用静态口令认证技术的设备,口令长度至少8位。
问题影响
增加密码被暴力破解的成功率
系统当前状态
cat/etc/login.defs
实施步骤
1、参考配置操作
#vi/etc/login.defs
把下面这行
PASS_MIN_LEN5改为
PASS_MIN_LEN8
回退方案
vi/etc/login.defs,修改设置到系统加固前状态。
判断依据
PASS_MIN_LEN8
实施风险
低
重要等级
★★★
备注
1.2.2SHG-Linux-01-02-02
编号
SHG-Linux-01-02-02
名称
缺省密码生存周期限制
实施目的
对于采用静态口令认证技术的设备,帐户口令的生存期不长于90天,减少口令安全隐患。
问题影响
密码被非法利用,并且难以管理
系统当前状态
运行cat/etc/login.defs查看状态,并记录。
实施步骤
1、参考配置操作
PASS_MAX_DAYS90
PASS_MIN_DAYS0
回退方案
Vi/etc/login.defs,修改设置到系统加固前状态。
判断依据
PASS_MAX_DAYS90
实施风险
低
重要等级
★★★
备注
1.2.3SHG-Linux-01-02-03
编号
SHG-Linux-01-02-03
名称
口令过期提醒
实施目的
口令到期前多少天开始通知用户口令即将到期
问题影响
密码被非法利用,并且难以管理
系统当前状态
运行cat/etc/login.defs查看状态,并记录。
实施步骤
1、参考配置操作
PASS_WARN_AGE7
回退方案
Vi/etc/login.defs,修改设置到系统加固前状态。
判断依据
PASS_WARN_AGE7
实施风险
低
重要等级
★★★
备注
1.3文件与授权
1.3.1SHG-Linux-01-03-01
编号
SHG-Linux-01-03-01
名称
设置关键目录的权限
实施目的
在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
问题影响
非法访问文件
系统当前状态
运行ls–al/etc/记录关键目录的权限
实施步骤
1、参考配置操作
通过chmod命令对目录的权限进行实际设置。
2、补充操作说明
etc/passwd必须所有用户都可读,root用户可写–rw-r—r—
/etc/shadow只有root可读–r--------
/etc/group必须所有用户都可读,root用户可写–rw-r—r—
使用如下命令设置:
chmod644/etc/passwd
chmod600/etc/shadow
chmod644/etc/group
如果是有写权限,就需移去组及其它用户对/etc的写权限(特殊情况除外)
执行命令#chmod-Rgo-w/etc
回退方案
通过chmod命令还原目录权限到加固前状态。
判断依据
[root@localhostsysconfig]#ls-al/etc/passwd|grep'^...-.--.--'
-rw-r--r--1root16473ÔÂ719:
05/etc/passwd
[root@localhostsysconfig]#ls-al/etc/group|grep'^...-.--.--'
-rw-r--r--1root6243ÔÂ719:
04/etc/group
[root@localhostsysconfig]#ls-al/etc/shadow|grep'^...-------'
-r--------1root11403ÔÂ719:
06/etc/shadow
实施风险
高
重要等级
★★★
备注
1.3.2SHG-Linux-01-03-02
编号
SHG-Linux-01-03-02
名称
修改umask值
实施目的
控制用户缺省访问权限,当在创建新文件或目录时,屏蔽掉新文件或目录不应有的访问允许权限。
防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。
问题影响
非法访问目录
系统当前状态
more/etc/profile
more/etc/csh.login
more/etc/csh.cshrc
more/etc/bashrc
检查是否包含umask值
实施步骤
1、参考配置操作
设置默认权限:
vi/etc/profile
vi/etc/csh.login
vi/etc/csh.cshrc
vi/etc/bashrc
在末尾增加umask027
修改文件或目录的权限,操作举例如下:
#chmod444dir;#修改目录dir的权限为所有人都为只读。
根据实际情况设置权限;
2、补充操作说明
如果用户需要使用一个不同于默认全局系统设置的umask,可以在需要的时候通过命令行设置,或者在用户的shell启动文件中配置
3、补充说明
umask的默认设置一般为022,这给新创建的文件默认权限755(777-022=755),这会给文件所有者读、写权限,但只给组成员和其他用户读权限。
umask的计算:
umask是使用八进制数据代码设置的,对于目录,该值等于八进制数据代码777减去需要的默认权限对应的八进制数据代码值;对于文件,该值等于八进制数据代码666减去需要的默认权限对应的八进制数据代码值。
回退方案
修改
more/etc/profile
more/etc/csh.login
more/etc/csh.cshrc
more/etc/bashrc
文件到加固前状态。
判断依据
umask027
实施风险
高
重要等级
★
备注
1.3.3SHG-Linux-01-03-03
编号
SHG-Linux-01-03-03
名称
资源限制
实施目的
限制用户对系统资源的使用,可以避免拒绝服务(如:
创建很多进程、消耗系统的内存,等等)这种攻击方式。
这些限制必须在用户登录之前设定。
问题影响
拒绝服务攻击
系统当前状态
Cat/etc/security/limits.conf
Cat/etc/pam.d/login
实施步骤
1、参考配置操作
✧第一步
编辑“limits.conf”文件
(vi/etc/security/limits.conf),加入或改变下面这些行:
*softcore0
*hardcore0
*hardrss5000
*hardnproc20
如果限制limitu用户组对主机资源的使用,
加入:
@limitusoftcore0
@limituhardnproc30
@limitu-maxlogins5
这些行的的意思是:
“core0”表示禁止创建core文件;“nproc20”把最多进程数限制到20;“rss5000”表示除了root之外,其他用户都最多只能用5M内存。
上面这些都只对登录到系统中的用户有效。
通过上面这些限制,就能更好地控制系统中的用户对进程、core文件和内存的使用情况。
星号“*”表示的是所有登录到系统中的用户。
✧第二步
必须编辑“/etc/pam.d/login”文件,在文件末尾加入下面这一行:
sessionrequired/lib/security/pam_limits.so
补充说明:
加入这一行后“/etc/pam.d/login”文件是这样的:
#%PAM-1.0
authrequired/lib/security/pam_securetty.so
authrequired/lib/security/pam_pwdb.soshadownullok
authrequired/lib/security/pam_nologin.so
accountrequired/lib/security/pam_pwdb.so
passwordrequired/lib/security/pam_cracklib.so
passwordrequired/lib/security/pam_pwdb.sonullokuse_authtokmd5shadow
sessionrequired/lib/security/pam_pwdb.so
sessionrequired/lib/security/pam_limits.so
#sessionoptional/lib/security/pam_console.sodaemon
统计进程数量
psax|grephttpd|wc-l
回退方案
/etc/security/limits.conf
/etc/pam.d/login
恢复加固前状态
判断依据
/etc/security/limits.conf中包含
hardcore0
*hardrss5000
*hardnproc20的定义
/etc/pam.d/login中包含
sessionrequired/lib/security/pam_limits.so
实施风险
高
重要等级
★
备注
1.3.4SHG-Linux-01-03-04
编号
SHG-Linux-01-03-04
名称
设置目录权限
实施目的
设置目录权限,防止非法访问目录。
问题影响
非法访问目录
系统当前状态
查看重要文件和目录权限:
ls–l并记录。
实施步骤
1、参考配置操作
查看重要文件和目录权限:
ls–l
更改权限:
对于重要目录,建议执行如下类似操作:
#chmod-R750/etc/init.d/*
这样只有root可以读、写和执行这个目录下的脚本。
回退方案
使用chmod命令还原被修改权限的目录。
判断依据
判断/etc/init.d/*下的文件权限750以下
实施风险
高
重要等级
★
备注
1.3.5SHG-Linux-01-03-05
编号
SHG-Linux-01-03-05
名称
设置关键文件的属性
实施目的
增强关键文件的属性,减少安全隐患。
使messages文件只可追加。
使轮循的messages文件不可更改。
问题影响
非法访问目录,或者删除日志
系统当前状态
#lsattr/var/log/messages
#lsattr/var/log/messages.*
#lsattr/etc/shadow
#lsattr/etc/passwd
#lsattr/etc/group
实施步骤
1、参考配置操作
#chattr+a/var/log/messages
#chattr+i/var/log/messages.*
#chattr+i/etc/shadow
#chattr+i/etc/passwd
#chattr+i/etc/group
建议管理员对关键文件进行特殊设置(不可更改或只能追加等)。
回退方案
使用chattr命令还原被修改权限的目录。
判断依据
#lsattr/var/log/messages
#lsattr/var/log/messages.*
#lsattr/etc/shadow
#lsattr/etc/passwd
#lsattr/etc/group
判断属性
实施风险
高
重要等级
★★
备注
1.3.6SHG-Linux-01-03-06
编号
SHG-Linux-01-03-06
名称
对root为ls、rm设置别名
实施目的
为ls设置别名使得root可以清楚的查看文件的属性(包括不可更改等特殊属性)。
为rm设置别名使得root在删除文件时进行确认,避免误操作。
问题影响
非法执行指令
系统当前状态
查看当前shell:
#echo$SHELL
如果是csh:
#vi~/.cshrc
如果是bash:
#vi~/.bashrc
实施步骤
1、参考配置操作
查看当前shell:
#echo$SHELL
如果是csh:
#vi~/.cshrc
如果是bash:
#vi~/.bashrc
加入
aliaslsls-aol
aliasrmrm-i
重新登录之后查看是否生效。
回退方案
通过chmod命令还原目录权限到加固前状态。
判断依据
aliaslsls-aol
aliasrm=’rm–i’
类似的定义
实施风险
低
重要等级
★★
备注
1.3.7SHG-Linux-01-03-07
编号
SHG-Linux-01-03-07
名称
使用PAM禁止任何人su为root
实施目的
避免任何人可以su为root,减少安全隐患。
问题影响
用户提权
系统当前状态
cat/etc/pam.d/su
实施步骤
1、参考配置操作
编辑su文件(vi/etc/pam.d/su),在开头添加下面两行:
authsufficient/lib/security/pam_rootok.soauthrequired/lib/security/pam_wheel.sogroup=wheel
这表明只有wheel组的成员可以使用su命令成为root用户。
你可以把用户添加到wheel组,以使它可以使用su命令成为root用户。
添加方法为:
#chmod–G10username
回退方案
恢复/etc/pam.d/su到加固前状态。
判断依据
Cat/etc/pam.d/su
实施风险
高
重要等级
★★★
备注
1.3.8SHG-Linux-01-03-08
编号
SHG-Linux-01-03-08
名称
查看/tmp目录属性
实施目的
开放tmp目录的权限
问题影响
用户没有完整进入该目录,去浏览、删除和移动文件的权限
系统当前状态
ls-al/|greptmp
实施步骤
1、参考配置操作
Chmod+t/tmp
T或T(Sticky):
/tmp和/var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。
回退方案
Chmod回复加固之前的状态
判断依据
#ls-al/|greptmp
drwxrwxrwt7root4096May1120:
07tmp/
实施风险
高
重要等级
★★★
备注
2日志配置
2.1.1SHG-Linux-02-01-01
编号
SHG-Linux-02-01-01
名称
启用日志记录功能
实施目的
登陆认证服务记录
问题影响
无法对用户的登陆进行日志记录
系统当前状态
运行cat/etc/syslog.conf查看状态,并记录。
实施步骤
1、参考配置操作
cat/etc/syslog.conf
#Theauthprivfilehasrestrictedaccess.
authpriv.*/var/log/secure
*auth,authpriv:
主要认证有关机制,例如telnet,login,ssh等需要认证的服务都是使用此一机制
回退方案
vi/etc/syslog.conf,修改设置到系统加固前状态。
判断依据
authpriv.*/var/log/secure
实施风险
低
重要等级
★★★
备注
2.1.2SHG-Linux-02-01-02
编号
SHG-Linu