Linux安全配置基线.docx
《Linux安全配置基线.docx》由会员分享,可在线阅读,更多相关《Linux安全配置基线.docx(13页珍藏版)》请在冰豆网上搜索。
Linux安全配置基线
Linux系统安全配置基线
中国移动通信有限公司管理信息系统部
2009年3月
版本
版本控制信息
更新日期
更新人
审批人
V1.0
创建
2009年1月
备注:
1.若此文档需要日后更新,请创建人填写版本控制表格,否则删除版本控制表格。
目录
第1章概述1
1.1目的1
1.2适用范围1
1.3适用版本1
1.4实施1
1.5例外条款1
第2章账号管理、认证授权2
2.1账号2
2.1.1用户口令设置2
2.1.2root用户远程登录限制2
2.1.3检查是否存在除root之外UID为0的用户3
2.1.4root用户环境变量的安全性3
2.2认证4
2.2.1远程连接的安全性配置4
2.2.2用户的umask安全配置4
2.2.3重要目录和文件的权限设置4
2.2.4查找未授权的SUID/SGID文件5
2.2.5检查任何人都有写权限的目录6
2.2.6查找任何人都有写权限的文件6
2.2.7检查没有属主的文件7
2.2.8检查异常隐含文件7
第3章日志审计9
3.1日志9
3.1.1syslog登录事件记录9
3.2审计9
3.2.1Syslog.conf的配置审核9
第4章系统文件11
4.1系统状态11
4.1.1系统coredump状态11
第5章评审与修订12
概述
目的
本文档规定了中国移动通信有限公司管理信息系统部门所维护管理的LINUX操作系统的主机应当遵循的操作系统安全性设置标准,本文档旨在指导系统管理人员或安全检查人员进行LINUX操作系统的安全合规性检查和配置。
适用范围
本配置标准的使用者包括:
服务器系统管理员、应用管理员、网络安全管理员。
本配置标准适用的范围包括:
中国移动总部和各省公司信息化部门维护管理的LINUX服务器系统。
适用版本
LINUX系列服务器;
实施
本标准的解释权和修改权属于中国移动集团管理信息系统部,在本标准的执行过程中若有任何疑问或建议,应及时反馈。
本标准发布之日起生效。
例外条款
欲申请本标准的例外条款,申请人必须准备书面申请文件,说明业务需求和原因,送交中国移动通信有限公司管理信息系统部进行审批备案。
账号管理、认证授权
账号
1.1.1用户口令设置
安全基线项目名称
操作系统Linux用户口令安全基线要求项
安全基线编号
SBL-Linux-02-01-01
安全基线项说明
帐号与口令-用户口令设置
检测操作步骤
1、询问管理员是否存在如下类似的简单用户密码配置,比如:
root/root,test/test,root/root1234
2、执行:
more/etc/login.defs,检查PASS_MAX_DAYS/PASS_MIN_LEN/PASS_MIN_DAYS/PASS_WARN_AGE参数
3、执行:
awk-F:
'($2==""){print$1}'/etc/shadow,检查是否存在空口令账号
基线符合性判定依据
建议在/etc/login.defs文件中配置:
PASS_MIN_LEN=6
不允许存在简单密码,密码设置符合策略,如长度至少为6
不存在空口令账号
备注
usermod-s/sbin/nologinbin
passwd-lbin
awk-F:
'($2==""){print$1}'/etc/shadow
1.1.2root用户远程登录限制
安全基线项目名称
操作系统Linux远程登录安全基线要求项
安全基线编号
SBL-Linux-02-01-02
安全基线项说明
帐号与口令-root用户远程登录限制
检测操作步骤
执行:
more/etc/securetty,检查Console参数
基线符合性判定依据
建议在/etc/securetty文件中配置:
CONSOLE
备注
vi/etc/ssh/sshd_config
PermitRootLoginno
#servicesshdrestart
1.1.3检查是否存在除root之外UID为0的用户
安全基线项目名称
操作系统Linux超级用户策略安全基线要求项
安全基线编号
SBL-Linux-02-01-03
安全基线项说明
帐号与口令-检查是否存在除root之外UID为0的用户
检测操作步骤
执行:
awk-F:
'($3==0){print$1}'/etc/passwd
基线符合性判定依据
返回值包括“root”以外的条目,则低于安全要求;
备注
补充操作说明
UID为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0
1.1.4root用户环境变量的安全性
安全基线项目名称
操作系统Linux超级用户环境变量安全基线要求项
安全基线编号
SBL-Linux-02-01-04
安全基线项说明
帐号与口令-root用户环境变量的安全性
检测操作步骤
执行:
echo$PATH|egrep'(^|:
)(\.|:
|$)',检查是否包含父目录,
执行:
find`echo$PATH|tr':
'''`-typed\(-perm-002-o-perm-020\)-ls,检查是否包含组目录权限为777的目录
基线符合性判定依据
返回值包含以上条件,则低于安全要求;
备注
补充操作说明
确保root用户的系统路径中不包含父目录,在非必要的情况下,不应包含组权限为777的目录
echo$PATH
认证
1.1.5远程连接的安全性配置
安全基线项目名称
操作系统Linux远程连接安全基线要求项
安全基线编号
SBL-Linux-02-02-01
安全基线项说明
帐号与口令-远程连接的安全性配置
检测操作步骤
执行:
find/-name.netrc,检查系统中是否有.netrc文件,
执行:
find/-name.rhosts,检查系统中是否有.rhosts文件
cat/etc/.rhosts
cat/etc/hosts.equiv
基线符合性判定依据
返回值包含以上条件,则低于安全要求;
备注
补充操作说明
如无必要,删除这两个文件
1.1.6用户的umask安全配置
安全基线项目名称
操作系统Linux用户umask安全基线要求项
安全基线编号
SBL-Linux-02-02-02
安全基线项说明
帐号与口令-用户的umask安全配置
检测操作步骤
执行:
more/etc/profilemore/etc/csh.loginmore/etc/csh.cshrcmore/etc/bashrc检查是否包含umask值
基线符合性判定依据
umask值是默认的,则低于安全要求
备注
补充操作说明
建议设置用户的默认umask=077
Vi/etc/profile
Vi$HOME/bash_profile
1.1.7重要目录和文件的权限设置
安全基线项目名称
操作系统Linux目录文件权限安全基线要求项
安全基线编号
SBL-Linux-02-02-03
安全基线项说明
文件系统-重要目录和文件的权限设置
检测操作步骤
执行以下命令检查目录和文件的权限设置情况:
ls–l/etc/
ls–l/etc/rc.d/init.d/
ls–l/tmp
ls–l/etc/inetd.conf
ls–l/etc/passwd
ls–l/etc/shadow
ls–l/etc/group
ls–l/etc/security
ls–l/etc/services
ls-l/etc/rc*.d
基线符合性判定依据
若权限过低,则低于安全要求;
备注
补充操作说明
对于重要目录,建议执行如下类似操作:
#chmod-R750/etc/rc.d/init.d/*
这样只有root可以读、写和执行这个目录下的脚本。
1.1.8查找未授权的SUID/SGID文件
安全基线项目名称
操作系统LinuxSUID/SGID文件安全基线要求项
安全基线编号
SBL-Linux-02-02-04
安全基线项说明
文件系统-查找未授权的SUID/SGID文件
检测操作步骤
用下面的命令查找系统中所有的SUID和SGID程序,执行:
forPARTin`grep-v^#/etc/fstab|awk'($6!
="0"){print$2}'`;do
find$PART\(-perm-04000-o-perm-02000\)-typef-xdev-print
Done
基线符合性判定依据
若存在未授权的文件,则低于安全要求;
备注
补充操作说明
建议经常性的对比suid/sgid文件列表,以便能够及时发现可疑的后门程序
1.1.9检查任何人都有写权限的目录
安全基线项目名称
操作系统Linux目录写权限安全基线要求项
安全基线编号
SBL-Linux-02-02-05
安全基线项说明
文件系统-检查任何人都有写权限的目录
检测操作步骤
在系统中定位任何人都有写权限的目录用下面的命令:
forPARTin`awk'($3=="ext2"||$3=="ext3")\
{print$2}'/etc/fstab`;do
find$PART-xdev-typed\(-perm-0002-a!
-perm-1000\)-print
Done
基线符合性判定依据
若返回值非空,则低于安全要求;
备注
1.1.10查找任何人都有写权限的文件
安全基线项目名称
操作系统Linux文件写权限安全基线要求项
安全基线编号
SBL-Linux-02-02-06
安全基线项说明
文件系统-查找任何人都有写权限的文件
检测操作步骤
在系统中定位任何人都有写权限的文件用下面的命令:
forPARTin`grep-v^#/etc/fstab|awk'($6!
="0"){print$2}'`;do
find$PART-xdev-typef\(-perm-0002-a!
-perm-1000\)-print
Done
基线符合性判定依据
若返回值非空,则低于安全要求;
备注
1.1.11检查没有属主的文件
安全基线项目名称
操作系统Linux文件所有权安全基线要求项
安全基线编号
SBL-Linux-02-02-07
安全基线项说明
文件系统-检查没有属主的文件
检测操作步骤
定位系统中没有属主的文件用下面的命令:
forPARTin`grep-v^#/etc/fstab|awk'($6!
="0"){print$2}'`;do
find$PART-nouser-o-nogroup-print
done
注意:
不用管“/dev”目录下的那些文件。
基线符合性判定依据
若返回值非空,则低于安全要求;
备注
补充操作说明
发现没有属主的文件往往就意味着有黑客入侵你的系统了。
不能允许没有主人的文件存在。
如果在系统中发现了没有主人的文件或目录,先查看它的完整性,如果一切正常,给它一个主人。
有时候卸载程序可能会出现一些没有主人的文件或目录,在这种情况下可以把这些文件和目录删除掉。
Find/-nouser–onogroup
1.1.12检查异常隐含文件
安全基线项目名称
操作系统Linux隐含文件安全基线要求项
安全基线编号
SBL-Linux-02-02-08
安全基线项说明
文件系统-检查异常隐含文件
检测操作步骤
用“find”程序可以查找到这些隐含文件。
例如:
#find/-name"..*"-print–xdev
#find/-name"…*"-print-xdev|cat-v
同时也要注意象“.xx”和“.mail”这样的文件名的。
(这些文件名看起来都很象正常的文件名)
基线符合性判定依据
若返回值非空,则低于安全要求;
备注
补充操作说明
在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。
在UNIX下,一个常用的技术就是用一些特殊的名,如:
“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录。
日志审计
日志
1.1.13syslog登录事件记录
安全基线项目名称
操作系统Linux登录审计安全基线要求项
安全基线编号
SBL-Linux-03-01-01
安全基线项说明
日志审计-syslog登录事件记录
检测操作步骤
执行命令:
more/etc/syslog.conf
查看参数authpriv值
基线符合性判定依据
若未对所有登录事件都记录,则低于安全要求;
备注
审计
1.1.14Syslog.conf的配置审核
安全基线项目名称
操作系统Linux配置审计安全基线要求项
安全基线编号
SBL-Linux-03-02-01
安全基线项说明
日志审计-Syslog.conf的配置审核
检测操作步骤
执行:
more/etc/syslog.conf,查看是否设置了下列项:
kern.warning;*.err;authpriv.none\t@loghost
*.info;mail.none;authpriv.none;cron.none\t@loghost
*.emerg\t@loghost
local7.*\t@loghost
基线符合性判定依据
若未设置,则低于安全要求;
备注
补充操作说明
建议配置专门的日志服务器,加强日志信息的异地同步备份
系统文件
系统状态
1.1.15系统coredump状态
安全基线项目名称
操作系统Linuxcoredump状态安全基线要求项
安全基线编号
SBL-Linux-04-01-01
安全基线项说明
系统文件-系统coredump状态
检测操作步骤
执行:
more/etc/security/limits.conf检查是否包含下列项:
*softcore0
*hardcore0
基线符合性判定依据
若不存在,则低于安全要求
备注
补充操作说明
coredump中可能包括系统信息,易被入侵者利用,建议关闭
评审与修订
本标准由中国移动通信有限公司管理信息系统部定期进行审查,根据审视结果修订标准,并颁发执行。