Linux安全配置基线规范.docx
- 文档编号:26073945
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:23
- 大小:22.45KB
Linux安全配置基线规范.docx
《Linux安全配置基线规范.docx》由会员分享,可在线阅读,更多相关《Linux安全配置基线规范.docx(23页珍藏版)》请在冰豆网上搜索。
Linux安全配置基线规范
SuSELinux
安全配置基线规范
V1.1
2019年3月18日
修订记录
版本
版本控制信息
更新日期
更新人
V1.0
创建
2018年7月
V1.1
1.更新基线编号
2.修改校正错误描述
2019年3月
第1章概述
1.1目的
本文档针对安装运行SuSELinux系列操作系统的主机所应当遵循的通用基本安全配置要求提供了参考建议,旨在指导系统管理人员或安全检查人员进行SuSELinux系列操作系统过程中进行安全配置合规性自查、检查、加固提供标准依据与操作指导。
1.2适用范围
本配置标准的使用者包括:
服务器系统管理员、应用管理员、网络安全管理员。
本配置标准适用的范围包括:
SuSELinux服务器系统
1.3实施
本标准自发布之日起生效
本标准的解释权和修改权属于,在本标准的执行过程中若有任何意见或建议,请发送邮件至
1.4例外条款
欲申请本标准的例外条款,申请人必须准备书面申请文件,说明业务需求和原因,送交进行审批备案。
1.5评审与修订
本文档由定期进行审查,根据审视结果修订标准,并颁发执行。
第2章帐户、权限、日志
2.1帐户
2.1.1禁止多人共享账号
安全基线项目名称
操作系统Linux-共享账号管理
安全基线编号
CAFSBL-Linux-02-01-01
安全基线项说明
多人共享账号存在责任不清、权限滥用等风险,应根据职责划分为每个用户设置单独的账号,提高系统安全。
检测操作步骤
检测方法
1、使用如下命令查看文件/etc/login.defs,确认文件中变量UID_MIN和UID_MAX的值:
#grep-v^#/etc/login.defs|grep"^UID_MIN"|awk'($1="UID_MIN"){print$2}'
#grep-v^#/etc/login.defs|grep"^UID_MAX"|awk'($1="UID_MAX"){print$2}'
2、使用以下命令查看系统中是否存在用户id>=UID_MIN且<=UID_MAX的用户:
#up_uidmin=`(grep-v^#/etc/login.defs|grep"^UID_MIN"|awk'($1="UID_MIN"){print$2}')`
#up_uidmax=`(grep-v^#/etc/login.defs|grep"^UID_MAX"|awk'($1="UID_MAX"){print$2}')`
#egrep-v"oracle|sybase|postgres"/etc/passwd|awk-F:
'($3>='$up_uidmin'&&$3<='$up_uidmax'){print$1":
"$3}'
判定依据
存在用户id>=UID_MIN且<=UID_MAX的用户则合规,否则不合规。
加固操作步骤
参考配置操作
1、创建用户
#useraddusername#创建账号
#passwdusername#设置密码修改权限
备注
2.1.2禁用存在空密码帐户
安全基线项目名称
操作系统Linux-空密码账号管理
安全基线编号
CAFSBL-Linux-02-01-02
安全基线项说明
空口令账号存在很大风险,用户不用口令认证就能进入系统,应禁止存在空口令账号。
检测操作步骤
检测方法
执行以下命令查看系统中是否存在空口令账号
#awk-F:
'($2==""){print$1}'/etc/shadow
判定依据
系统中口令为空的账号个数为0则合规,否则不合规。
加固操作步骤
参考配置操作
1、执行备份:
#cp-p/etc/passwd/etc/passwd_bak
#cp-p/etc/shadow/etc/shadow_bak
2、为帐户设置满足密码复杂度的密码:
#passwdusername
备注
2.1.3禁止存在除root外UID为0的账号
安全基线项目名称
操作系统Linux-UID为0的账号管理
安全基线编号
CAFSBL-Linux-02-01-03
安全基线项说明
UID=0的账号权限过大,容易被非法利用,应禁止存在除root外uid为0的账号
检测操作步骤
检测方法
通过如下命令查看/etc/passwd文件中UID为0的账号:
#awk-F:
'($3==0){print$1}'/etc/passwd
判定依据
不存在root用户外的其他用户UID为0则合规,否则不合规。
加固操作步骤
参考配置操作
1、执行配置文件备份:
#cp–p/etc/passwd/etc/passwd_bak
#cp–p/etc/shadow/etc/shadow_bak
#cp–p/etc/group/etc/group_bak
2、查询UID为0的账号信息
#awk-F:
'($3==0){print$1}'/etc/passwd
如果命令的输出存在非root账号,则使用如下命令删除该账户(切记不要删除root用户)。
#userdelusername
备注
UID为0的任何用户都拥有系统的最高特权,确保只有root用户的UID为0
2.1.4口令复杂度
安全基线项目名称
操作系统Linux-用户复杂度设置要求
安全基线编号
CAFSBL-Linux-02-01-04
安全基线项说明
对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。
检测操作步骤
检测方法
suse9编辑/etc/pam.d/passwd、suse10以上编辑/etc/pam.d/common-password是否存在如下配置:
passwordrequiredpam_pwcheck.sonullok
passwordrequisitepam_cracklib.sominlen=8minclass=2dcredit=-1lcredit=-1ucredit=-1ocredit=-1use_authtok
passwordrequiredpam_unix2.sonullokuse_first_passuse_authtok
判定依据
设置了口令复杂度则合规,否则不合规。
加固操作步骤
参考配置操作
suse9编辑/etc/pam.d/passwd、suse10以上编辑/etc/pam.d/common-password,在文件中加入如下内容(如果文件中存在password的行请首先注释掉):
passwordrequiredpam_pwcheck.sonullok
passwordrequisitepam_cracklib.sominlen=8minclass=2dcredit=-1lcredit=-1ucredit=-1ocredit=-1use_authtok
passwordrequiredpam_unix2.sonullokuse_first_passuse_authtok
备注
2.1.5口令生存周期
安全基线项目名称
操作系统Linux-口令生存周期设置要求
安全基线编号
CAFSBL-Linux-02-01-05
安全基线项说明
对于采用静态口令认证技术的设备,帐户口令的生存期不长于90天,减少口令安全隐患。
检测操作步骤
检测方法
查看/etc/login.defs,检查如下参数值是否满足要求:
PASS_MAX_DAYS90#新建用户的密码最长使用天数不大于90
判定依据
PASS_MAX_DAYS不大于90则合规,否则不合规。
加固操作步骤
参考配置操作
1、执行备份:
#cp-p/etc/login.defs/etc/login.defs_bak
2、修改策略设置,编辑文件/etc/login.defs(vi/etc/login.defs),在文件中加入如下内容(如果存在则修改,不存在则添加):
PASS_MAX_DAYS90
备注
2.2权限
2.2.1文件与目录缺省权限控制
安全基线项目名称
操作系统Linux-文件与目录缺省权限设置
安全基线编号
CAFSBL-Linux-02-02-01
安全基线项说明
控制用户缺省访问权限,当在创建新文件或目录时,屏蔽掉新文件或目录不应有的访问允许权限。
防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。
检测操作步骤
检测方法
查看文件/etc/profile的末尾是否设置umask值:
#awk'{print$1":
"$2}'/etc/profile|grepumask|tail-n1
判定依据
/etc/profile文件末尾存在umask027,则合规,否则为不合规。
加固操作步骤
参考配置操作
1、首先对/etc/profile进行备份:
#cp/etc/profile/etc/profile.bak
2、编辑文件/etc/profile,在文件末尾加上如下内容:
umask027
3、执行以下命令让配置生效:
#source/etc/profile
备注
2.2.2帐号文件权限设置
安全基线项目名称
操作系统Linux-账号文件权限管理要求
安全基线编号
CAFSBL-Linux-02-02-02
安全基线项说明
设置关键目录的权限,在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
检测操作步骤
检测方法
执行以下命令查看用户及组文件权限
#ls-alL/etc/passwd/etc/shadow/etc/group
判定依据
1、/etc/passwd文件的权限<=644(所有用户必须要有读权限,只有root用户有写的权限)
2、/etc/shadow文件的权限<=400(只有root用户拥有该文件的读权限)
3、/etc/group文件的权限<=644(所有用户必须要有读权限,只有root用户有写的权限)
以上三个条件同时满足则合规,否则不合规。
加固操作步骤
参考配置操作
1、使用如下命令查看一下文件的权限:
#ls-alL/etc/passwd/etc/shadow/etc/group
2、执行备份:
使用cp命令备份需要修改权限的文件或目录。
3、权限修改:
(1)修改/etc/passwd文件的权限为644
#chmod644/etc/passwd(所有用户必须要有读权限,只有root用户有写的权限)。
(2)修改/etc/shadow文件的权限
#chmod400/etc/shadow(只有root用户拥有该文件的读权限)。
(3)修改/etc/group文件的权限
#chmod644/etc/group(所有用户必须要有读权限,只有root用户有写的权限)。
备注
2.2.3设置关键文件属性
安全基线项目名称
操作系统Linux-关键文件属性设置要求
安全基线编号
CAFSBL-Linux-02-02-03
安全基线项说明
增强关键文件的属性,减少安全隐患。
检测操作步骤
检测方法
使用命令查看messages文件是否只可追加不可修改:
#lsattr/var/log/messages
判定依据
以上文件的权限第六位为a则合规,否则不合规。
加固操作步骤
参考配置操作
1、更改该日子文件属性
#chattr+a/var/log/messages#如果不存在则忽略
备注
2.3日志
2.3.1记录帐户登录日志
安全基线项目名称
操作系统Linux-账号登录日志管理
安全基线编号
CAFSBL-Linux-02-03-01
安全基线项说明
启用日志记录功能,记录账号登录事件
检测操作步骤
检测方法
查看文件/etc/syslog-ng/syslog-ng.conf,存在类似如下内容:
filterf_auth{facility(auth);};
destinationf_authlog{file("/var/log/authlog");};
log{source(src);filter(f_auth);destination(f_authlog);};
判定依据
满足上述配置要求则合规,否则不合规。
加固操作步骤
参考配置操作
1、编辑文件/etc/syslog-ng/syslog-ng.conf,增加如下内容:
filterf_auth{facility(auth);};
destinationf_authlog{file("/var/log/authlog");};
log{source(src);filter(f_auth);destination(f_authlog);};
3、创建日志文件,并赋予其权限
#touch/var/log/authlog
#chmod640/var/log/authlog
4、重启syslog服务
#/etc/init.d/syslogstop
#/etc/init.d/syslogstart
备注
第3章系统服务安全
3.1远程访问服务
3.1.1限制root用户SSH远程登录
安全基线项目名称
操作系统Linux-SSH协议安全-禁止root远程登录
安全基线编号
CAFSBL-Linux-03-01-01
安全基线项说明
限制具备超级管理员权限的用户远程登录。
远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账。
检测操作步骤
检测方法
1、执行以下命令查看配置文件/etc/ssh/sshd_config是否配置拒绝root用户通过ssh协议远程登录:
#grep-v"^[[:
space:
]]*#"/etc/ssh/sshd_config|grep"PermitRootLoginno"
2、执行以下命令查看ssh协议版本是否为2:
#grep-v"^[[:
space:
]]*#"/etc/ssh/sshd_config|egrep"^protocol\s*2|^Protocol\s*2"
判定依据
/etc/ssh/sshd_config文件存在PermitRootLoginno(表示禁止root用户通过ssh协议远程登录)且ssh协议为protocol2(表示ssh协议版本为2)则合规,否则不合规。
加固操作步骤
参考配置操作
1、执行备份:
#cp-p/etc/ssh/sshd_config/etc/ssh/sshd_config_bak
2、新建一个普通用户并设置高强度密码(防止设备上只存在root用户可用时,无法远程访问):
#useraddusername
#passwdusername
3、禁止root用户远程登录系统
(1)、编辑文件/etc/ssh/sshd_config(vi/etc/ssh/sshd_config),修改PermitRootLogin值为no并去掉注释。
PermitRootLoginno#则禁止了root从ssh登录。
(2)、重启SSH服务
#/etc/init.d/sshdrestart
4、修改SSH协议版本
(1)、编辑文件/etc/ssh/sshd_config(vi/etc/ssh/sshd_config),修改Protocol的值为2并去掉注释。
Protocol2
(2)、重启ssh服务
#/etc/init.d/sshdrestart
备注
3.1.2用SSH协议进行远程维护
安全基线项目名称
操作系统Linux-远程维护安全
安全基线编号
CAFSBL-Linux-03-01-02
安全基线项说明
使用非加密通信,内容易被非法监听,使用SSH远程管理,提高远程管理安全性
检测操作步骤
检测方法
使用以下命令查看telnet和ssh服务状态:
#chkconfig--list|grep"telnet|ssh"
判定条件
输出ssh服务启用,telnet服务关闭则合规,否则不合规。
加固操作步骤
参考配置操作
1、关闭TELNET服务(如果设备安装了TELNET服务则执行以下操作关闭,否则无需操作):
(1)、备份
#cp-p/etc/xinetd.d/telnet/etc/xinetd.d/telnet_bak
(2)、编辑文件/etc/xinetd.d/telnet(vi/etc/xinetd.d/telnet),把disable项改为yes,即disable=yes。
(3)、执行以下命令重启xinetd服务。
#servicexinetdrestart
2、开启SSH服务:
(1)、安装SSH软件包。
(2)、通过以下命令启动ssh服务:
#/etc/init.d/sshdstart
备注
3.2协议设置
3.2.1修改SNMP的默认Community
安全基线项目名称
操作系统Linux-snmp协议安全
安全基线编号
CAFSBL-Linux-03-02-01
安全基线项说明
加固snmp服务,避免因snmp默认团体名导致的敏感信息泄露
检测操作步骤
检测方法
1、查看snmpd服务状态:
#chkconfigsnmpd
2、查看SNMP共同体字符串配置:
(1)SUSE9:
#cat/etc/snmpd.conf
(2)SUSE10:
#cat/etc/snmp/snmpd.conf
判定依据
1、SNMP服务未开启
2、SNMP服务开启,且修改了默认团体名称
两个条件满足其中一个则合规,否则不合规。
加固操作步骤
参考配置操作
1、SUSE9步骤:
(1)修改snmp配置文件/etc/snmpd.conf找到以rocommunity或rwcommunity开头的行,如:
rocommunitypublic127.0.0.1其中的第二个字段(public)即为团体名,用新的团体名称替换该字段:
rocommunitycommunity_name127.0.0.1
(2)重启snmp服务:
#rcsnmpdrestartb
2、SUSE10步骤
(1)修改snmp配置文件/etc/snmp/snmpd.conf找到以rocommunity或rwcommunity开头的行,如:
rocommunitypublic127.0.0.1其中的第二个字段(public)即为团体名,用新的团体名称替换该字段:
rocommunitycommunity_name127.0.0.1
(2)重启snmp服务:
#servicesnmpdrestart
备注
3.2.2禁止Root用户登录FTP
安全基线项目名称
操作系统Linux-FTP协议安全-禁止root登录ftp
安全基线编号
CAFSBL-Linux-03-02-02
安全基线项说明
禁止root账号登陆FTP,对系统造成损坏。
检测操作步骤
检测方法
1、如果是vsftp服务器,查看如下配置文件/etc/pam.d/vsftpd、/etc/vsftpd/vsftpd.conf(/etc/vsftpd.conf)。
2、如果是pure-ftp服务器,查看如下配置文件pure-ftpd.conf。
3、如果是wu-ftp服务器,查看如下配置文件/etc/ftpd/ftpusers(/etc/ftpusers)。
4、如果是proftp服务器,查看如下配置文件proftpd.conf。
判定依据
1、FTP进程不存在
2、vsftp服务器,/etc/pam.d/vsftpd中指定了ftpusers,且对应的ftpusers中存在root用户或者在配置文件/etc/vsftpd/vsftpd.conf(/etc/vsftpd.conf)配置了userlist_enable=YES、userlist_deny=NO、userlist_file=
3、pure-ftp服务器,pure-ftpd.conf文件中设置了MinUID100,限制了uid<=100的用户登录FTP。
4、wu-ftp服务器,/etc/ftpd/ftpusers(/etc/ftpusers)文件中存在root用户。
5、proftp服务器,proftpd.conf文件中不存在如下配置:
RootLoginon
以上五个条件满足其一则合规,否则不合规。
加固操作步骤
参考配置操作
1、vsftp
1.1修改ftpusers文件,增加不能通过FTP登录的用户
1)首先需确定ftpusers文件位置,可以通过以下命令知道
#cat/etc/pam.d/vsftpd
authrequiredpam_listfile.soitem=usersense=denyfile=/etc/vsftpd.ftpusersonerr=succeed
#其中file=/etc/vsftpd/ftpusers即为当前系统上的ftpusers文件.
2)修改file对应的文件在文件中增加以下用户,则该用户均不允许通过FTP登录(每个用户占一行):
Root;daemon;bin;sys;adm;lp;uucp;
Nuucp;listen;nobody;noaccess;nobody4
1.2配置vsftpd.conf文件,设定只允许特定用户通过FTP登录:
1)vsftpd.conf文件路径一般为/etc/vsftpd.conf或者/etc/vsftpd/vsftpd.conf。
修改其中内容:
userlist_enable=YES
#此选项被激活后,VSFTPD将读取userlist_file参数所指定的文件中的用户列表。
userlist_deny=NO
#决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器,YES默认值,禁止文件中的用户登录,同时也不向这些用户发出输入口令的提示,NO只允许在文件中的用户登录FTP服务器.
userlist_file=/etc/vsftpd/user_list
2)编辑userlist_file对应的文件去掉root.
2、wu-ftp
编辑/etc/ftpusers或者/etc/ftpd/ftpusers,在文件中另取一行录入root,例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 安全 配置 基线 规范