安全性加强
尽管 Stratus
安全性通常是保护与易用性之间的平衡。
以下信息提供了基于 CIS Controls 7.1 版的安全性加强指南,这些是由互联网安全中心 (CIS) 提出的加强建议,互联网安全中心是一家由社区推动的非营利组织,该组织在保护 IT 系统和数据方面处于领先地位,并因其在这方面的最佳实践而获得公认。此外还使用 CIS 基准来验证安全产品并为安全产品创建基线。CIS Controls 列表包含在以下标准组织的最佳实践与标准中。
以下信息还提供了基于工业控制系统网络安全标准 ISA/IEC 62443 的加强指南,该标准最初是由国际自动化协会 (ISA) 创建的,然后由国际电工委员会 (IEC) 继续制定。根据数据敏感度或预计威胁方对手,ISA/IEC 62443-4-2 具有不同的安全级别,并且通过实施这些建议和应用缓解控制措施,其有助于符合所需的安全级别。ISA/IEC 62443-4-2 要求的摘要包含在以下标准组织的最佳实践与标准中。
此帮助主题包含以下章节:
安全性指导原则
以下章节描述针对 everRun系统的安全性指导原则。
如果您对这些指导原则有任何问题,并且您的系统有服务协议,请联系您的授权Stratus 服务代表寻求帮助。有关信息,请参阅 everRun支持页在 https://www.stratus.com/services-support/customer-support/?tab=everrun
在实施安全性加强指导原则时,请考虑以下方面:
- 这些安全性指导原则是指在everRun Availability Console和主机操作系统中执行的管理任务。everRun Availability Console是一个基于浏览器的界面,其可使您从远程管理计算机管理和监控 everRun 系统的大多数方面(请参阅everRun Availability Console)。主机操作系统在该系统的每个节点上运行。您可以在 PM 的物理控制台上本地访问主机操作系统的命令行,也可以通过使用安全外壳 (SSH) 客户端远程访问主机操作系统的命令行(请参阅访问主机操作系统)。
- 在进行任何配置更改前,记录当前设置,以便在必要时可将还原它们。此外,记录您正在进行的所有修改,以防所需这些信息进行故障排除。
- 更改默认系统设置时,尤其是在主机操作系统中,您必须在两个节点上进行更改,以防止可能影响系统正常运行的不一致问题。同样,在更改主机操作系统的根密码和其他用户帐户设置时,您必须在这两个节点上都进行此操作。以下指导原则需要进行这些更改的时间。
- 当您升级系统软件或更换系统中的节点时,并非为加强系统而进行的所有修改都可继续进行。同样,某些设置在节点之间共享,因此共享资源可能发生冲突。因此,在完成这些操作程序后,您应验证系统中的每个节点是否都具有正确的设置,以及系统是否正在正确工作。
- 在某些情况下,这些安全性指导原则会直接引用具有关于配置 everRun系统和 everRun 软件的更多信息的知识库文章(例如,KB-nnnn)。如下访问知识库文章中所述,您可以通过使用现有服务门户凭据,或通过创建新的用户帐户访问 Stratus 客户服务门户和知识库。
端口和协议
对系统进行网络连接或通信更改的任何管理员都应了解everRun使用的端口或协议。
网络分段
仅将everRun系统连接到具有受信任设备的网络,或者连接到需要显式权限才能相互通信的网络。有关网络分段的更多信息,请参阅 NIST 特别出版物 800-125B 和 800-39。有关哪些以太网网络可在 everRun系统上使用的信息,请参阅网络架构。
IP 表/防火墙
为系统启用 IP 表数据包过滤,以及阻止在正常运行中不使用的所有端口。恶意使用者可利用未使用接口上可能的安全漏洞作为后门。通过启用未用端口的 IP 表来限制此暴露。
有关如何实施 IP 表的详细信息,请参阅管理 IPtables。
- ICMP 协议用于在everRun系统中执行 ping。如果将 IP 表设置为丢弃 ICMP 流量,则容错或故障转移支持将不会正常工作。
- SSH 协议用于连接到主机操作系统。如果将 IP 表设置为阻止 SSH 流量,则系统管理员将无法访问主机操作系统。
用户帐户创建
为有权访问该系统的每个用户创建单独的用户帐户,并考虑每个用户在设备使用中的角色。保持单独用户帐户还可实现可审核性或不可否认性,这样通过查看日志,可确定哪个用户访问了该设备或进行了配置更改。
有关如何配置用户设置的详细信息,请参阅配置“用户与组”。
- 您无法删除缺省 admin 帐户,但可以通过编辑这些帐户设置来修改其名称和密码。
- 要启用忘记密码功能,您必须为每个用户帐户均指定一个电子邮件地址,包括管理员。此外,您必须按照配置邮件服务器中的描述启用邮件服务器;否则,系统无法发送密码重置电子邮件。
密码创建
您必须更改系统的默认密码。
在部署时,everRun Availability Console会提示您设置新 admin 密码。everRun Availability Console的密码策略要求您的密码符合以下条件:
- 其最小长度为 8 个字符。
- 其必须包含大写和小写字符。
- 其不能为用户名。
此外,尽快更改两个节点上主机操作系统的根密码。要更改密码,则在每个节点上发出 passwd 命令。有关详细信息,请参阅访问主机操作系统。
有关控制主机操作系统中密码质量的更多信息,请参阅高级安全性指导原则。
最低权限
限制每个用户对适用于他们职位或角色的功能的访问。
实施最低权限可防止无权限用户访问高于他们角色的服务。
有关如何配置可为每个用户定义权限的角色的详细信息,请参阅配置“用户与组”。
活动目录
活动目录集成提供单个集中式身份验证和授权点。凭借活动目录,您能够创建根据您本地安全策略执行的组策略,以实现密码复杂性。
有关如何将 everRun系统添加到活动目录域的详细信息,请参阅配置活动目录。
BIOS
BIOS 是系统运行的一个重要方面;因此,您应对 BIOS 实施密码保护,以防止其受到恶意操纵。
要为 BIOS 设置密码,您可以在系统正在启动时访问系统 BIOS 设置实用程序。
端口
禁用正常操作不需要的任何系统端口。
时间同步
时间同步很重要,因为它提供了一个集中式参考点,以确保运行和安全性流程在同一时间范围内工作。时间引用可使您在更新应用程序时对检查时间和使用时间有信心,以及根据时间和日期确保密钥和证书仍然有效。
当您首次登录everRun系统时,启用网络时间协议 (NTP) 服务,以便自动设置系统时钟。将 NTP 配置为引用已知和可信任 NTP 服务器。有关详细信息,请参阅配置日期和时间。
安全连接
默认情况下,everRun Availability Console被配置为仅支持使用 HTTPS 协议的安全连接。
在everRun系统上启用 HTTPS 可防止常见的 Web 安全攻击,以便为每个 Web 会话提供一个保密级别。HTTPS 对 Web 会话流量进行加密,提供数据完整性,以及提高 Web 流量的整体安全性。
启用 HTTPS 时,其仅支持 TLSv1.2,这是当前推荐的最强加密套件。密码包括:
密码:
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 4096) - A
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 4096) - A
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 4096) - A
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 4096) - A
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 4096) - A
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 4096) - A
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 4096) - A
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 4096) - A
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
此外,在使用邮件服务器或其他类型的服务器软件时,启用安全的已加密连接。有关在 everRun系统上为邮件服务器配置和启用已加密连接的信息,请参阅配置邮件服务器。
更新 SSL 证书
everRun系统带有自签名 SSL 证书,但可将其更新为任何购买的或提供的证书。通过更改 SSL 证书可将信任根更新为客户规范。
SNMP 配置
简单网络管理协议 (SNMP) 是用于接收警报,发送自陷和监控系统状态的标准协议。SNMP 利用在分层配置的管理信息库 (MIB) 中保存的系统定义信息。
出于安全原因,客户可能想要以everRun系统的主机级别禁用 SNMP。如果需要,可通过向 IPtables 添加规则来禁用所有 SNMP 连接(请参阅管理 IPtables),以阻止 UDP 端口 162、161 和 199 以及 TCP 端口 162 和 199。
或者,您可以使用 SNMP 受限配置,该配置在 SNMP 配置文件中禁用 SNMP v1 和 v2,并且仅配置 SNMPv3。有关详细信息,请参阅配置 SNMP 设置。
备份
为防止发生安全事件,具有备份非常重要;可将装置恢复到已知良好状态以实现持续运行。获取的所有备份均应存储在安全位置。
要备份 VM 及其客人操作系统,请参阅导出虚拟机。要还原具有与原始 VM 相同的 SMBIOS UUID、系统序列号和 MAC 地址的相同 VM,请参阅从 OVF 文件替换/还原虚拟机。
在冗余双节点everRun系统上,每个节点还作为另一个节点的备份。如果某个节点出现故障,您可以替换当前已授权系统中的节点,然后系统会使用正在运行的节点上的 everRun软件和虚拟机的准确副本自动还原该节点。
SplitSite 配置
有关详细信息,请参阅创建SplitSite配置。
审核
通过本地策略实施审核,以便定期收集和管理检测、了解网络攻击以及从网络攻击中恢复所需的事件日志。
审核日志页显示everRun Availability Console中用户活动的日志。要打开此页,则单击左侧导航面板中的审核日志。(要显示有关 everRun系统上的事件的信息,请参阅“警报历史记录”页。)
日志信息包含:
- 时间—操作的日期和时间。
- 用户名—发起此操作的用户的名称。
- 源主机—正在运行 everRun Availability Console的主机的 IP 地址。
- 操作— everRun Availability Console中执行的操作。
您还可以使用 snmptable 显示有关审核日志的信息(有关详细信息,请参阅使用 snmptable 获取系统信息。)
使用日志持续监控everRun系统。为确保在接到服务电话时迅速提供服务,还应为您的系统启用支持通知和定期报告,以便使Stratus随时了解您系统的运行状况。有关详细信息,请参阅配置远程支持设置。
登录横幅通知
配置登录横幅通知,以包含向 everRun Availability Console用户发出的重要通知。有关详细信息,请参阅配置登录横幅。
升级
定期升级everRun,防止因组件过时而出现安全漏洞被利用的情况。有关频率和方法的信息,请参阅您的本地安全策略。
everRun Availability Console中的升级套件页使您能够上传和管理用来把系统升级到everRun 软件更新版本的升级套件。您还可以将升级套件复制到 USB 介质,以便在重新安装该系统软件时使用此介质。
要打开升级套件页面时,点击everRun Availability Console的左侧导航面板上的升级套件。
有关升级 everRun软件的信息,请参阅使用升级套件升级 everRun软件。有关创建 USB 介质的信息,请参阅创建具有系统软件的 USB 介质。
物理安全性
将每个 everRun系统均安装在安全位置,以防止恶意用户访问这些节点。
使用可审核系统保护每个位置,以识别进入该区域的人员,从而识别恶意用户。
物理安全性是对任何设备(包括 everRun节点)的篡改检测和警报的重要补充。
高级安全性指导原则
以下章节描述针对 everRun系统的高级安全性指导原则。
密码质量建议
当设置密码时,建议包括:
- 设置最小密码长度至少为 8 个字符,其中需要以下四个特征中的三个:一个大写字母、一个小写字母、一个数字和一个特殊字符。
- 要求用户定期重置密码,例如每 30、60 或 90 天重置一次。对于数量可变的密码更新历史记录,您还可以禁止重用密码。
要在主机操作系统中手动更新密码质量设置
- 登录主机操作系统,如访问主机操作系统中所述。
- 使用文本编辑器打开 /etc/pam.d/system-auth 文件。
-
使用相应的设置修改 pam_pwquality.so 模块。例如,使用与以下类似的设置:
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=8 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root上个示例设置以下值:
minlen=8 设置 8 个字符的最小密码长度。lcredit=-1 将密码中小写字母的最小数量设置为 1。ucredit=-1 将密码中大写字母的最小数量设置为 1。dcredit=-1 将密码中数字的最小数量设置为 1。ocredit=-1 将密码中 @、#、!、$、% 等其他字符的最小数量设置为 1。enforce_for_root 确保即使根用户正在设置密码,也应执行复杂性策略。 -
要限制密码历史记录,则使用相应的设置修改 pam_pwhistory.so 模块。例如,使用与以下类似的设置:
password requisite pam_pwhistory.so debug use_authtok remember=10 retry=3 - 保存 /etc/pam.d/system-auth 文件。
有关主机操作系统中密码策略的更多信息,请参阅 CentOS 文档:
并发用户管理
持续监控审核日志,以查看哪些用户已登录该计算机,以及他们是否仍处于活动状态。
标识当前正在操作该系统的用户,以使他们的使用合法化并审核他们的使用情况。
防病毒
持续执行基于网络的分析,以便进行防病毒或恶意软件检测。
基于网络的入侵检测系统补充了支持对安全功能的预期操作进行验证的everRun功能。该检测系统应搜索异常网络流量,并要求进行调查,以便验证任何恶意意图。
SSH 访问限制
多个 /etc/ssh/sshd_config 参数限制可通过 SSH 访问系统的用户和组。如果该文件中没有以下任何参数,则编辑该文件,以便设置其中一个或多个参数来限制访问:
AllowUsers
AllowUsers 参数使系统管理员可选择允许特定用户使用 SSH 来访问系统。此列表由空格分隔的用户名组成。此参数不识别数字用户 ID。要通过仅允许已被允许的用户从主机登录来进一步限制用户访问,可采用 user@host 的形式来指定条目。
AllowGroups
AllowGroups 参数使系统管理员可选择允许特定用户组使用 SSH 来访问系统。此列表由空格分隔的组名称组成。此参数不识别数字组 ID。
DenyUsers
DenyUsers 参数使系统管理员可选择拒绝特定用户使用 SSH 来访问系统。此列表由空格分隔的用户名组成。此参数不识别数字用户 ID。如果系统管理员要通过具体拒绝来自主机的用户访问来进一步限制用户访问,则可采用 user@host 的形式来指定条目。
DenyGroups
DenyGroups 参数使系统管理员可选择拒绝特定用户组使用 SSH 来访问系统。此列表由空格分隔的组名称组成。此参数不识别数字用户 ID。
限制哪些用户能够使用 SSH 来远程访问系统将有助于确保只有授权用户才能访问该系统。
MaxAuthTries
MaxAuthTries 参数指定每连接允许的最大身份验证尝试次数。当登录失败计数达到此数目的一半时,错误消息将被写入 syslog 文件,从而详细说明此登录失败。
将 MaxAuthTries 参数设置为较小的数值将最大程度降低对 SSH 服务器成功进行暴力攻击的风险。当建议设置为 4 时,根据站点策略设置此数值。例如:
IgnoreRhosts
IgnoreRhosts 参数指定 .rhosts 和 .shosts 文件将不用于 RhostsRSAAuthentication 或 HostbasedAuthentication。
设置此参数会强制用户在使用 SSH 进行身份验证时输入密码。例如:
HostbasedAuthentication
HostbasedAuthentication 参数指定是否允许将 .rhosts 或 /etc/hosts.equiv 与成功的公钥客户端主机身份验证结合使用,从而通过可信任主机进行身份验证。此选项仅适用于 SSH 协议版本 2。
即使当在 /etc/pam.conf 禁用支持时 .rhosts 文件无效,禁用在 SSH 中使用 .rhosts 文件的功能也可提供额外的保护层。例如:
有关 sshd_config 参数的更多信息,请参阅 sshd_config(5) 手册页。
标准组织的最佳实践与标准
本主题中的信息基于以下最佳实践和标准。
CIS Controls 版本 7.1
CIS 控制是一系列已排列优先级的最佳实践,其旨在阻止当今最普遍、最危险的威胁。这是由全球领先的安全专家开发的,每年都会对其进行改进和验证。有关更多详细信息,请访问 CIS 网站:https://www.cisecurity.org。
CIS 控制为:
基本
- 硬件资产的库存和控制
- 软件资产的库存和控制
- 并发漏洞管理
- 管理权限的受控使用
- 移动设备、笔记本电脑、工作站和服务器上软硬件的安全配置
- 审核日志的维护、监控和分析
基础
- 电子邮件和 Web 浏览器保护
- 恶意软件防御
- 网络端口、协议和服务的限制和控制
- 数据恢复功能
- 防火墙、路由器和交换机等网络设备的安全配置
- 边界防御
- 数据保护
- 基于需要了解的内容的受控访问
- 无线接入控制
- 帐户监视和控制
组织
- 实施安全意识和培训计划
- 应用程序软件安全
- 事件响应和管理
- 渗透测试和红队练习
ISA/IEC 62443-4-2
ISA/IEC 62443-4-2 详细说明了与符合控制系统功能安全级别的七个基本要求 (FR) 相关的技术组件要求 (CR)。有关更多详细信息,请访问 IEC 网站:https://www.iec.ch/。
这些基本要求为:
- 身份识别和身份验证控制 (IAC)
- 使用控制 (UC)
- 系统完整性 (SI)
- 数据机密性 (DC)
- 受限数据流 (RDF)
- 及时响应事件 (TRE)
- 资源可用性 (RA)
1. 身份识别和身份验证控制 (IAC)
将用户的身份识别与授权机制结合使用,以实施对组件的访问控制。必须验证请求访问的用户的身份,以防止未授权用户获得组件访问权限。授权来自访问控制列表,这些列表针对登录 everRun系统并使用密码进行身份验证以进入该系统的不同用户。
2. 使用控制 (UC)
已对用户进行识别和身份验证后,该组件必须将允许的操作限制为对该组件的已授权使用。everRun系统已定义了实施最低权限概念的角色。创建具有不同级别访问控制的多个用户还定义了对该组件的已授权使用。
3. 系统完整性 (SI)
设备的完整性不应受到影响,无论是运行和非运行状态下的软件还是物理组件。everRun系统实施安全启动,这可验证该装置是否正在从受信任状态引导和启动,以及在升级前是否验证了软件组件的数字签名。确保系统完整性对于防止未授权操纵或修改数据或系统非常重要。
4. 数据机密性 (DC)
其目的是确保通信通道中的信息和存储在存储库中的数据的机密性,以防止未授权披露。everRun系统具有带 TLS v1.2(用于 Web 通信)的 HTTPS,以及具有加密功能的 SSH 和 SMTP,从而确保信息不会被恶意人员访问。
5. 受限数据流 (RDF)
受限数据流是控制系统通过区域和管道进行的分段,旨在限制不必要的数据流。everRun网络架构支持如网络配置确定的路由和交换,以便管理如安装系统工程师确定的信息流。充分利用 everRun系统的网络功能可进行网络分段,以限制数据流。
6. 及时响应事件 (TRE)
尽管系统可在安全状态下开始运行,但可能会发生漏洞和安全事件。everRun系统具有产品安全事件响应 (PSIR) 团队,该团队旨在以对安全事件作出反应并报告调查结果,同时及时解决问题。everRun系统具有警报日志,在发生可能指示安全事件的配置更改时,这些日志可用于通知相应的通道。这些日志包含足够的取证信息,并且会通过电子邮件发送这些电子警报通知。
7. 资源可用性 (RA)
该控制的目的是确保组件能够弹性地应对各种类型的拒绝服务事件。everRun系统的高可用性是“始终在线”状态的基础。工业控制系统必须保持高可用性状态,因为可能存在对系统的生命安全影响。凭借内置的虚拟化和可用性层、自动数据保护以及应用程序恢复,当在边缘位置进行虚拟化计算时,everRun可极大降低对 IT 的依赖。其自我保护和自我监控功能有助于缩短计划外停机时间,以及确保关键业务工业应用程序的持续可用性。