Linux操作系统安全系统配置要求规范V10.docx
《Linux操作系统安全系统配置要求规范V10.docx》由会员分享,可在线阅读,更多相关《Linux操作系统安全系统配置要求规范V10.docx(25页珍藏版)》请在冰豆网上搜索。
![Linux操作系统安全系统配置要求规范V10.docx](https://file1.bdocx.com/fileroot1/2023-1/30/8d0d2808-7b1e-4e01-ade8-b8784d4a2fd9/8d0d2808-7b1e-4e01-ade8-b8784d4a2fd91.gif)
Linux操作系统安全系统配置要求规范V10
Linux操作系统
安全配置规范
1概述
1.1适用范围
本规范适用于LINUX操作系统的设备。
本规范明确了LINUX操作系统配置的基本安全要求,在未特别说明的情况下,适用于Redhat与Suse操作系统版本。
1.2外部引用说明
1.3术语和定义
1.4符号和缩略语
(对于规范出现的英文缩略语或符号在这里统一说明。
)
缩写
英文描述
中文描述
2LINUX设备安全配置要求
本规范所指的设备为采用LINUX操作系统的设备。
本规范提出的安全配置要求,在未特别说明的情况下,均适用于采用LINUX操作系统的设备。
本规范从运行LINUX操作系统设备的认证授权功能、安全日志功能、IP网络安全功能,其他自身安全配置功能四个方面提出安全配置要求。
2.1账号管理、认证授权
2.1.1账号
2.1.1.1检查是否删除或锁定无关账号
检查项名称
检查是否删除或锁定无关账号
中文编号
英文编号
要求内容
应删除或锁定与设备运行、维护等工作无关的账号。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
1、执行:
#more/etc/passwd/etc/shadow
查看是否存在以下可能无用的帐户:
lpuucpnobodygamesrpmsmmspnfsnobody。
Adm、sync、shutdown、halt、news、operator
判定条件
lpuucpnobodygamesrpmsmmspnfsnobody这些帐户不存在或者它们的密码字段为!
!
,则这些帐户被锁定,符合安全要求,否则低于安全要求。
补充说明
加固方案类别
参考操作配置
1、执行备份:
#cp-p/etc/passwd/etc/passwd_bak
#cp-p/etc/shadow/etc/shadow_bak
2、锁定无用帐户:
方法一:
#vi/etc/shadow
在需要锁定的用户名的密码字段前面加!
!
,如test:
!
!
$1$QD1ju03H$LbV4vdBbpw.MY0hZ2D/Im1:
14805:
0:
99999:
7:
:
:
方法二:
#passwd-ltest
3、将/etc/passwd文件中的shell域设置成/bin/false。
补充操作说明
lpuucpnobodygamesrpmsmmspnfsnobody
Adm、sync、shutdown、halt、news、operator这些帐户不存在或者它们的密码字段为!
!
2.1.1.2检查是否限制root远程登录
检查项名称
检查是否限制root远程登录
中文编号
英文编号
要求内容
限制具备超级管理员权限的用户远程登录。
远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
查看配置文件
#more/etc/securetty
#more/etc/ssh/sshd_config
判定条件
#more/etc/securetty
检查是否有下列行:
pts/x(x为一个十进制整数)
#more/etc/ssh/sshd_config
检查下列行设置是否为no并且未被注释:
PermitRootLogin
不存在pts/x则禁止了telnet登录,PermitRootLoginno禁止了ssh登录,符合以上条件则禁止了root远程登录,符合安全要求,否则低于安全要求。
补充说明
#Authentication:
#LoginGraceTime2m
#PermitRootLoginyes
#StrictModesyes
#MaxAuthTries6
PermitRootLogin的值改为no,不允许root远程登录
加固方案类别
参考操作配置
1、执行备份:
#cp-p/etc/securetty/etc/securetty_bak
#cp-p/etc/ssh/sshd_config/etc/ssh/sshd_config_bak
2、新建一个普通用户并设置高强度密码:
#useraddusername
#passwdusername
3、禁止root用户远程登录系统:
#vi/etc/securetty
注释形如pts/x的行,保存退出,则禁止了root从telnet登录。
#vi/etc/ssh/sshd_config
修改PermitRootLogin设置为no并不被注释,保存退出,则禁止了root从ssh登录。
#/etc/init.d/sshdrestart
补充操作说明
以下为测试telnet登录结果:
/etc/pam.d/login/etc/seruretty结果
注释掉存在文件,存在PTS能登录
注释掉存在文件,不存在PTS不能登录
注释掉不存在文件能登录
不注释不存在文件能登陆
不注释存在文件,不存在PTS不能登录
不注释存在文件,存在PTS能登录
/etc/ssh/sshd_config文件中PermitRootLogin值为no,并且/etc/security/user下值为pts
2.1.2口令
2.1.2.1检查口令策略设置是否符合复杂度要求
检查项名称
检查口令策略设置是否符合复杂度要求
中文编号
安全要求-设备-通用-配置-4
英文编号
要求内容
对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
#more/etc/pam.d/system-auth
检查以下参数配置:
passwordrequisitepam_cracklib.sodcredit=-1ucredit=-1lcredit=-1ocredit=-1minclass=2minlen=8
passwordsufficientpam_unix.somd5shadownulloktry_first_passuse_authtok
是否配置了minlen=8,minclass=2。
或者
passwordrequisitepam_passwdqc.somin=disabled,24,12,8,7passphrase=3
passwordsufficientpam_unix.sonullokuse_authtokmd5shadow
是否配置了min=N0,N1,N2,N3,N4。
其中N1代表使用两种字符时,口令最短长度。
判定条件
使用pam_cracklib模块时,配置了minclass大于等于2,minlen大于等于6,符合安全要求,否则低于安全要求;
如果使用pam_passwdqc模块,配置了min=N0,N1,N2,N3,N4,其中N1大于等于6,符合安全要要求,否则低于安全要求。
补充说明
可使用pampam_cracklibmodule或pam_passwdqcmodule实现密码复杂度,两者不能同时使用。
pam_cracklib主要参数说明:
tretry=N:
重试多少次后返回密码修改错误
difok=N:
新密码必需与旧密码不同的位数
dcredit=N:
N>=0密码中最多有多少个数字;N<0密码中最少有多少个数字
lcredit=N:
小写字母的个数
ucredit=N:
大写字母的个数
credit=N:
特殊字母的个数
minclass=N:
密码组成(大/小字母,数字,特殊字符)
minlen=N:
新密码最短长度
pam_passwdqc主要参数说明:
mix:
设置口令字最小长度,默认值是mix=disabled。
max:
设置口令字的最大长度,默认值是max=40。
passphrase:
设置口令短语中单词的最少个数,默认值是passphrase=3,如果为0则禁用口令短语。
match:
设置密码串的常见程序,默认值是match=4。
similar:
设置当我们重设口令时,重新设置的新口令能否与旧口令相似,它可以是similar=permit允许相似或similar=deny不允许相似。
random:
设置随机生成口令字的默认长度。
默认值是random=42。
设为0则禁止该功能。
enforce:
设置约束范围,enforce=none表示只警告弱口令字,但不禁止它们使用;enforce=users将对系统上的全体非根用户实行这一限制;enforce=everyone将对包括根用户在内的全体用户实行这一限制。
non-unix:
它告诉这个模块不要使用传统的getpwnam函数调用获得用户信息。
retry:
设置用户输入口令字时允许重试的次数,默认值是retry=3
如配置密码长度最小8位,至少包含大小写字母、数字、其它字符中的两类,可做如下配置:
passwordrequisitepam_cracklib.sodcredit=-1ucredit=-1lcredit=-1ocredit=-1minclass=2minlen=8
passwordsufficientpam_unix.somd5shadownulloktry_first_passuse_authtok
以下使用pam_passwdqc模块限制:
passwordrequiredpam_passwdqc.somin=disabled,12,8,6,5max=40
passphrase=3match=4similar=denyrandom=42enforce=everyoneretry=3
passwordsufficientpam_unix.sonullokuse_authtokmd5shadowuse_first_pass
上述这些规则其本质就是:
不接受任何单种字符类的口令;对两种字符混合的密码,强制口令最小长度是12位;对口令字强制最小长度是8位;对3种字符混合的密码强制最小长度是8位;4种字符混合的密码强制最小长度是5位。
所谓4种字符混合的密码就是由“数字”,“小写字母”,“大写字母”,以及“其它字符”组成(其它字符就是类似“!
”、“_”这种)。
另外,上述这些规则同时还强制任何口令长度不得超过40位。
加固方案类别
参考操作配置
1、执行备份:
#cp-p/etc/pam.d/system-auth/etc/pam.d/system-auth_bak
或者cp-p/etc/pam.d/passwd/etc/pam.d/passwd_bak
2、修改策略设置:
#vi/etc/pam.d/system-auth
可使用pampam_cracklibmodule或pam_passwdqcmodule实现密码复杂度,两者不能同时使用。
pam_cracklib主要参数说明:
tretry=N:
重试多少次后返回密码修改错误
difok=N:
新密码必需与旧密码不同的位数
dcredit=N:
N>=0密码中最多有多少个数字;N<0密码中最少有多少个数字
lcredit=N:
小写字母的个数
ucredit=N:
大写字母的个数
credit=N:
特殊字母的个数
minclass=N:
密码组成(大/小字母,数字,特殊字符)
minlen=N:
新密码最短长度
pam_passwdqc主要参数说明:
mix:
设置口令字最小长度,默认值是mix=disabled。
max:
设置口令字的最大长度,默认值是max=40。
passphrase:
设置口令短语中单词的最少个数,默认值是passphrase=3,如果为0则禁用口令短语。
match:
设置密码串的常见程序,默认值是match=4。
similar:
设置当我们重设口令时,重新设置的新口令能否与旧口令相似,它可以是similar=permit允许相似或similar=deny不允许相似。
random:
设置随机生成口令字的默认长度。
默认值是random=42。
设为0则禁止该功能。
enforce:
设置约束范围,enforce=none表示只警告弱口令字,但不禁止它们使用;enforce=users将对系统上的全体非根用户实行这一限制;enforce=everyone将对包括根用户在内的全体用户实行这一限制。
non-unix:
它告诉这个模块不要使用传统的getpwnam函数调用获得用户信息。
retry:
设置用户输入口令字时允许重试的次数,默认值是retry=3
如配置密码长度最小8位,至少包含大小写字母、数字、其它字符中的两类,可做如下配置:
passwordrequisitepam_cracklib.sodcredit=-1ucredit=-1lcredit=-1ocredit=-1minclass=2minlen=8
passwordsufficientpam_unix.somd5shadownulloktry_first_passuse_authtok
注:
suse设备是/etc/pam.d/passwd文件
补充操作说明
以下使用pam_passwdqc模块限制:
passwordrequiredpam_passwdqc.somin=disabled,12,8,6,5max=40
passphrase=3match=4similar=denyrandom=42enforce=everyoneretry=3
passwordsufficientpam_unix.sonullokuse_authtokmd5shadowuse_first_pass
上述这些规则其本质就是:
不接受任何单种字符类的口令;对两种字符混合的密码,强制口令最小长度是12位;对口令字强制最小长度是8位;对3种字符混合的密码强制最小长度是8位;4种字符混合的密码强制最小长度是5位。
所谓4种字符混合的密码就是由“数字”,“小写字母”,“大写字母”,以及“其它字符”组成(其它字符就是类似“!
”、“_”这种)。
另外,上述这些规则同时还强制任何口令长度不得超过40位。
/etc/pam.d/system-auth文件中minclass大于等于2,minlen大于等于8
2.1.2.2检查口令生存周期要求
检查项名称
检查口令生存周期要求
中文编号
英文编号
要求内容
对于采用静态口令认证技术的设备,维护人员使用的帐户口令的生存期不长于90天。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
执行:
#more/etc/login.defs
检查PASS_MAX_DAYS/PASS_MIN_DAYS/PASS_WARN_AGE参数。
判定条件
PASS_MAX_DAYS值不大于90天则符合安全要求,否则低于安全要求。
补充说明
加固方案类别
参考操作配置
1、执行备份:
#cp-p/etc/login.defs/etc/login.defs_bak
2、修改策略设置:
#vi/etc/login.defs
修改PASS_MIN_LEN的值为8,修改PASS_MAX_DAYS的值为90,按要求修改PASS_MIN_DAYS/PASS_WARN_AGE的值,保存退出
补充操作说明
/etc/login.defs文件中PASS_MAX_DAYS值不大于90
2.1.2.3检查口令重复次数限制
检查项名称
检查口令重复次数限制
中文编号
安全要求-设备-通用-配置-6-可选
英文编号
要求内容
对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用最近5次(含5次)内已使用的口令。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
#cat/etc/pam.d/system-auth
检查passwordrequiredpam_unix.so所在行是否存在remember=5
判定条件
存在remember大于等于5,则符合安全要求,否则低于安全要求。
补充说明
加固方案类别
参考操作配置
1、执行备份:
#cp-p/etc/pam.d/system-auth/etc/pam.d/system-auth_bak
2、创建文件/etc/security/opasswd,并设置权限:
#touch/etc/security/opasswd
#chownroot:
root/etc/security/opasswd
#chmod600/etc/security/opasswd
3、修改策略设置:
#vi/etc/pam.d/system-auth
在passwordrequiredpam_unix.so所在行增加remember=5,保存退出;
补充操作说明
/etc/pam.d/system-auth文件中存在passwordxxxremember=值大于等于5
2.1.2.4检查口令锁定策略
检查项名称
检查口令锁定策略
中文编号
安全要求-设备-通用-配置-7-可选
英文编号
要求内容
对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
1、执行:
#cat/etc/pam.d/system-auth
检查是否存在
authrequiredpam_env.so
authrequiredpam_tally2.sodeny=6onerr=failno_magic_rootunlock_time=120
判定条件
存在deny的值小于等于6,则符合安全要求,否则低于安全要要求。
补充说明
加固方案类别
参考操作配置
1、执行备份:
#cp-p/etc/pam.d/system-auth/etc/pam.d/system-auth_bak
2、修改策略设置:
#vi/etc/pam.d/system-auth
增加authrequiredpam_tally2.sodeny=6onerr=failno_magic_rootunlock_time=120
到第二行。
保存退出;
补充操作说明
使配置生效需重启服务器。
root帐户不在锁定范围内。
帐户被锁定后,可使用faillog-u-r或pam_tally--user--reset解锁。
/etc/pam.d/system-auth文件中存在deny的值小于等于6
2.1.2.5检查FTP是否禁止匿名登录
检查项名称
检查FTP是否禁止匿名登录
中文编号
英文编号
要求内容
FTP是否禁止匿名登录。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
执行命令:
ftplocalhost
输出成果:
使用anonymous用户登录,输入密码:
test@,测试是否成功。
判定条件
符合:
使用anonymous用户登录,输入密码:
test@,登录失败
不符合:
使用anonymous用户登录,输入密码:
test@,登录成功
补充说明
加固方案类别
参考操作配置
补充操作说明
2.1.2.6检查是否存在弱口令
检查项名称
检查是否存在弱口令
中文编号
英文编号
要求内容
用户密码不能是易猜测破解的简单密码,要求修改为复杂密码,符合密码复杂度要求并且不易联想猜测的密码
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
查看密码是否是易猜测破解的简单密码
判定条件
是否存在弱口令
补充说明
加固方案类别
参考操作配置
更改口令使口令满足复杂度要求并且不易猜测
补充操作说明
2.1.3授权
2.1.3.1检查帐号文件权限设置
检查项名称
检查帐号文件权限设置
中文编号
英文编号
要求内容
在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
检查项类型
账号口令和认证授权->操作系统->LINUX
发布日期
2010-03-03
检查方式
自动
检测操作步骤
执行:
#ls-l/etc/passwd/etc/shadow/etc/group
/etc/passwd必须所有用户都可读,root用户可写–rw-r—r—
/etc/shadow只有root可读–r--------
/etc/group必须所有用户都可读,root用户可写–rw-r—r—
判定条件
/etc/passwd权限为644,/etc/shadow权限为400,/etc/group权限为644,则符合安全要要求,如果权限高,则低于安全要求。
补充说明
加固方案类别
参考操作配置
1、执行备份:
#cp–p/etc/passwd/etc/passwd_bak
#cp–p/etc/shadow/etc/shadow_bak
#cp–p/etc/group/etc/group_bak
2、修改文件权限:
#chmod0644/etc/passwd
#chmod0400/etc/shadow
#chmod0644/etc/group
补充操作说明
/etc/passwd权限为644,/etc/shadow权限为400,/etc/group权限为644
2.2日志配置要求
本部分对LINUX操作系统设备的日志功能提出要求,主要考察设备所具备的日志功能,确保发生安全事件后,设备日志能提供充足的信息进行安全事件定位。
根据这些要求,设备日志应能支持记录与设备相关的重要事件,包括违反安全策略的事件、设备部件发生故障或其存在环境异常等,以便通过审计分析工具,发现安全隐患。
如出现大量违反ACL规则的事件时,通过对日志的审计分析,能发现隐患,提高设备维护人员的警惕性,防止恶化。
2.2