Linux系统安全配置基线.docx
《Linux系统安全配置基线.docx》由会员分享,可在线阅读,更多相关《Linux系统安全配置基线.docx(15页珍藏版)》请在冰豆网上搜索。
Linux系统安全配置基线
Linux系统安全配置基线
Linux系统安全配置基线
第1章概述
1.1目的
本文规定了Linux操作系统主机应当遵循的操作系统安全性设置标准,本文档旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和配置。
1.2适用范围
本配置标准的使用者包括:
服务器系统管理员、安全管理员和相关使用人员。
本配置标准适用的范围包括:
Linux服务器。
1.3适用版本
适用于RedhatAS5。
第2章安装前准备工作
2.1需准备的光盘
从RedHat官网下载高级企业服务器版操作系统,并制作成光盘。
第3章操作系统的基本安装
3.1基本安装
(1)应在隔离网络进行安装。
选择custom方式,根据最小化原则,仅安装需要的软件包。
(2)根据服务器的实际用途来确实是否需要给/VAR,/HOME划分单独的分区。
(3)安装完成后尽快通过合适可行的方式安装重要的补丁程序。
第4章账号管理、认证授权
4.1账号
4.1.1用户口令设置
安全基线项目名称
操作系统Linux用户口令安全基线要求项
安全基线项说明
帐号与口令-用户口令设置,配置用户口令强度检查达到12位,要求用户口令包括数字、小写字母、大写字母和特殊符号4类中至少2类。
检测操作步骤
1、询问管理员是否存在如下类似的简单用户密码配置,比如:
root/root,test/test,root/root1234
2、执行:
more/etc/login,检查
PASS_MIN_LEN12
PASS_MAX_DAYS90
PASS_WARN_AGE7
3、执行:
awk-F:
'($2==""){print$1}'/etc/shadow,检查是否存在空口令账号
4、编辑/etc/pam.d/system-auth文件,将
passwordrequisitepam_cracklib.sotry_first_passretry=3
改为
passwordrequisitepam_cracklib.sotry_first_passretry=3dcredit=-1ocredit=-1
基线符合性判定依据
不允许存在简单密码,密码设置至少包括一个数字和一个特殊字符,长度至少为12位
检查greppam_cracklib/etc/pam.d/system-auth
修改已有用户的口令生存期和过期告警天数
#chage-M90-W7htsc_temp
备注
4.1.2检查是否存在除root之外UID为0的用户
安全基线项目名称
操作系统Linux超级用户策略安全基线要求项
安全基线项说明
帐号与口令-检查是否存在除root之外UID为0的用户
检测操作步骤
执行:
awk-F:
'($3==0){print$1}'/etc/passwd
基线符合性判定依据
返回值包括“root”以外的条目,则低于安全要求。
备注
补充操作说明
UID为0的任何用户都拥有系统的最高特权,保证只有root用户的UID为0
4.1.3检查多余账户
安全基线项目名称
操作系统Linux无用账户策略安全基线要求项
安全基线项说明
帐号与口令-检查是否存在如下不必要账户:
lp,sync,shutdown,halt,news,uucp,operator,games,gopher等,
检测操作步骤
执行:
cat/etc/passwd
如果不使用,用以下命令进行删除。
#delusertest01
基线符合性判定依据
如发现上述账户,则低于安全要求。
如主机存在gnone,则需要保留games账号
备注
4.1.4分配账户
安全基线项目名称
操作系统Linux账户策略安全基线要求项
安全基线项说明
给不同的用户分配不同的帐号,避免多个用户共享帐号。
至少分配root,auditor,operator角色。
检测操作步骤
1、参考配置操作
#useraddauditor#新建帐号
#passwdauditor#设置口令
#chmod700~auditor#修改用户主目录权限,确保只有该用户可以读写
#vi/etc/passwd注释掉不用的账户auditor#停用不用的账户
基线符合性判定依据
1、判定条件
用新建的用户登陆系统成功,可以做常用的操作,用户不能访问其他用户的主目录。
2、检测操作
用不同用户登陆,检查用户主目录的权
备注
4.1.5账号锁定
安全基线项目名称
操作系统Linuxr认证失败锁定要求项
安全基线项说明
设置帐号在3次连续尝试认证失败后锁定,锁定时间为1分钟,避免用户口令被暴力破解。
检测操作步骤
1、参考配置操作
建立/var/log/faillog文件并设置权限
#touch/var/log/faillog
#chmod600/var/log/faillog
编辑/etc/pam.d/system-auth文件,在
authrequiredpam_env.so
后面添加
authrequiredpam_tally.soonerr=faildeny=3unlock_time=60
基线符合性判定依据
1、判定条件
连续输入错误口令3次以上,再输正确口令,用户不能登陆。
2、检测操作
greppam_tally/etc/pam.d/system-auth
备注
4.1.6检查账户权限
安全基线项目名称
操作系统Linux无用账户策略安全基线要求项
安全基线项说明
帐号与口令-检查除ROOT外是否有其他账户拥有shell权限
检测操作步骤
执行:
cat/etc/passwd观察是否有非root账户设置/bin/bash或/bin/sh权限
基线符合性判定依据
无特殊应用情况下,如发现上述账户,则低于安全要求。
备注
4.2认证
4.2.1远程连接的安全性配置
安全基线项目名称
操作系统Linux远程连接安全基线要求项
安全基线项说明
帐号与口令-远程连接的安全性配置
检测操作步骤
执行:
find/-name.netrc,检查系统中是否有.netrc文件;
执行:
find/-name.rhosts,检查系统中是否有.rhosts文件
基线符合性判定依据
返回值包含以上条件,则低于安全要求。
备注
补充操作说明
如无必要,删除这两个文件
4.2.2限制ssh连接的IP配置
安全基线项目名称
操作系统Linux远程连接安全基线要求项
安全基线项说明
配置tcp_wrappers,限制允许远程登陆系统的IP范围。
检测操作步骤
1、参考配置操作
编辑/etc/hosts.deny
添加
sshd:
ALL
编辑/etc/hosts.allow
添加
sshd:
168.8.44.0/255.255.255.0#允许168.8.44.0网段远程登陆
sshd:
168.8.43.0/255.255.255.0#允许168.8.43.0网段远程登陆
基线符合性判定依据
1、判定条件
只有网管网段可以ssh登陆系统。
2、检测操作
cat/etc/hosts.deny
cat/etc/hosts.allow
备注
对于不需要sshd服务的无需配置该项。
中心机房以外的服务器管理,暂时不做源地址限制。
4.2.3用户的umask安全配置
安全基线项目名称
操作系统Linux用户umask安全基线要求项
安全基线项说明
帐号与口令-用户的umask安全配置
检测操作步骤
执行:
more/etc/profilemore/etc/csh.loginmore/etc/csh.cshrcmore/etc/bashrc检查是否包含umask值
基线符合性判定依据
umask值是默认的,则低于安全要求。
备注
补充操作说明:
vi/etc/profile
建议设置用户的默认umask=077
4.2.4查找未授权的SUID/SGID文件
安全基线项目名称
操作系统LinuxSUID/SGID文件安全基线要求项
安全基线项说明
文件系统-查找未授权的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文件列表,以便能够及时发现可疑的后门程序
4.2.5检查任何人都有写权限的目录
安全基线项目名称
操作系统Linux目录写权限安全基线要求项
安全基线项说明
文件系统-检查任何人都有写权限的目录
检测操作步骤
在系统中定位任何人都有写权限的目录用下面的命令:
forPARTin`awk'($3=="ext2"||$3=="ext3")\
{print$2}'/etc/fstab`;do
find$PART-xdev-typed\(-perm-0002-a!
-perm-1000\)-print
Done
基线符合性判定依据
若返回值非空,则低于安全要求。
备注
4.2.6查找任何人都有写权限的文件
安全基线项目名称
操作系统Linux文件写权限安全基线要求项
安全基线项说明
文件系统-查找任何人都有写权限的文件
检测操作步骤
在系统中定位任何人都有写权限的文件用下面的命令:
forPARTin`grep-v^#/etc/fstab|awk'($6!
="0"){print$2}'`;do
find$PART-xdev-typef\(-perm-0002-a!
-perm-1000\)-print
Done
基线符合性判定依据
若返回值非空,则低于安全要求。
备注
4.2.7检查没有属主的文件
安全基线项目名称
操作系统Linux文件所有权安全基线要求项
安全基线项说明
文件系统-检查没有属主的文件
检测操作步骤
定位系统中没有属主的文件用下面的命令:
forPARTin`grep-v^#/etc/fstab|awk'($6!
="0"){print$2}'`;do
find$PART-nouser-o-nogroup-print
done
注意:
不用管“/dev”目录下的那些文件
基线符合性判定依据
若返回值非空,则低于安全要求。
备注
补充操作说明
发现没有属主的文件往往就意味着有黑客入侵你的系统了。
不能允许没有属主的文件存在。
如果在系统中发现了没有属主的文件或目录,先查看它的完整性,如果一切正常,给它一个属主。
有时候卸载程序可能会出现一些没有属主的文件或目录,在这种情况下可以把这些文件和目录删除掉。
4.2.8检查异常隐含文件
安全基线项目名称
操作系统Linux隐含文件安全基线要求项
安全基线项说明
文件系统-检查异常隐含文件
检测操作步骤
用“find”程序可以查找到这些隐含文件。
例如:
#find/-name"..*"-print–xdev
#find/-name"…*"-print-xdev|cat-v
同时也要注意象“.xx”和“.mail”这样的文件名的。
(这些文件名看起来都很象正常的文件名)
基线符合性判定依据
若返回值非空,则低于安全要求。
备注
补充操作说明
在系统的每个地方都要查看一下有没有异常隐含文件(点号是起始字符的,用“ls”命令看不到的文件),因为这些文件可能是隐藏的黑客工具或者其它一些信息(口令破解程序、其它系统的口令文件,等等)。
在UNIX/LINUX下,一个常用的技术就是用一些特殊的名,如:
“…”、“..”(点点空格)或“..^G”(点点control-G),来隐含文件或目录。
第5章日志审计
5.1日志
5.1.1syslog登录事件记录
安全基线项目名称
操作系统Linux登录审计安全基线要求项
安全基线项说明
日志审计-syslog登录事件记录
检测操作步骤
执行命令:
more/etc/syslog.conf
查看参数authpriv值
Authpriv.*/var/log/secure
基线符合性判定依据
若未对所有登录事件都记录,则低于安全要求。
备注
5.2审计
5.2.1Syslog.conf的配置审核
安全基线项目名称
操作系统Linux配置审计安全基线要求项
安全基线项说明
开启系统的审计功能,记录用户对系统的操作,包括但不限于账号创建、删除,权限修改和口令修改。
检测操作步骤
1、参考配置操作
#chkconfigauditdon
基线符合性判定依据
1、判定条件
系统能够审计用户操作。
2、检测操作
chkconfig--listauditd
用aureport、ausearch查看审计日志。
备注
5.2.2日志增强
安全基线项目名称
操作系统Linux日志增强要求项
安全基线项说明
使messages只可追加,使轮循的messages文件不可更改,从而防止非法访问目录或者删除日志的操作
检测操作步骤
执行命令:
Chattr+a/var/log/messages
Chattr+i/var/log/messages.*
Chattr+i/etc/shadow
Chattr+i/etc/passwd
Chattr+i/etc/group
基线符合性判定依据
使用lsattr判断属性
备注
5.2.3syslog系统事件审计
安全基线项目名称
操作系统Linux登录审计安全基线要求项
安全基线项说明
日志审计-syslog系统安全事件记录,方便管理员分析
检测操作步骤
执行命令:
more/etc/syslog.conf
查看参数:
*.err;kern.debug;daemon.notice;/var/adm/messages
基线符合性判定依据
若未对所有登录事件都记录,则低于安全要求。
备注
第6章其他配置操作
6.1系统状态
6.1.1系统超时注销
安全基线项目名称
操作系统超时注销要求项
安全基线项说明
设置帐号超时自动注销。
检测操作步骤
1、参考配置操作
编辑/etc/profile文件,添加
TMOUT=300
用户登陆后如果300秒内没有做任何操作,则自动注销登陆。
基线符合性判定依据
1、判定条件
用户登陆后,在指定的时间内没进行操作,可以自动注销。
2、检测操作
登陆系统,在设定时间内不做任何操作动作,检查是否注销。
备注
6.2Linux服务
6.2.1禁用不必要服务
安全基线项目名称
操作系统系统服务管理安全基线要求项
安全基线项说明
根据实际情况,关闭不必要的系统服务,如:
finger,kudzu,isdn,nfs,apm,sound,pcmcia,vsftpd,rhnsd,Bluetooth,sendmail,lpd,netfs,telnet,RPC,imap等服务。
检测操作步骤
1.grep-v"#"/etc/inetd.conf检查不必要开启的服务。
2.#chkconfig--list#显示服务列表
#chkconfigservicenameoff#关闭服务自启动
#servicestopservicename#关闭指定服务
基线符合性判定依据
在无特殊应用情况下,若有上述提到的服务开启,则不符合要求。
备注
第7章持续改进
本文件由XXX定期进行审查,根据审查结果修订标准,并重新颁发执行。