网络安全等级保护S3A3安全计算环境之操作系统(Linux)中主要包括以下11个部分:身份鉴别、访问控制、安全审计、入侵防范、恶意代码防范、可信验证、数据完整性、数据保密性、数据备份恢复、剩余信息保护、个人信息保护
一、身份鉴定
A
- 查看系统账户
cat /etc/passwdcat /etc/shadow
目前有哪些账户可登录,是否存在空口令账户
grep nullok /etc/pam.d/system-auth
lastlog
- 查看口令复杂度策略(对root账户无效,询问管理员root账户复杂度策略)
cat /etc/login.defscat /etc/pam.d/system-auth
- retry=3 表示在前3次尝试失败后禁止访问该账户。
- enforce_for_root 表示管理员账户也需要符合密码质量要求。
- maxrepeat=3 表示不允许重复使用超过3次的字符。
- minlen=8 表示密码最小长度为8个字符。
- lcredit=-1 表示小写字母至少需要1个。
- dcredit=-2 表示数字至少需要2个。
- ucredit=-1 表示大写字母至少需要1个。
- ocredit=-1 表示特殊符号至少需要1个。
- 限制口令的重复使用:
cat /etc/pam.d/system-auth
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
- 查看系统账户有效期:
cat /etc/login.defs
cat /etc/shadow
查看每个账户状态
chage -l account
- 结果记录
1)经核查,用户在登录时采用了用户名+口令的身份鉴别措施,用户通过堡垒机输入账号口令登录服务器;
2)经核查用户列表,用户身份标识具有唯一性,目前用户列表root、SysAdmin、SecAdmin、AudAdmin;
3)经核查用户配置信息并测试验证,不存在空口令用户;
4)经核查,用户鉴别信息具有复杂度要求并定期更换,
使用命令查看口令复杂度策略:cat /etc/login.defs、cat /etc/pam.d/system-auth,
PASS_MAX_DAYS 90
PASS_MIN_DAYS 5
PASS_MIN_LEN 8
PASS_WARN_AGE 7
用户口令8位,采用大小写字母、数字和特殊字符组合,有效期为90天。
查询限制口令的重复使用次数:cat /etc/pam.d/system-auth
限制重复使用次数为5次。
查看系统账户的有效期:cat /etc/login.def、cat /etc/shadow,或者查看每个账户的状态:chage -l account,如:chage -l root
两次改变密码之间相距的最小天数 :5
两次改变密码之间相距的最大天数 :90
在密码过期之前警告的天数 :7
B
- 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。
- 登录失败:查看相关配置文件是否配置登录失败处理策略
cat /etc/pam.d/system-authcat /etc/pam.d/password-authcat /etc/pam.d/sshd
在SSH配置文件
cat /etc/ssh/sshd_config | grep MaxAuthTries
- 查看是否配置登录会话超时策略:
cat /etc/profile
是否存在export TMOUT=900readonly TMOUT
或echo $TIMEOUTecho $TMOUT
在SSH上配置cat /etc/ssh/sshd_config | grep ClientAliveInterval
4.结果记录
1)经核查,配置并启用登录失败处理功能,查看登录失败处理功能相关参数,
cat /etc/pam.d/system-auth 文件中存在“auth required pam_tally2.so onerr=fail deny=5 unlock_time=600 even_deny_root root_unlock_time=600
”;
2)经核查,配置并启用了限制非法登录功能,所有用户登录失败5次锁定600秒;
3)经核查,配置并启用登录连接超时及自动退出功能,本地登录超时时间900秒,远程登录超时
C
- 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听。符合建议项检查远程管理方式
ps -ef | grep sshps -ef | grep telnet
查看远程管理是否使用SSH方式进行远程管理。 - 经核查,用户通过堡垒机输入账号密码通过SSH协议远程登录服务器,可以防止鉴别信息在网络传输过程中被窃听
D
应采用两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用动态口令、密码技术或生物技术来实现。
经核查,用户在登录操作系统的过程中只使用了口令鉴别技术,未采用动态口令、数字证书、生物技术或设备指纹等鉴别技术对用户身份进行鉴别。
二、访问控制
A
应对登录的用户分配账户和权限。符合建议项创建用户,三权分立
B
应重命名或删除默认账户,修改默认账户的默认口令。
1、
cat /etc/passwd
cat /etc/shadow
记录没有被禁用的系统默认的用户名
bin、daemon、shutdown、halt、sync、adm、lp、news、uucp、operator、games、gopher
删除多余用户
删除多余用户组
groupdel groupname:adm、lp、news、uucp、games、dip、pppusers、popusers、slipusers
2、查看远程连接是否
PermitRootLogin no
cat /etc/ssh/sshd_config | grep Root
核查
/etc/ssh/sshd_config
文件,文件中“PermitRootLogin”参数设置为“no”,即
PermitRootLogin no
,即不许可root远程登录。
cat /etc/ssh/sshd_config
cat /etc/ssh/sshd_config | grep Root
PermitRootLogin no
C
应及时删除或停用多余的、过期的账户,避免共享账户的存在。
结果记录
经核查,系统目前只启用root、SysAdmin、SecAdmin、AudAdmin,不存在多余或过期账户,管理员用户与账户之间是否一一对应。
D
应授予管理用户所需的最小权限,实现管理用户的权限分离。
结果记录
1)经核查,系统进行角色划分,分为超级管理员、系统管理员、安全管理员、审计管理员;
2)经核查,管理用户的权限已经进行分离;
3)经核查,管理用户权限为其工作任务所需的最小权限。
E
应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则。
操作系统的访问控制策略应由授权主体(例如安全管理员)进行配置,非授权主体不得更改访问控制策略。访问控制策略规定了操作系统用户对操作系统资源(例如文件和目录)具有哪些权限、能进行哪些操作。通过在操作系统中配置访问控制策略,可以实现对操作系统各用户权限的限制。
结果记录
1)经核查,系统由授权主体安全管理员SecAdmin负责配置访问控制策略;
2)经核查,授权主体安全管理员SecAdmin依据安全策略配置了主体对客体的访问规则并统一管理;
3)经测试,系统管理员SysAdmin和审计管理员AudAdmin不可越权访问。
F
访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级。
结果记录
经核查,访问控制策略的控制粒度达到主体为用户级或进程级,客体为文件、数据库表、记录或字段级。查看cat /etc/login.defs中的Umask为077。
G
应对敏感信息资源设置安全标记,并控制主体对有安全标记信息资源的访问。
敏感标记是强制访问控制的依据,主体和客体都有,存在形式多样,既可能是整型数字,也可能是字母,总之,它表示主体和客体的安全级别。敏感标记由强认证的安全管理员设置。安全管理员通过对重要信息资源设置敏感标记来决定主体以何种权限对客体进行操作,实现强制访问控制。
在操作系统能够对信息资源设置敏感标记的前提下,应严格按照安全策略控制用户对相关资源的操作。
应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则。
要求解读
操作系统的访问控制策略应由授权主体(例如安全管理员)进行配置,非授权主体不得更改访问控制策略。访问控制策略规定了操作系统用户对操作系统资源(例如文件和目录)具有哪些权限、能进行哪些操作。通过在操作系统中配置访问控制策略,可以实现对操作系统各用户权限的限制。
结果记录
1)经核查,系统由授权主体安全管理员SecAdmin负责配置访问控制策略;
2)经核查,授权主体安全管理员SecAdmin依据安全策略配置了主体对客体的访问规则并统一管理;
3)经测试,系统管理员SysAdmin和审计管理员AudAdmin不可越权访问。
三、安全审计
A
检查系统是否开启审计功能
是否审核了审计功能启用前的进程:
grep "^\s*linux" /boot/grub2/grub.cfg
查看audit.rules中是否记录了修改日期和时间信息的事件(time-change)、修改用户/组信息事件(identity)、修改系统网络环境事件(system-locale)、记录用户登录退出事件(logins)、会话初始化信息(session)、访问控制权限修改事件(perm_mod)、未经授权的文件访问失败事件(access)、记录文件被重命名或修改属性、系统管理员操作(action)、内核模块的加载和卸载(modules)等等。
cat /etc/audit/audit.rules``````tail -20 /var/log/audit/audit.log
如果没有-p选项,则默认监视所有动作rwxa规则:-a 一系列动作 -S 系统调用名称 -F 字段=值 -k 关键字
取audit报告
aureport --start this-weekaureport --useraureport --fileaureport --summary
详见man aureport设置了监控后,会在/var/log/audit/audit.log里出现日志ausearch -f /etc/passwd -x rm
简单的使用:auditdauditctl -R /etc/audit/audit.rulescat /var/log/audit/audit.log
就可以查看audit记录的信息若有第三方审计工具或系统则记录其运行状态是否正常。
var/log/messages 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 与安全相关的日志信息
/var/log/maillog 与邮件相关的日志信息
/var/log/cron 与定时任务相关的日志信息
/var/log/spooler 与UUCP和news设备相关的日志信息
/var/log/boot.log 守护进程启动和停止相关的日志消息
ls -l /var/log/secure /var/log/audit/audit.log /var/log/cron /var/log/lastlog /var/log/messages /etc/rsys
1)经核查,系统开启了安全审计功能,系统审核策略:rsyslog.service和auditd.service均为active (running) ,可保证6个月留存期;
2)经核查,部署了外部Syslog日志服务器收集审计日志,审计范围覆盖到每个用户;
3)经核查,部署了外部Syslog日志服务器收集审计日志,对重要的用户行为和重要安全事件进行审计
B
审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
结果记录
经核查,Linux日志包括类型、信息、pid、uid、auid、ses、具体信息、用户名、地址、终端、结果。同时部署外部Syslog日志服务器收集审计日志,审计记录信息包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
C
应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等。
检查审计日志是否不被自动删除
grep max_log_file_action /etc/audit/auditd.conf
如果设置为KEEP_LOGS,则会循环日志文件,但是会忽略num_logs参数,因此不会删除日志文件。
结果记录
1)经核查,采取了保护措施对审计记录进行保护,日志数据本地保存,覆盖周期不小于6个月;
2)经核查,部署了外部Syslog日志服务器收集审计日志,对审计记录进行定期备份,每6个月打包一次审计记录。
D
应对审计进程进行保护,防止未经授权的中断。
结果记录
经核查,通过系统管理员SysAdmin和安全管理员SecAdmin无法中断审计进程。同时部署了外部Syslo
四、入侵防范
A
应遵循最小安装的原则,仅安装需要的组件和应用程序。
1.查看是否启用多余的inetd.Services服务:
chkconfig --list
Chargen services、daytime services、Discard wervices、Echo services、Time services
以上服务均为Debug和测试时使用。
systemctl | grep running
是否对安全隐患的漏洞进行补丁修补或指定补丁策略。
2.查看已安装组件和应用程序
yum list installed
结果记录
1)经核查,服务器遵循最小安装原则;
2)经核查,服务器未安装非必要的组件和应用程序。
B
应关闭不需要的系统服务、默认共享和高危端口。
- 检查:
systemctl -a
查看
CUPS、Rsh services、Talk、Telnet、tftp、、IMAP、POP3、SNMP、DHCP、rsync、NIS
等等服务应该关闭。
systemctl | grep running
netstat -ntlp
netstat -ntlpu
查看是否开启端口
1. Telnet服务(默认端口23):telnet是一个不安全的网络协议,会以明文形式传输用户名和密码。
建议关闭telnet服务,使用更安全的SSH服务。
2. FTP服务(默认端口21):FTP也是一个不安全的协议,密码以明文形式传输。
建议关闭FTP服务,并使用更安全的SCP或SFTP替代。
数据库端口是否修改默认端口号:
1433、1521、3306、6379、5000、5432、11211、27017
结果记录
1)经核查,服务器未开启非必要的系统服务和默认共享;
2)经核查,服务器不存在非必要的高危端口,仅开启SSH协议(22端口)、https服务(443端口)。
C
应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制。
- 查看服务器是否通过
hosts.allow/hosts.deny(cat /etc/hosts.allow、cat /etc/hosts.deny)
或ssh中Listenaddress(cat /etc/ssh/sshd_config)、或iptables(iptables -L -v -n)限制可接入的网络地址。
修改/etc/hosts.allow和/etc/hosts.deny 这两个文件,把需要通过的IP写在/etc/hosts.allow 文件里
cat /etc/hosts.allow
cat /etc/hosts.deny
cat /etc/hosts.allow | grep -v ^#
cat /etc/hosts.deny | grep -v ^#
[[email protected] ~]# cat /etc/hosts.allow
sshd:127.0.0.1:allow
[[email protected] ~]# cat /etc/hosts.deny
sshd:ALL
[[email protected] ~]# service sshd restart #重启服务使配置生效
结果记录
经核查,服务器通过堡垒机输入账号密码登录,堡垒机限制终端接入范围,
仅来自ip 111.201.145.182 的终端可以接入堡垒机从而登录服务器。
同时,服务器通过/etc/hosts.allow和/etc/hosts.deny进行限制,仅允许ip 111.201.145.182 的终端远程登录。
D
应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求。
结果记录
该测评点一般在业务应用系统、中间件和系统管理软件核查,此项调整为不适用。
E
应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞。
结果记录
1)定期对操作系统进行漏洞扫描,对扫描发现的漏洞进行评估和补丁更新测试,及时进行补丁更新;
2)本次测评通过漏洞扫描、渗透测试等方式未发现高风险漏洞;
3)对操作系统补丁进行测试和安装,补丁情况为较新稳定版本。
1.主机入侵检测
2.网络入侵检测
结果记录
1)经访谈安全管理员并核查,服务器部署阿里云安骑士主机入侵检测系统,网络部署阿里巴巴安全组件和阿里云助手;
2)经核查,在发生严重入侵事件时阿里云安骑士主机入侵检测系统可以提供报警。
五、恶意代码防范
应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警。
应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断。
结果记录
1)经核查,服务器安装了终端安全EDR,定期进行升级和更新恶意代码库。
2)经核查,终端安全EDR采用主动免疫验证技术即使识别入侵和病毒行为;
3)经核查,当识别入侵和病毒行为时终端安全EDR可以将其有效阻断。
六、可信验证
结果记录
1)经核查,未基于可信根对计算设备的系统引导程序、系统程序、重要配置参数和应用程序
等进行可信验证;
2)经核查,未在应用程序的关键执行环节进行动态可信验证。
版权归原作者 爱吃樱桃丸子 所有, 如有侵权,请联系我们删除。