节点合规性

GKE On-Prem 节点映像预先配置了 PCI DSS、NIST Baseline High、DoD Cloud Computing SRG Impact Level 2 设置。

以下几个部分介绍了已更改的合规性配置。

已安装的软件包

节点操作系统映像中包含以下软件包:

审核

添加到操作系统的审核规则符合记录文件所有权和权限更改、文件删除、内核模块加载或删除、使用特权命令、系统管理命令的要求。

节点操作系统上的 auditd 会记录以下事件:

  • 自主访问权限控制 (DAC) 修改:

    • chmod:更改文件模式或访问控制列表
    • chown:更改文件所有者和群组
    • fchmod:更改文件模式
    • fchmodat:更改文件模式
    • fchown:更改文件的所有者和群组
    • fchownat:更改文件的所有者和群组
    • fremovexattr:移除扩展特性值
    • fsetxattr:设置扩展特性值
    • lchown:更改文件的所有者和群组
    • lremovexattr:移除扩展特性值
    • lsetxattr:设置扩展特性值
    • removexattr:移除扩展特性值
    • setxattr:设置扩展特性值
  • 删除文件

    • ename:更改文件的名称
    • renameat:更改文件的名称
    • rmdir:移除目录
    • unlink:移除目录条目
    • unlinkat:移除目录条目
  • 内核模块加载

    • deleted:移除未使用的可加载内核模块
    • finit:从文件描述符加载内核模块
    • init:将 ELF 映像加载到内核空间
  • 登录事件

    • faillock:反复尝试登录失败后锁定用户帐号
    • lastlog:登录记录
    • tallylog:记录成功和不成功的登录尝试
  • 媒体导出:用于装载远程文件系统的 mount -F 命令

  • 特权命令

    • chage:添加或更改用户数据库信息
    • chsh:添加或更改用户数据库信息
    • crontab:为个别用户维护 Crontab 文件
    • gpasswd:设置或更改群组成员的密码
    • newgrp:更改为新群组
    • passwd:修改用户的密码
    • postdrop:Postfix 邮件寄送实用程序
    • postqueue:Postfix 队列控制
    • ssh_keysign:管理 SSH 守护程序的主机密钥
    • su:替换用户身份
    • sudo:以其他用户的身份执行命令
    • unix_chkpwd:验证当前用户的密码
  • 系统管理员操作:修改 Sudoers

  • 系统关停:关停并重新启动操作系统

  • 文件修改不成功

    • creat:创建新文件
    • ftruncate:将文件截断或扩展到指定长度
    • open:打开文件和目录
    • open_by_handle_at:打开或创建一个文件进行读写操作
    • openat:打开或创建一个文件进行读写操作
    • truncate:将文件截断或扩展到指定长度
  • 修改用户/群组

    • group:本地群组成员
    • gshadow:群组密码数据库
    • opasswd:密码重复使用数据库
    • passwd:本地用户登录信息
    • shadow:经过哈希处理的本地用户密码数据库

用户配置文件密码要求

用户密码复杂度必须符合合规性要求。这些复杂度要求是在 /etc/security/pwquality.conf 中实现的,如下所示:

minlen = 15
lcredit = -1
maxrepeat = 3
difok = 8
maxclassrepeat = 4
ocredit = -1
dcredit = -1
ucredit = -1
minclass = 4

SSH 服务器

以下设置已在 sshd 服务器配置中实现。

系统横幅

该警告消息强化了登录过程中的政策意识,有助于对攻击者采取可能的法律行动。或者,不便显示所有权的系统应确保使用无法轻易归因的横幅。

SSH 协议 2

SSH 协议 1 的安全性较低,因此应停用,以防客户端意外协商有漏洞的连接参数。

SSH 停用根用户登录

SSH 不应允许以根用户的身份直接登录,否则会影响管理操作的可跟踪性。

SSH 不允许使用 PermitUserEnvironment

PermitUserEnvironment 可以规避服务器上的配置。此设置可确保在会话建立期间不会导入不安全的设置。

SSH 警告横幅

该警告消息强化了登录过程中的政策意识,有助于对攻击者采取可能的法律行动。此设置可确保 SSH 守护程序显示系统配置的横幅内容。

SSH 空闲超时

SSH 允许管理员设置空闲超时间隔。如果用户在此间隔内没有执行任何操作,则会自动退出。

SSH Keepalive

此设置可确保系统一旦达到 SSH 空闲超时就终止用户登录。

SSH 批准的加密

用于对加密模块进行身份验证的未批准机制没有通过验证,因此其可靠性不足以提供机密性或完整性,而且系统数据可能会遭破解。使用加密功能的操作系统需要使用符合 FIPS 标准的机制对加密模块进行身份验证。使用当前标准 FIPS 140-2,可验证用于访问加密模块的机制是否使用符合行业和政府要求的身份验证。

SSH 批准的 MAC

将 MAC 限制为经过 FIPS 批准的哈希算法。

SSH UsePrivilegeSeparation

SSH 守护程序特权分离使 SSH 进程在不需要时放弃 root 特权,从而减少了非特权部分中软件漏洞的影响。

显示 SSH 登录尝试次数

成功通过身份验证后,显示之前的登录尝试次数。这将会把异常登录行为告知用户。

文件完整性扫描

以下 AIDE 完整性检查已配置:

AIDE 定期扫描

AIDE 应至少配置为每周运行扫描一次。AIDE 每天最多只能运行一次。默认情况下,Ubuntu 会将 AIDE 配置为每天运行一次。

AIDE 通知

运行完扫描后,AIDE 应将扫描详细信息告知相应人员。Ubuntu 上 AIDE 的默认配置会自动发送 /etc/cron.daily/aide 中的电子邮件报告。

AIDE:使用经过 FIPS 批准的加密哈希

文件完整性工具使用加密哈希来验证文件内容和目录是否未更改。这些哈希必须是经过 FIPS 140-2 批准的加密哈希。

AIDE:验证 ACL

ACL 可以提供超出文件模式所允许的权限,而且必须由文件完整性工具验证。

AIDE:验证 EXT 特性

文件系统中的扩展特性用于包含存在安全隐患的任意数据和文件元数据。

内核设置

/etc/sysctl 中的内核设置已进行了以下修改。

停用 Ctrl+Alt+Del 重新启动功能

本地登录用户在使用控制台时,可以按 Ctrl+Alt+Del 以重新启动系统。如果意外按下(如在混合操作系统环境中可能发生这种情况),则可能会由于意外重新启动而造成短期失去系统可用性的风险。

DCCP 内核模块已停用

数据报拥塞控制协议 (DCCP) 是一种相对较新的传输层协议,旨在支持流式传输媒体和电话。停用 DCCP 可防范系统中的任何实现缺陷遭利用。

USB 存储内核模块已停用

USB 存储设备(例如 U 盘)可用于引入恶意软件。如需阻止使用 USB 存储设备,请将内核模块加载系统配置为阻止自动加载 USB 存储驱动程序。

随机化虚拟地址空间

地址空间布局随机化 (ASLR) 使攻击者更难于预测他们在尝试攻击过程中引入到进程地址空间中的攻击代码的位置。此外,ASLR 使攻击者更难于了解现有代码的位置,以便使用面向返回的编程 (ROP) 技术来重新利用现有代码。

停用 IPv4 重定向

路由器使用 ICMP 重定向消息来告知主机特定目标存在更直接的路由。这些消息可修改主机的路由表,且未通过身份验证。非法 ICMP 重定向消息可能会导致中间人攻击。IPv4 协议的此项特性很少见。除非绝对必要,否则应停用它。

停用来源路由的 IPv4 数据包

来源路由数据包允许数据包的来源建议路由器沿着与路由器上配置的路径不同的路径转发数据包,该路径可用于绕过网络安全措施。此要求仅适用于转发来源路由的流量,例如启用 IPv4 转发且系统充当路由器时。接受采用 IPv4 协议的来源路由数据包的合法用途较少。除非绝对必要,否则应予以停用。

禁止发送 IPv4 重定向

路由器使用 ICMP 重定向消息来告知主机特定目标存在更直接的路由。这些消息包含来自系统路由表的信息,可能会显示网络拓扑的某些部分。发送 ICMP 重定向的能力仅适用于充当路由器的系统。

禁止接受 IPv4 重定向

路由器使用 ICMP 重定向消息来告知主机特定目标存在更直接的路由。这些消息可修改主机的路由表,且未通过身份验证。非法 ICMP 重定向消息可能会导致中间人攻击。IPv4 协议的此项特性很少见。除非绝对必要,否则应停用它。

禁止接受 IPv4 来源路由数据包

来源路由数据包允许数据包的来源建议路由器沿着与路由器上配置的路径不同的路径转发数据包,该路径可用于绕过网络安全措施。接受采用 IPv4 协议的来源路由数据包的合法用途较少。除非绝对必要(例如启用 IPv4 转发且系统合法充当路由器时),否则应予以停用。

禁止发送 IPv4 重定向数据包

路由器使用 ICMP 重定向消息来告知主机特定目标存在更直接的路由。这些消息包含来自系统路由表的信息,可能会显示网络拓扑的某些部分。发送 ICMP 重定向的能力仅适用于充当路由器的系统。

禁止响应 IPv4 广播数据包

响应广播 (ICMP) 回显可促进网络映射,并为扩散攻击提供途径。忽略发送到广播或多播地址的 ICMP 回显请求 (Ping) 会使系统在网络上更难以枚举。

禁止接受 IPv6 来源路由数据包

来源路由数据包允许数据包的来源建议路由器沿着与路由器上配置的路径不同的路径转发数据包,该路径可用于绕过网络安全措施。此要求仅适用于转发来源路由的流量,例如启用 IPv6 转发且系统充当路由器时。接受采用 IPv6 协议的来源路由数据包的合法用途较少。除非绝对必要,否则应予以停用。

服务

服务配置已实现以下更改。

对计划作业的远程日志记录

Cron 日志记录功能可用于跟踪 Cron 作业是否已成功执行。它还可用于发现未经授权的恶意用户非法使用 Cron 工具。

停用 AutoFS

autofs 守护程序可按需装载和卸载文件系统,例如通过 NFS 共享的用户主目录。此外,autofs 还可用于处理移动介质,而默认配置会以 /misc/cd 形式提供 CD-ROM 设备。自动装载文件系统容易引入未知设备,从而为恶意操作提供便利。