Splunk-6.6.0-Security-确保Splunk安全-zh_CN

Splunk-6.6.0-Security-确保Splunk安全-zh_CN

2023年6月25日发(作者:)

Splunk® Enterprise 6.6.0确保 Splunk Enterprise 安全⽣成时间:2017年4⽉21⽇上午9:06Copyright (c) 2017 Splunk Inc. All Rights ReservedTable of Contents关于确保关于确保 Splunk Ent保护和强化您安装的 Splunk

erprise

软件安全安全 Splunk 软件安全的⽅式安全安装安全安装 Splunk关于关于默认证书验证 TLS

Splunk Enterprise加密和密码套件确保确保您的管理员帐户安全 Splunk Enterprise 在您⽹络上的安全禁⽤多余的确保您服务帐户的安全 Splunk Enterprise 组件跨多个服务器部署安全密码强化您的服务器和操作系统的⼀些最佳做法 KV 存储端⼝⽤户和基于⾓⾊的访问控制使⽤访问控制确保关于⽤户验证 Splunk 数据安全关于配置基于⾓⾊的⽤户访问权限关于使⽤功能定义⾓⾊通过使⽤ Splunk Web 添加和编辑⾓⾊设置管理器控制台和应⽤的访问权限 添加和编辑⾓⾊查找现有⽤户和⾓⾊删除所有⽤户帐户Splunk

使⽤访问控制列表知识对象的安全访问Splunk Ent设置使⽤ Splunk

erprise 本机验证使⽤ Splunk Web

验证通过 CLI

Splunk Web

配置⽤户配置⽤户将⽤户添加到⾓⾊使⽤ LDAP

设置使⽤进⾏验证使⽤LDAP

LDAP

LDAP

管理进⾏的⽤户验证 Splunk ⽤户⾓⾊使⽤Splunk Enterprise

TLS

必备条件和注意事项证书确保 LDAP 安全使⽤在使⽤配置⽂件配置 Splunk Web

Splunk Web

中将配置如何使⽤多个 LDAP 服务器 LDAP

LDAP组映射到 Splunk

在配置⽂件中将测试 LDAP

LDAP⾓⾊组和⽤户映射到 Splunk

从 Splunk

LDAP

验证转换为配置⾓⾊ LDAP555777222242424252526262931293132删除 LDAP ⽤户的最佳做法多因⼦验证有关使⽤双重安全的双因⼦验证配置使⽤配置⽂件配置双重双因⼦验证 Splunk Enterprise 以使⽤双重安全双因⼦验证使⽤具有使⽤ SAML

使⽤ SAML

的单点登录进⾏验证配置单点登录使⽤ PingIdentity

使⽤ Okta 作为您的⾝份提供程序配置作为您的⾝份提供程序配置 SSO SSO使⽤ AzureAD

使⽤ OneLogin

或作为您的⾝份提供程序配置 AD FS 作为您的⾝份提供程序配置 SSO SSO在 Optimal 作为您的⾝份提供程序配置 SSO使⽤ CA siteminder

在搜索头群集中配置 TLS 证书确保 SSO

中配置安全 SSO使⽤分⽀或中间为其他为 IdP

SSL

SAML证书链配置 Ping Identity将 SSO

配置 SAML SSO修改或删除⾓⾊映射 SAML

配置⾼级设置组映射到⾓⾊在配置⽂件中配置SAML SSO 故障排除 SAML SSO使⽤服务器代理为 Splunkd 配置 HTTP 代理服务器使⽤代理有关 SSO 进⾏验证配置 ProxySSO代理 ProxySSO SSO 故障排除验证使⽤反向代理的单点登录关于使⽤反向代理进⾏单点登录配置使⽤反向代理的单点登录反向代理 SSO 故障排除脚本式验证设置使⽤外部系统进⾏的⽤户验证创建验证脚本编辑使⽤ 在搜索时使⽤ PAM 验证 getSearchFilter 函数筛选使⽤ SSL

关于使⽤确保 Splunk Ent关于在 SSL

erprise 通信安全配置允许的和限制的 Windows

确保和 Splunk Enterprise

Linux

SSL 版本上使⽤ SSL

安全⼯具确保浏览器和 Splunk Web 间的通信安全3234343435363636383945555565859596646567关于确保通过 Splunk Web 安全使⽤ Splunk Web

使⽤您⾃⼰的证书确保 启⽤加密启⽤加密 (https)Splunk Web 验证问题故障排除 Splunk Web

(https)安全确保 Splunk

关于确保来⾃转发器的数据安全转发器与索引器之间的通信安全将将 Splunk 转发配置为使⽤默认证书验证配置 Splunk 转发配置为使⽤您⾃⼰的证书转发器与索引器之间验证的故障排除确保分布式环境安全关于确保确保分布式搜索头和对等节点安全 Splunk 间通信安全使⽤证书验证确保部署服务器和客户端安全使⽤ Pass4SymmKey 确保群集安全审计 Splunk Ent使⽤erprise 活动使⽤审计事件确保 Splunk Enterprise

管理数据完整性 Splunk Enterprise

审计您的系统活动安全Splunk Ent危险命令的防护erprise Security 的最佳实践Splunk

避免在搜索中使⽤恶意服务器标记确保搜索安全 CSV ⽂件附录 A:如何获取如何⾃签名证书 SSL 证书后续步骤如何获取第三⽅签名的证书如何为⾃签名 Splunk

获取 Splunk Web

验证准备签名证书的证书确定密码套件 Splunk Web 的第三⽅签名证书6767676868696969727576767676787879797988890关于确保 Splunk Enterprise 安全关于确保 Splunk 软件安全在 Splunk 安装期间和安装之后,您必须采取措施以确保您的配置和数据安全。遵循适当的步骤以确保 Splunk 安装减少攻击⾯并缓解⼤多数漏洞的⻛险和影响。有些步骤很简单,例如确保物理服务器安全,且密码管理正确。其他的步骤(如配置加密)有点复杂,但对数据的完整性很重要。本⼿册介绍了应该包含在配置中的所有安全区域:安全安装 Splunk 软件使⽤您选择的验证形式管理⽤户和基于⾓⾊的访问控制使⽤证书来确保数据最易受攻击的索引器、转发器和 Splunk Web 安全使⽤加密确保您的配置信息安全使⽤审计来跟踪系统中的活动。使⽤“如何保护和强化 Splunk 软件安装”作为检查表和路线图,以确保您的配置和数据尽可能安全。保护和强化您安装的 Splunk 软件安全的⽅式将本主题作为本⼿册的检查表和路线图,以帮助您采取所有必要措施来确保 Splunk 软件配置安全并保护您的数据。设置经过验证的⽤户并管理⽤户访问权限确保您的管理员密码安全,并仅将其⽤于管理任务。使⽤“访问控制列表”限制⽤户访问。设置⽤户并配置⾓⾊和功能以控制⽤户访问。使⽤下列任意⽅法配置⽤户验证:Splunk ⾃⼰的内置系统,如设置使⽤ Splunk 的内置系统进⾏的⽤户验证所述。LDAP,如设置使⽤ LDAP 进⾏的⽤户验证所述。通过外部验证系统进⾏脚本式验证 API,例如,PAM 或 RADIUS,如设置使⽤外部系统进⾏的⽤户验证所述。使⽤下列⼀种⽅法为⽤户创建安全的单步登录:使⽤ SAML 进⾏单点登录多因⼦验证ProxySSO基于 Apache 的反向代理 SSO使⽤证书和加密确保 Splunk 软件配置的通信安全Splunk 软件提供了⼀组默认的证书和演⽰加密的密钥。Splunk 建议部署您⾃⼰的证书并将其配置为确保通信安全。请参阅本⼿册中的“关于使⽤ SSL 确保 Splunk 安全”。强化 Splunk 软件实例,以减少漏洞和⻛险确保索引器群集和搜索头群集安全。在多个服务器上设置密码以确保⼀致的验证。确保您服务帐户的安全。强化您的 KV 存储端⼝。定期审计您的系统审计事件中含 Splunk 配置所作更改的相关信息。它为您提供更改的位置、时间以及进⾏更改的参与者的⾝份。使⽤审计事件可以提升安全性,并且还有其他优势:定期审计您的系统以监视⽤户和管理员访问,以及其他可能导致不安全操作或安全漏洞的活动。留意 Splunk 中的活动(例如搜索或配置更改)。您可以在事件响应期间使⽤此信息进⾏合规性报告,故障排除和归因。审计事件在分布式 Splunk 配置中对于检测多个 Splunk 服务器上的配置和访问控制更改特别有⽤。要了解更多信息,请参阅本⼿册中的“审计 Splunk Enterprise 活动”。在⼤多数⽀持 Splunk 的操作系统上,请使⽤开箱即⽤的基于⽂件系统的监视。有关监视的更多信息,请参阅《数据导⼊⼿册》中的“监视⽂件和⽬录”。]5]6安全安装 Splunk安全安装 Splunk Enterprise下载并安装 Splunk Enterprise 时采取以下步骤。验证完整性通过使⽤诸如 Message Digest 5 (MD5) 和 Secure Hash Algorithm-512 (SHA-512) 等哈希函数⽐较哈希来验证 Splunk Enterprise 下载。使⽤受信任版本的 OpenSSL。MD51. /en_us/download/splunk-enterprise/2.点击 MD5 下载链接⾥⾯的栏3.⽐较结果SHA5121.复制下载的链接名称2.附加 SHA5123. /products/splunk/releases/6.4.3/windows/512验证签名您可以按下列步骤使⽤ Splunk GnuPG 公共密钥验证下载的 RPM 软件包的真实性1.下载 GnuPG 公共密钥⽂件(是的,此链接⾼于 TLS)。2.使⽤以下安装密钥:rpm --import 3.使⽤下列⽅法验证软件包签名:rpm -K 关于 TLS 加密和密码套件Splunk 版本 6.6 提供以下默认的密码套件和 TLS 加密。alert_lVersions = tls1.2cipherSuite = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256ecdhCurves = prime256v1, secp384r1, secp521r1该配置不⽀持 Windows Server 2008 R2。要添加对于 Windows Server 2008 R2 的⽀持:1.将 sslVersions 设为 tls2.在现有密码套件的末尾添加以下密码:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA要在 Windows Server 2008 R2 上启⽤ TLS 1.2 ⽀持:1.将密钥添加到注册表:7HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server2.在 TLS 1.2服务器密钥中,创建以下内容:DWORD (32-bit) Value - DisabledByDefault; set to 0DWORD (32-bit) Value - Enabled; set to 13.重新启动 Windows有关更多信息,请参阅:/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12。lVersions = tls1.2cipherSuite = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256ecdhCurves = prime256v1, secp384r1, secp521r1该配置不⽀持 Splunk 5.x。要添加对于 Splunk 5.x 的⽀持:

sslVersions = tls2.在现有密码套件的末尾添加以下密码:DHE-RSA-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:AES128-SHA:AES256-SHA:lVersions = tls1.2cipherSuite = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256ecdhCurves = prime256v1, secp384r1, secp521r1该配置不⽀持 Splunk 5.x。要添加对于 Splunk 5.x 的⽀持:1.将

sslVersions 设为

tls2.在现有密码套件的末尾添加以下密码:DHE-RSA-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:AES128-SHA:AES256-SHA:lVersions = tls1.2sslVersionsForClient = tls1.2cipherSuite = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES128-SHA256ecdhCurves = prime256v1, secp384r1, secp521r1该配置不⽀持 Splunk 5.x。要添加对于 Splunk 5.x 的⽀持:

sslVersions =

sslVersionsForClient = tls3.将 AES256-SHA 附加到现有密码套件。applicationsManagementsslVersions = tls1.2cipherSuite = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-8AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256ecdhCurves = prime256v1, secp384r1, secp521r1该配置不⽀持 Splunk 5.x。要添加对于 Splunk 5.x 的⽀持:

sslVersions = tls2.在现有密码套件的末尾添加以下密码:DHE-RSA-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:AES128-SHA:AES256-SHA:lVersions = tls1.2cipherSuite = ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256ecdhCurves = prime256v1, secp384r1, secp521r1该配置不⽀持 Windows Vista。要添加对于 Windows Vista 的⽀持:1.设置 sslVersions = tls 2。将以下密码添加到现有密码套件:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:S_PROTOCOL_MIN: 3.1 for TLSv1.0, 3.2 for TLSv1.1, 3.3 for _PROTOCOL_MIN 3.3TLS_CIPHER_SUITE ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256该配置不⽀持 Windows Server 2008 R2。要添加对于 Windows Server 2008 R2 的⽀持:

TLS_PROTOCOL_MIN = TLS1.0/SSL3.12.将以下密码添加到现有

TLS_CIPHER_SUITE:

ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA要在 Windows Server 2008 R2 上启⽤ TLS 1.2 ⽀持:1.添加密钥:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server2. In the TLS 1.2Server key, create the following:

DWORD (32-bit) Value - DisabledByDefault; set to 0DWORD (32-bit) Value - Enabled; set to 13.重新启动 Windows。有关更多信息,请参阅:/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12。关于默认证书验证Splunk Enterprise 6.6 提供了使⽤ 2048 位密钥的 SHA-256 签名的默认证书。全新安装将⾃动包含这些内容。从之前版本升级的时候,Splunk Enterprise 会替换现有的 

t 和

t ⽂件。现有证书(例如

)不会受影响。您必须将所有证书和 PEM ⽂件升级为使⽤ 2048 位密钥的 SHA-256 以避免验证错误。如果没有更新所有证书和PEM ⽂件,则会发⽣以下错误:9 02-03-2017 00:27:11.488 -0800 ERROR TcpOutputFd - Connection to host=10.140.130.102:9997 failed. sock_error = Error = error:04091077:rsa routines:INT_RSA_VERIFY:wrong signature length确保 Splunk Enterprise 在您⽹络上的安全在某些情况下,Splunk Enterprise 端⼝可能变得容易受到攻击。从 Internet 屏蔽 Splunk Enterprise 配置来阻⽌访问。如可⾏,使⽤基于主机的防⽕墙限制对 Splunkweb、管理端⼝和数据端⼝的访问。保持 Splunk Enterprise 位于基于主机的防⽕墙内。让远程⽤户通过虚拟专⽤⽹络访问 Splunk Enterprise。您也可以通过以下⽅式保护 Splunk Enterprise 免受攻击:通过将此端⼝仅限定于从主机防⽕墙后⾯进⾏的本地调⽤,限制 CLI 安全。除⾮必要,不允许通过任何端⼝访问转发器。将 Splunk Enterprise 安装到仅可信任计算机可以访问的隔离⽹段中。将端⼝可访问性限制为只有必需的连接才可访问。必需的连接为:最终⽤户和管理员必须访问 Splunkweb(默认情况下,TCP 端⼝ 8000)。搜索头必须通过管理端⼝(默认情况下,TCP 端⼝ 8089)访问搜索节点。部署客户端必须通过管理端⼝(默认情况下,TCP 端⼝ 8089)访问部署服务器。转发器必须访问索引服务器数据端⼝(默认情况下,TCP 端⼝ 9997)。远程 CLI 调⽤使⽤管理端⼝。强化您的 KV 存储端⼝。通过限制 KVstore 访问您的端⼝来确保您的环境安全。默认情况下,端⼝ 8191 对⽹络打开。对于搜索头群集,您应该只将端⼝打开给群集的其他成员,以便其他成员可以复制 KV 存储数据。(KVStore 端⼝只需能够被搜索头群集的其他成员访问,并且可以完全限制其他⾓⾊。)确保您的管理员帐户安全使⽤ Enterprise 许可证的 Splunk 具有默认的管理帐户和密码,admin/changeme。Splunk 强烈建议您更改默认值,以确保系统安全。您的密码应该很复杂,并遵循⼀般密码的最佳做法:使⽤单词、数字、符号及⼤⼩写字⺟组合。虽然复杂性很重要,但⻓度却⾄关重要。我们建议密码⻓度⾄少为 10 个字符。不要将您的⽣⽇、社会保险号、电话号码或家⼈姓名等⽤作密码,因为可能不是很可靠。不要使⽤字典中可以找到的单词。不要使⽤您在其他地⽅使⽤或之前使⽤过的密码。使⽤ Splunk Web要更改管理员默认密码:1.以管理员⽤户⾝份登录 Splunk Web。2.单击界⾯右上⽅的设置。3.在屏幕的“⽤户和验证”部分中单击访问控制。4.单击⽤户。5.单击 admin ⽤户。6.更新密码,并单击保存。使⽤ Splunk CLISplunk CLI 命令为:splunk edit user重要提⽰:您必须⾸先使⽤现有密码进⾏验证,然后才能更改密码。通过 CLI 或使⽤

-auth 参数登录 Splunk。例如,该命令将管理员密码从 changeme 更改为 foo:splunk edit user admin -password foo -role admin -auth admin:changeme注意:在 *nix 操作系统上,shell 会将某些特殊字符解释为命令指令。您必须对这些字符进⾏转义,⽅法是分别在各字符之前加上

或者将密码⽤单引号 (') 括起。例如:splunk edit user admin -password 'FFL14io!23ur$' -role admin -auth admin:changeme10或splunk edit user admin -password FFL14io!23ur$ -role admin -auth admin:changeme在 Windows 上,使⽤脱字符 (^) 对保留的 shell 字符进⾏转义或者将密码⽤双引号 (") 括起。例如:splunk edit user admin -password "FFL14io!23ur>" -role admin -auth admin:changeme或splunk edit user admin -password FFL14io!23ur^> -role admin -auth admin:changeme注意:您还可以跨服务器⼀次重置所有密码。有关过程,请参阅“跨多个服务器部署密码”。禁⽤多余的 Splunk Enterprise 组件对于单服务器 Splunk Enterprise 部署:转发器不应运⾏ Splunkweb,也不应配置为通过 TCP 或 UDP 端⼝接收数据,或从其他 SplunkEnterprise 实例接收数据。对于多服务器 Splunk Enterprise 部署:搜索头不应通过 TCP 或 UDP 端⼝接收数据,或者从其他 Splunk Enterprise 实例接收数据。在分布式环境中,如果⽤户不在索引器上登录 Splunkweb,应在索引器上禁⽤ Splunkweb。确保您服务帐户的安全应以⾮特权⽤户⾝份运⾏ Splunk 软件来实施最⼩权限的原则,⽽不要使⽤诸如 root 或管理员等的特权帐户。在 Unix 或 Linux 中,使⽤通过 PKG 或 RPM 软件包创建的 "splunk" ⽤户,或创建只在

$SPLUNK_HOME 上具有特权和所有权的您⾃⼰的⽤户。在 Windows 上,通常最好使⽤本地系统上下⽂。但是,如果您需要使⽤ windows 通信通道(如 WMI)进⾏通信,应使⽤受限制的访问帐户。跨多个服务器部署安全密码Splunk Enterprise 在初始启动阶段创建

$SPLUNK_HOME/etc/auth/ ⽂件。此⽂件包含⽤于加密配置⽂件中的⼀些验证信息的密钥::每个实例中的 SSL 密码。:您的 LDAP 密码(若有)。:使⽤

splunktcp-ssl 时的 SSL 密码。::使⽤

splunktcp-ssl 时的 SSL 密码。:pass4symmkey,如果您有其中之⼀。Splunk 软件启动后,如果在这些设置中检测到明⽂密码,它将创建或⽤加密密码覆盖等效的本地⽂件夹中的配置。注意:如果 pass4symmkey 或 SSLPassword 在默认应⽤⽂件中指定,则当重新启动时,在⽂件的本地版本中将混淆密码。⽂件的默认版本为纯⽂本格式。然⽽,如果使⽤

curl 或 splunkd 端点列出⽂件,则密码将显⽰为加密。在多个服务器上部署 Splunk 软件时,可以执⾏以下步骤来加密这些密码并确保密码在整个您的部署中保持⼀致。应在原始部署以及您需要为实例部署新密码时执⾏这些步骤:1.配置⼀个 Splunk 实例并根据需要修改任何密码。(如果这是新配置,请勿启动任何其他实例。)2.重新启动配置的实例以对⽂件中的密码进⾏加密。密码信息会继续以纯⽂本形式存储,直到其在重新启动时获得加密。3.将加密⽂件

从配置的⽰例复制到所有的其他⽰例。4.启动已将此⽂件复制到的所有新实例,或者如果您要在部署之后分布修改后的⽂件,重新启动现有实例。注意:该过程与搜索头群集⽆关。在群集的初始部署阶段,位于搜索头群集的管理员复制其

⽂件⾄所有其他群集成员,所以您不必⼿动复制。作为其正常操作的⼀部分,群集也会⾃动复制由⾃⼰使⽤的应⽤所存储的任何凭据。强化您的 KV 存储端⼝11我们建议您通过限制 KVstore 访问您的端⼝来确保您的环境安全。默认情况下,端⼝ 8191 对⽹络打开。我们建议您尽可能限制此端⼝。对于搜索头群集化,您应该只将端⼝打开给群集的其他成员,以便其他成员可以复制 KV 存储数据。有关使⽤ KV 存储的更多信息,请参阅“关于应⽤键值存储”。服务器和操作系统的⼀些最佳做法操作系统要最⼤程度地提⾼安全性,请在运⾏ Splunk 软件的所有计算机上强化操作系统。如果贵组织没有内部强化标准,请参阅 CIS 强化基准。⾄少限制对 Splunk 服务器的 shell/命令⾏访问。Splunk配置冗余 Splunk 实例(两者均为相同数据的副本建⽴索引)。定期备份 Splunk 数据和配置。尝试从备份恢复 Splunk Enterprise 以定期执⾏恢复测试。通过使⽤诸如 MD5 的哈希函数⽐较哈希来验证 Splunk 下载。例如:./openssl dgst md5 <>客户端浏览器使⽤受⽀持浏览器(如 Firefox 或 Internet Explorer)的当前版本。使⽤客户端 JavaScript 阻⽌程序(如 Firefox 或 Internet Explorer 8 过滤器上的 noscript)帮助防⽌XSS、XSRF 及类似的漏洞。确保⽤户安装最新的 Flash 版本。物理安全性确保对所有 Splunk 服务器的物理访问安全。确保 Splunk 最终⽤户实施合理的物理和端点安全性。为 Splunk Web ⽤户会话设置较短的超时时间。有关更多信息,请参阅“配置超时”。更多确保您配置安全的机会使⽤配置管理⼯具(如 subversion)为 Splunk 配置提供版本控制。将 Splunk 配置更改集成到您的现有更改管理框架中。将 Splunk Enterprise 配置为监视其⾃⼰的配置⽂件并在发⽣更改时告警。12⽤户和基于⾓⾊的访问控制使⽤访问控制确保 Splunk 数据安全基于⾓⾊的访问控制提供了灵活⾼效的⼯具,可供您⽤于保护 Splunk 数据。Splunk Enterprise 以类似关系数据库管理基于⾓⾊的访问控制的⽅式通过掩码向⽤户显⽰数据。在某些情况下,可能需要数据的总分段。在其他情况下,在显⽰层控制搜索和结果(可以在许多 Splunk 应⽤中实现)可能会符合您的安全需要。决定如何设置您的配置以及基于⾓⾊的访问是否符合您的需要时,请考虑您的使⽤案例。例如:对于极其敏感的数据,如果即使允许访问可能具有敏感数据的系统也会产⽣法律⻛险,请考虑安装和配置Splunk Enterprise 的多个实例,然后对每个实例配置适合相应受众的数据。有意或⽆意向错误的⽤户披露敏感数据可能会导致法律后果时,考虑针对特权帐户和⾮特权帐户专门创建索引,然后将它们分配给为每个访问级别创建的⾓⾊。在存在安全问题但没有太⼤法律⻛险时,您可以使⽤“应⽤”限制访问。例如,您可以创建具有静态仪表板的应⽤,并将具有较低许可的⾓⾊分配给这些仪表板,限制分配有该⾓⾊的⽤户可以访问的信息类型。字段加密(可选功能)、搜索排除和对已编辑数据设置字段别名也是加强限制搜索的好⽅法。如果遇到限制搜索的情况,并且只能从共享索引中搜索⼀些特定的数据,您可以限制共享报表以限制临时搜索并将摘要索引聚集到⼀个安全的索引中。关于⽤户验证Splunk Enterprise 验证允许添加⽤户、为⽤户分配⾓⾊以及根据组织的需要为这些⾓⾊提供⾃定义权限。验证系统的选项如下:Splunk 验证:默认情况下提供管理员、⾼级⽤户和普通⽤户,您可以使⽤功能列表定义⾃⼰的⾓⾊。如果您有 Enterprise 许可证,则默认情况下启⽤ Splunk 验证。有关更多信息,请参阅“设置使⽤ Splunk 的内置系统进⾏的⽤户验证”。LDAP:Splunk Enterprise ⽀持使⽤其内部验证服务或您的现有 LDAP 服务器进⾏验证。有关更多信息,请参阅“设置使⽤ LDAP 进⾏的⽤户验证”。脚本式验证 API:使⽤脚本式验证将 Splunk 验证与外部验证系统(如 RADIUS 或 PAM)集成起来。有关更多信息,请参阅“设置使⽤外部系统进⾏的⽤户验证”。注意:验证包括本机验证、LDAP 和脚本式验证,但在 Splunk Free 中却⽆法使⽤。您可以在 Splunk Web 中,或者通过编辑 创建⽤户,并为⽤户分配灵活的⾓⾊。有关⾓⾊和功能的更多信息,请参阅“关于基于⾓⾊的⽤户访问权限”。重要提⽰:Splunk 验证优先于任何外部系统。按以下顺序验证⽤户: 验证 或脚本式验证(如启⽤)关于配置基于⾓⾊的⽤户访问权限如果您运⾏ Splunk Enterprise,您可以创建具有密码的⽤户,然后将这些⽤户分配给⾓⾊。⾓⾊决定访问权限和分配到该⾓⾊的任何⽤户权限。关于⽤户的更多信息,请参阅“关于⽤户验证”。预定义⾓⾊:管理员:此⾓⾊专门⽤于管理所有或⼤部分⽤户、对象和配置的管理员,并预定义了分配最多的功能。⾼级⽤户:该⾓⾊可以编辑所有共享对象(保存的搜索等),以及告警、标记事件或其他类似任务。普通⽤户:该⾓⾊可以创建并编辑⾃⼰的已保存搜索、运⾏搜索、编辑其⾸选项、创建并编辑事件类型和其他类似任务。can_delete:此⾓⾊允许⽤户按关键字删除。在使⽤删除搜索运算符时,才需要此功能。sc_admin(仅适⽤于云):此⾓⾊允许⽤户创建⽤户和⾓⾊,但不会授予任何其他管理员功能。您还可以创建⾃定义⾓⾊,并为您的⽤户分配这些⾓⾊。创建⾃定义⾓⾊时,您会确定以下内容:允许的搜索:您可以定义分配给⾓⾊的⽤户允许执⾏的搜索。⾓⾊继承:您可以让您的⾓⾊继承⼀个或多个现有⾓⾊的特定属性。本主题中稍后会讨论⾓⾊继承。13分配功能:您可以指定分配给⾓⾊的⽤户可以执⾏的操作(更改其密码,更改转发器设置等)。有关更多信息,请参阅“关于使⽤功能定义⾓⾊”。设置允许的索引和默认索引:您可以限制对特定索引的访问,并设置默认搜索的索引。要在 Splunk Web 中创建⾓⾊,请参阅“通过 Splunk Web 添加和编辑⾓⾊”。要通过编辑

创建⾓⾊,请参阅“使⽤ 添加和编辑⾓⾊”。继承作为规则,多个⾓⾊的成员会从具有最⼴泛权限的⾓⾊继承属性。⽤户如何继承搜索过滤条件限制您可以创建继承其他⾓⾊特性的⾓⾊。分配给多个⾓⾊的⽤户会从已分配的⾓⾊继承属性。如果是搜索过滤条件,将⽤户分配给具有不同搜索过滤条件的⾓⾊时,会合并所有过滤条件,从⽽应⽤每个⾓⾊的限制。例如,默认情况下,⾼级⽤户和普通⽤户⾓⾊没有定义为限制搜索的搜索过滤条件。如果⽤户具有这些⾓⾊和定义了过滤器(例如,srchFilter=x)的其他⾓⾊,则⽤户将继承该⾓⾊的限制(虽然与没有过滤器的⾓⾊关联)。⽤户如何继承允许的索引如果是允许的索引,则为⽤户提供已授予为其分配的⾓⾊的最⾼级别访问权限。例如,如果将⽤户同时分配给“简单⽤户”⾓⾊(此⾓⾊只能访问⼀个特定的索引)和“⾼级⽤户”⾓⾊(此⾓⾊具有更多的功能,并允许访问所有索引),则该⽤户将具有所有索引的访问权限。如果您要授予“⾼级⽤户”的功能,但继续将其索引访问限制为针对“简单⽤户”定义的单个索引,则应专门为该⽤户创建⼀个新⾓⾊。⽤户如何继承功能如果是功能,为⽤户提供已授予为其分配的⾓⾊的最⾼级别权限。例如,如果为⽤户同时分配具有最多功能的“管理员”⾓⾊和具有⼀组不同功能的“⾼级⽤户”⾓⾊,则该⽤户将具有这两个⾓⾊的功能。关于使⽤功能定义⾓⾊在 Splunk Web 中创建⽤户时,为该⽤户分配⼀个⾓⾊。有关更多信息,请参阅“关于基于⾓⾊的⽤户访问权限”。每个⾓⾊都包含⼀组功能。您可以为新⾓⾊、现有⾓⾊和默认⾓⾊添加或编辑功能。例如,您可以授予⾓⾊添加输⼊或编辑保存的搜索的功能。要在 Splunk Web 中添加或更改某个⾓⾊的功能,请参阅“使⽤ Splunk Web 添加和编辑⾓⾊”。要通过编辑 创建⾓⾊,请参阅“使⽤ 添加和编辑⾓⾊”。可⽤功能列表此列表显⽰您可以添加到任何⾓⾊的功能。在 中查找此列表的最新版本。管理员⾓⾊具有此列表中的所有功能,"delete_by_keyword" 功能除外。功能名称accelerate_datamodelaccelerate_search可执⾏的操作启⽤或禁⽤数据模型加速。启⽤或禁⽤报表加速。为使某个⾓⾊能够使⽤此功能,该⾓⾊还必须具有schedule_search 功能。访问和修改系统中的任何对象(⽤户对象、搜索任务等)。(覆盖对象中设置的限制。)更改验证设置和重新加载验证。⽤户可以更改其密码。在搜索中使⽤ "delete" 运算符。更改部署客户端设置。更改部署服务器设置。添加和编辑分布式搜索的对等节点。更改转发器设置。admin_all_objectschange_authenticationchange_own_passworddelete_by_keywordedit_deployment_clientedit_deployment_serveredit_dist_peeredit_forwarders14edit_httpauthsedit_indexer_clusteredit_input_defaultsedit_monitoredit_roles编辑和结束⽤户会话。编辑索引器群集。更改输⼊数据的默认主机名。为监视⽂件添加输⼊和编辑设置。编辑⾓⾊,并更改⽤户/⾓⾊映射。编辑⾓⾊并更改有限组⾓⾊的⽤户/⾓⾊映射。可以为其他⽤户分配任何⾓⾊。要限制此功能,请在 中配置

grantableRoles。例如:

grantableRoles =role1;role2;role3edit_roles_grantableedit_scriptededit_search_head_clusteringedit_search_serveredit_search_scheduleredit_search_schedule_priorityedit_search_schedule_windowedit_serveredit_server_crledit_splunktcpedit_splunktcp_ssledit_splunktcp_tokenedit_sourcetypesedit_tcpedit_tcp_tokenedit_telemetry_settingsedit_token_httpedit_udp创建和编辑脚本式输⼊。编辑搜索头群集化设置。编辑诸如超时、检测信号和⿊名单等⼀般分布式搜索设置。编辑搜索计划程序。为计划报表分配优先级。需要 schedule_search 功能。为计划报表分配计划窗⼝。需要 schedule_search 功能。编辑诸如服务器名称、⽇志级别等⼀般服务器设置。编辑服务器控件。更改从其他 Splunk 实例接收 TCP 输⼊的设置。可以列出或编辑 Splunk TCP 输⼊的特定于 SSL 的设置。编辑 Splunktcp 标记。编辑 sourcetypes。更改接收⼀般 TCP 输⼊的设置。更改 TCP 标记。这是管理员功能,应该只能分配给系统管理员。选择启⽤或退出产品⼯具。请参阅《管理员⼿册》中的“共享性能数据”。编辑 http 标记更改 UDP 输⼊的设置。创建、编辑或删除⽤户。具有

edit_user 功能的⾓⾊可以将任何⾓⾊分配给其他⽤户。要限制此功能,请在 中配置

grantableRoles。例如:grantableRoles = role1;role2;role3edit_useredit_view_htmledit_web_settingsembed_reportexport_results_is_visibleextra_x509_validationget_diagget_metadataget_typeaheadindexes_editinput_filelicense_tablicense_editlicense_view_warningslist_deployment_clientlist_deployment_serverlist_forwarderslist_httpauthslist_inputs创建、编辑或修改基于 HTML 的视图。更改 的设置。嵌⼊报表并禁⽤所嵌报表的嵌⼊操作。显⽰或隐藏 Splunk Web 中的导出结果按钮。默认值为显⽰按钮。添加其他 x509 验证。使⽤ /streams/diag 端点从 Splunk 实例获取远程诊断。使⽤ "metadata" 搜索处理器。使⽤键盘缓冲。更改诸如⽂件⼤⼩和内存限制等索引设置。添加⽂件作为输⼊。访问和更改许可证。编辑许可证。查看许可证警告。查看部署客户端设置。查看部署服务器设置。查看转发器设置。查看⽤户会话。查看不同输⼊的列表,其中包括⽂件、TCP、UDP、脚本等输⼊。15list_introspectionlist_indexer_clusterlist_search_head_clusteringlist_search_schedulerlist_settingslist_storage_passwordsoutput_filepattern_detectrequest_remote_tokrest_apps_managementrest_apps_viewrest_properties_getrest_properties_setrestart_splunkdrtsearchrun_debug_commandsschedule_searchschedule_rtsearchsearchsrchFiltersrchIndexesAllowedsrchJobsQuotasrchMaxTimesearch_process_config_refreshuse_file_operatorsrchIndexesDefaultweb_debug查看⾃检⽂件。查看索引器群集列表列出搜索头群集化对象,如项⽬、委派的任务、成员、管理员等。查看搜索计划程序任务列表。查看所有配置设置。查看存储密码列表。添加⽂件作为输出。在“搜索”视图中查看和使⽤“模式”选项卡的控制能⼒。获取远程验证标记。编辑 python 远程应⽤处理程序中的设置。列出 python 远程应⽤处理程序中的属性。可以从服务/属性端点获取信息。编辑服务/属性端点。通过服务器控制处理程序重新启动 Splunk Enterprise。运⾏实时搜索。运⾏调试命令。计划已保存搜索、创建并更新告警、查看触发的告警信息。计划实时保存的搜索。为使⽤户能够使⽤此功能,该⾓⾊还必须具有schedule_search 功能。运⾏搜索。让⽤户管理搜索过滤条件。允许⽤户搜索索引。设置搜索任务配额。设置搜索的最⼤时间。使⽤ "refresh search-process-config" CLI 命令⼿动刷新空闲搜索过程。使⽤ "file" 搜索运算符。设置默认的搜索索引。调试 Web ⽂件。Windows 特定功能如果您在 Windows 上运⾏ Splunk Enterprise,则将提供其他功能以便于监视。功能名称edit_modinput_perfmonedit_modinput_admonedit_win_eventlogsedit_win_wmiconfedit_win_regmonedit_win_admonedit_win_perfmonlist_win_localavailablelogslist_pdfserveredit_modinput_winnetmonedit_modinput_winhostmonedit_modinput_winprintmon可执⾏的操作在 中编辑模块化输⼊。在 中编辑模块化输⼊。编辑 windows eventlogs。编辑 。(已弃⽤)(已弃⽤)(已弃⽤)列出所有本地 Windows 事件⽇志。查看 PDF 服务器⽂件添加和编辑监视 Windows ⽹络数据的输⼊。添加和编辑监视 Windows 主机数据的输⼊。需要添加和编辑监视 Windows 打印机数据的输⼊。16write_pdfserversrchTimeWin写⼊ PDF 服务器⽂件。设置搜索时间限制。通过 Splunk Web 添加和编辑⾓⾊在创建⽤户时,您为⽤户分配决定 Splunk Enterprise 访问级别的⾓⾊,以及⽤户可以执⾏的任务。SplunkEnterprise 提供⼀组您可以使⽤的默认⾓⾊。您也可以创建⾃⼰的⾓⾊。有关⾓⾊,以及如何继承功能和权限的信息,请参阅“关于基于⾓⾊的⽤户访问权限”。注意:从“管理员”或“⾼级”⽤户继承的⾃定义⾓⾊不会⾃动继承管理访问权限。有关授予⾃定义⾓⾊管理访问权限的信息,请参阅“为⾃定义⾓⾊添加访问控制”。添加或编辑⾓⾊在 Splunk Web 中创建或编辑⾓⾊:1.单击设置 > 访问控制。2.单击访问控制⻚⾯,单击⾓⾊。3.单击新建或选择并编辑现有⾓⾊。⾓⾊名称只能使⽤⼩写字符,不得包含空格、冒号或正斜线。4.在继承部分中,选择您要新⾓⾊从中继承功能和属性的⾓⾊。分配给多个⾓⾊的⽤户会从具有最⼴泛权限的⾓⾊继承属性。有关更多信息,请参阅“关于基于⾓⾊的⽤户访问权限”主题中的“⾓⾊继承”。5.在功能部分中,选择您要为此⾓⾊提供的各项功能。有关更多信息,请参阅“关于使⽤功能定义⾓⾊”。6.在默认搜索的索引中,指定在搜索中未指定索引时此⾓⾊将⾃动搜索的索引。7.在索引中,选择允许⽤户搜索的索引。如果您添加⾄少⼀个索引,则具有此⾓⾊的⽤户将只能在选定的⼀个或多个索引上执⾏搜索。如果您未指定任何索引,则分配给此⾓⾊的⽤户可以搜索所有索引。8.单击保存。搜索过滤器格式“搜索过滤器”字段中可以包括以下任⼀搜索术语:source=host=index=eventtype=sourcetype=搜索字段通配符通过

OR 可使⽤多个术语,或通过

AND 可使搜索的限制性更⾼搜索术语不能包括:保存的搜索时间运算符正则表达式Splunk Web 可以覆盖的任何字段或修饰符使⽤ 添加和编辑⾓⾊您可以通过编辑 添加或修改⾓⾊。⽤户会被分配给⾓⾊,这些⾓⾊决定了⽤户的访问级别以及可以执⾏的任务。有关⾓⾊和功能的更多信息,请参阅“关于基于⾓⾊的⽤户访问权限”。警告:不要在

$SPLUNK_HOME/etc/system/default/ 中编辑或删除任何⾓⾊。这可能破坏您的管理员功能。在

$SPLUNK_HOME/etc/system/local/ 或您⾃⼰的⾃定义应⽤程序⽬录(在

$SPLUNK_HOME/etc/apps/ 中)中编辑此⽂件。更多有关配置⽂件的⼀般信息,请参阅《管理员⼿册》中的“关于配置⽂件”。注意:分布式搜索配置的授权需求稍有不同。使⽤搜索头群集化时,必须确保搜索头和搜索节点全部使⽤同⼀组 ⽂件。要确保为搜索合并正确设置了授权,请参阅“授权如何在分布式搜索中⼯作”。添加⾓⾊以下是通过

$SPLUNK_HOME/etc/system/local/ 添加⾓⾊的语法:17[role_] = = ...段落标题中的

是您要为⾓⾊提供的名称。例如:security、compliance和ninja。⾓⾊名称只能使⽤⼩写字符,不得包含空格、冒号、分号或正斜线。您可以在⾓⾊段落中包括以下属性: = enabled您可以将任意多个功能添加到⾓⾊。有关更多信息,请参阅“关于使⽤功能定义⾓⾊”。默认情况下禁⽤功能。要将功能添加到⾓⾊,仅将其设置为 "enabled" 即可。设置完成后,当前⾓⾊将从

继承所有功能。分配给多个⾓⾊的成员会从具有最⼴泛权限的⾓⾊继承属性。有关更多信息,请参阅“关于⽤户和⾓⾊”主题中的“⾓⾊继承”。如果有多个⾓⾊,⽤分号分隔。使⽤此字段对访问权限进⾏精细粒度的控制。对此⾓⾊的搜索将由此表达式过滤。有关更多信息,请参阅本主题的“搜索过滤条件格式”。通过此⾓⾊执⾏的搜索的最⼤时间跨度(单位为秒)。属于此⾓⾊的⽤户的搜索任务可以占⽤的最⼤磁盘空间量 (MB)。importRoles = ;;...srchFilter = srchTimeWin = srchDiskQuota = cumulativeSrchJobsQuota = 此⾓⾊的所有成员可以拥有的最多并发运⾏的历史搜索数量。注意:某⽤户属于多个⾓⾊时,此⽤户⾸先使⽤具有最⼤累计搜索配额的⾓⾊的搜索。在该⾓⾊的搜索配额全部⽤完时,再使⽤具有较低配额的⾓⾊。此⾓⾊的所有成员可以拥有的最多并发运⾏的实时搜索数量。注意:某⽤户属于多个⾓⾊时,此⽤户⾸先使⽤具有最⼤累计搜索配额的⾓⾊的搜索。在该⾓⾊的搜索配额全部⽤完时,再使⽤具有较低配额的⾓⾊。此⾓⾊的成员可以拥有的最多并发运⾏的搜索数量。此⾓⾊的成员可以同时运⾏的实时搜索最⼤数⽬。未指定索引时要搜索的以分号分隔的索引列表。这些索引可以使⽤通配符,但 '*' 不匹配内部索引。要匹配内部索引,以 '_' 开头。所有内部索引均由 '_*' 表⽰。允许此⾓⾊搜索的分号分隔的索引列表。遵守与

srchIndexesDefault 相同的通配符语义。cumulativeRTSrchJobsQuota = srchJobsQuota = rtSrchJobsQuota = srchIndexesDefault = srchIndexesAllowed = 注意:对

进⾏更改后,必须重新加载验证或重新启动 Splunk。否则,您的新⾓⾊将不会出现在⾓⾊列表中。要重新加载验证,转到 Splunk Web 的管理器 > 验证部分。此操作刷新验证缓存,但不会启动当前⽤户。搜索过滤条件格式srchFilter 字段中可以包括以下任⼀搜索术语:source=host= 和主机标记index= 和索引名称eventtype= 和事件类型标记sourcetype=搜索字段通配符通过

OR 可使⽤多个术语,或通过

AND 可使搜索的限制性更⾼。搜索术语不能包括:保存的搜索时间运算符正则表达式Splunk Web 可以覆盖的任何字段或修饰符在

中创建⾓⾊的⽰例本⽰例创建 "ninja" ⾓⾊,该⾓⾊继承默认“⽤户”⾓⾊的功能。ninja 具有与默认“⾼级⽤户”⾓⾊⼏乎相同的功能,但此⾓⾊不能计划搜索。另外:18搜索过滤条件限制 ninja 在

host=foo 搜索。如果未在搜索中指定索引,则 ninja 可以搜索所有公共索引(不以下划线开头),并将搜索索引

mail 和main。ninja 可以同时运⾏ 8 个搜索任务和 8 个实时搜索任务。(这些计数互不相关。)ninja 最多可以占⽤总计 500MB 的磁盘空间⽤于其所有任务。[role_ninja]rtsearch = enabledimportRoles = usersrchFilter = host=foosrchIndexesAllowed = *srchIndexesDefault = mail;mainsrchJobsQuota = 8rtSrchJobsQuota = 8srchDiskQuota = 500设置管理器控制台和应⽤的访问权限利⽤ ⽂件可以⽅便地授予和限制对 Splunk 实例特定部分的访问权限。例如,您可以:限制⾃定义⾓⾊中的⽤户只能访问特定应⽤批准⾃定义⾓⾊中的⽤户访问管理员级别功能将管理员⾓⾊授予⽤户属于“管理员”⾓⾊的⼀些管理功能是该特定标签特有的功能。当您在 Splunk Web 或

中配置⾓⾊时,这些功能不会从管理员⾓⾊中⾃动继承。例如,假设您要创建⼀个⾃定义⾓⾊,该⾓⾊继承所有“管理员”功能但对您的搜索任务具有有限访问权限。为此,可以创建名为 "SpecialAdmin" 的新⾓⾊,并按“关于使⽤功能定义⾓⾊”中所述将其设置为继承管理员的所有功能,然后按“关于配置基于⾓⾊的⽤户访问权限”所述设置搜索限制。限制对特定应⽤的访问 ⽂件也可⽤来限制访问权限。例如,假设您要允许⽤户只访问⼀个仪表板视图。要达到此⽬的,可以为此视图创建⼀个应⽤,然后将⽤户的⾓⾊分配给此应⽤。您应使⽤ 允许⾓⾊查看此应⽤。如何通过 ⽂件添加和删除访问权限通过编辑 ⽂件在您需要的位置添加新⾓⾊可以授予或限制访问权限。1.找到

⽂件。如果您正在编辑主搜索⻚⾯(如管理器控件)的访问权限,请查看$SPLUNK_HOME/etc/system/metadata/。如果想要编辑特定应⽤的访问权限,则查看$SPLUNK_HOME/etc/apps//metadata/。如果所需位置的⽬录未包含该⽂件,则您可以复制默认版本

并对其进⾏重命名。注意:请不要直接编辑

⽂件,因为您在未来可能需要⽤到该⽂件中的默认值。2.在

⽂件中,将新⾓⾊的名称添加⾄与所需访问权限相对应的段落。默认段落[manager/accesscontrols]access = read : [ * ],write : [ admin, power ][views][manager/accesscontrols]access = read : [ * ],write : [ admin ]⽤途允许所有⽤户根据所处的⽬录读取此应⽤的内容,或访问“Splunk 管理器”⻚⾯中的功能。除⾮由其他元数据所覆盖,只允许管理员和⾼级⽤户将对象共享到此应⽤。决定管理器⻚⾯访问权限的访问控制。3.完成所有更改后,重新启动 Splunk Enterprise。⽰例⽰例 1:名为 "usermanager" 的新⾓⾊只继承⽤户的功能,不继承搜索或索引。⽬的是使创建的⾓⾊没有数据访问权限,仅⽤于创建和管理⽤户帐户。要创建此⾓⾊,您应编辑以下段落:19[manager/accesscontrols]access = read : [ admin ], write : [ admin ]包括以下内容:[manager/accesscontrols]access = read : [ admin, usermanager ], write : [ admin, usermanager ]您刚刚为 "usermanager" 提供了查看和编辑管理器中“访问控制”⻚⾯内容的能⼒。⽰例 2:要允许 "userview" ⾓⾊访问⻚⾯但不能编辑,只将⾓⾊添加到读取值即可:[manager/accesscontrols]access = read : [ admin, userview, usermanager ], write : [ admin, usermanager ]您还可以使⽤通配符向“每个”⾓⾊授予读取管理器⻚⾯的访问权限:[manager/accesscontrols]access = read : [ * ], write : [ admin ]⽰例 3:您要拥有只能读取您指定的销售数据的部分⽤户。要达到此⽬的,可以为仪表板创建⼀个应⽤,然后创建新⾓⾊ "salesusers"。然后您可以在应⽤⽬录的

⽂件中编辑以下段落(记得您可以从

⽂件中创建⼀个):[viewstates]access = read : [ * ], write : [ * ]to read:[viewstates]access = read : [ salesusers ], write : [ admin ]查找现有⽤户和⾓⾊要在 Splunk Web 中查找现有⽤户或⾓⾊:1. 在主菜单中,单击系统 > 访问控制。2. 单击⽤户或⾓⾊,选择您要搜索的实体。默认情况下,搜索指定字符串的所有字段。要搜索特定字段,请指定字段的名称。请注意,Splunk 搜索⽀持通配符。例如:如需仅搜索电⼦邮件地址:

"email=<电⼦邮件地址或地址⽚段>:如需仅搜索“全名”字段:

"realname=<姓名或姓名⽚段>.如需仅搜索给定⾓⾊中的⽤户:

"roles="。删除所有⽤户帐户键⼊

./splunk clean,然后键⼊

userdata 参数,可以从 Splunk 安装中移除所有⽤户数据(⽤户帐户)。这会删除除默认⽤户帐户(管理员、⾼级⽤户、普通⽤户)以外的所有⽤户帐户。警告:删除⽤户数据是不可撤消的操作;如果您意外删除了⽤户数据,则必须⼿动重新添加帐户。删除系统中的所有⽤户帐户:./splunk clean userdata要删除系统中的⽤户帐户,并跳过确认提⽰:./splunk clean userdata -fSplunk 知识对象的安全访问您使⽤ Splunk Enterprise 时,创建各种知识对象,例如,事件类型、标记、查找、字段提取、⼯作流动作和保存的搜索。利⽤ Splunk Web 可以限制和扩展对 Splunk 实现中知识对象的访问权限。您可以使⽤它来达到20下述⽬的:使对象可供所有应⽤的⽤户使⽤。使对象可供特定应⽤的⽤户使⽤。通过⽤户⾓⾊限制对象访问权限。禁⽤或删除对象。允许⽤户共享或删除他们未拥有的对象。有关确保知识对象安全的更多信息,请参阅《知识管理器⼿册》中的“管理知识对象权限”和“禁⽤或删除知识对象”。使⽤访问控制列表要帮助确保 Splunk 配置的安全,使⽤ Splunk Enterprise 访问控制列表 (ACL) 限制可访问各个⽹络部分的 IP 地址。要配置 ACL,请编辑

以指定不同的通信接受或拒绝的 IP 地址。如何设置 ACL⽤逗号或空格分隔各地址。可以使⽤下列格式提供地址:单个 IPv4 或 IPv6 地址。例如:10.1.2.3, fe80:: 地址块。例如:10/8, fe80:1234/ 名称,可能使⽤ * 作为通配符,例如:, *..匹配任何内容(这是默认值)的单个

*。要添加希望包含的地址,使⽤如下所述的格式之⼀添加相应地址。要排除某个地址,应在该地址前⾯添加 '!' 前缀。按顺序应⽤规则,并使⽤第⼀个匹配项。例如,!10.1/16, * 将允许来⾃除 10.1.*.* ⽹络以外其他任何地⽅的连接。设置 ACL 的位置您可以通过编辑

[Accept from] 值确保以下链接的 IP 地址的安全:要指⽰节点只接受从带有特定 IP 的其他节点中复制的数据,请编辑

httpServer 段落(位于

)。

如果设置此属性,必须确保包括群集中所有其他对等节点的 IP 地址。有关群集的更多信息,请参阅“关于群集和索引复制”。有关编辑 的更多信息,请参阅 。要限制对特定 IP 地址的 TCP 通信,请编辑

tcp 段落(位于

)。请谨慎操作,因为如有信息冲突,这将覆盖

中的输出值。要限制使⽤ SSL 对特定 IP 地址的 TCP 通信,请编辑

tcp-ssl 段落(位于

)。要限制索引器只接受来⾃带有特定 IP 地址的转发器的数据,请编辑

splunktcp 段落(位于

)。这可防⽌某⼈欺骗您的转发器,进⽽可能破坏您的数据。如果索引器通信的转发器通过 SSL 确保安全,则编辑

splunktcp-ssl 段落(位于

)以限制索引器只接受来⾃带有特定 IP 地址转发器的数据。要限制对特定 IP 地址的 UDP 通信,请编辑

UDP 段落(位于

)。有关编辑

的更多信息,请参阅 21Splunk Enterprise 本机验证设置 Splunk 验证通过 Splunk 验证可轻松地在系统中设置⽤户。Splunk 验证总是优先于任何外部验证系统。以下是验证⽤户的顺序: 验证。 或脚本式验证(如启⽤)。有关更多信息,请参阅“设置使⽤ LDAP 进⾏的⽤户验证”和“设置使⽤外部系统进⾏的⽤户验证”。注意:不能同时使⽤ LDAP 和脚本式验证。您可以通过以下两种⽅法使⽤基于⾓⾊的访问控制系统创建新⽤户,并将这些⽤户分配给⾓⾊:使⽤ Splunk Web 创建⽤户和分配⾓⾊。有关更多信息,请参阅“使⽤ Splunk Web 配置⽤户”。使⽤ CLI 创建⽤户,然后使⽤ Splunk Web 将它们分配给⾓⾊。有关更多信息,请参阅“使⽤ CLI 配置⽤户”。创建⽤户和⾓⾊时的重要命名指导原则在本机验证中存储的⽤户名不得包含空格、冒号或正斜线。名称不区分⼤⼩写,例如:"Jacque"、"jacque"、"JacQue" 对 Splunk 验证来说都相同。⾓⾊名称只能使⽤⼩写字符,不得包含空格、冒号或正斜线。使⽤ Splunk Web 配置⽤户在 Splunk Web 中配置⽤户和⾓⾊:1.

2.

3.

4.

导航⾄设置 > ⽤户和验证 > 访问控制。单击⽤户。单击新建,或选择现有⽤户来编辑。指定或更改⽤户的信息。您可以指定⽤户的:全名。电⼦邮件地址。时区。这允许⽤户按他们⾃⼰的时区查看事件和其他信息。默认应⽤。这会覆盖从⽤户⾓⾊继承的默认应⽤。密码。5. 将⽤户分配给现有的⼀个或多个⾓⾊,然后单击保存。您还可以专为某个⽤户创建⼀个⾓⾊,准确地定义该⽤户对 Splunk Enterprise 具有哪些访问权限。然后,可以将⽤户分配给此⾓⾊。有关⾓⾊的信息,请参阅“关于基于⾓⾊的⽤户访问权限”。有关管理⽤户设置的信息,请参阅 Splunk Enterprise 管理指南。使⽤ CLI 配置⽤户在 CLI 中使⽤

add user 命令。以下是⼀些⽰例:添加密码为 "changeme2" 的新管理员⽤户:./splunk add user admin2 -password changeme2 -role admin -auth admin:changeme将现有⽤户的密码更改为 "fflanda":./splunk edit user admin -password fflanda -role admin -auth admin:changeme重要提⽰:如果密码包含会被 shell 解释为其他含义的特殊字符(例如 '$' 或 '!'),则必须使⽤转义符或单引号。例如:./splunk edit user admin -password 'fflanda$' -role admin -auth admin:changeme或./splunk edit user admin -password fflanda$ -role admin -auth admin:changeme通过 Splunk Web 将⽤户添加到⾓⾊您可以将⽤户添加到默认⾓⾊或您⾃⼰创建的⾃定义⾓⾊。有关更多信息,请参阅“关于基于⾓⾊的⽤户访问权限”。22通过 Splunk Web 将⼀个或多个⽤户添加到⾓⾊:1.单击主菜单中的设置 > 访问控制 > 访问控制。2.单击⽤户。3.编辑现有⽤户或创建新⽤户。4.从⾓⾊列表中选择要映射到哪个⾓⾊。此处将列出您在

中创建的任何⾃定义⾓⾊。23使⽤ LDAP 进⾏验证设置使⽤ LDAP 进⾏的⽤户验证Splunk Enterprise ⽀持三种类型的验证系统:Splunk 验证,如“设置使⽤ Splunk 的内置系统进⾏的⽤户验证”所述。LDAP,如您正在阅读的主题所述。通过外部验证系统进⾏脚本式验证 API,例如,PAM 或 RADIUS,如“设置使⽤外部系统进⾏的⽤户验证”所述。关于为 Splunk Enterprise 配置 LDAP 验证Splunk Enterprise 允许为 LDAP ⽤户和组进⾏⽤户和⾓⾊配置。您可以配置⼀个或多个 LDAP 服务器,并将⽤户和⽤户组从您的服务器映射到 Splunk ⾓⾊。有关配置多个 LDAP 服务器的更多信息,请参阅“Splunk 如何使⽤多个 LDAP 服务器”。在配置 LDAP 之前,请参阅“LDAP 必备条件和注意事项”。如何配置 LDAP 验证以下是配置 Splunk Enterprise 以使⽤ LDAP 的主要步骤:1.配置⼀个或多个 LDAP 策略(通常,为每个 LDAP 服务器配置⼀个策略)。2.将 LDAP 组映射到⼀个或多个 Splunk ⾓⾊。3.如果您有多个 LDAP 服务器,指定这些服务器的连接顺序。您在 Splunk Web 或通过编辑配置⽂件,可以执⾏这些步骤。有关更多信息,请参阅“使⽤ Splunk Web 配置LDAP”或“使⽤配置⽂件配置 LDAP”。验证优先顺序Splunk 验证优先于任何外部系统。以下是 Splunk Enterprise 验证⽤户的顺序: 验证 或脚本式验证(如已启⽤其中⼀种⽅法)。有关脚本式验证的更多信息,请参阅“设置使⽤外部系统进⾏的⽤户验证”。问答有什么问题吗?请访问 Splunk Answers,查看在 Splunk 社区中围绕 Splunk 的 LDAP 验证有哪些问题和解答。使⽤ LDAP 管理 Splunk ⽤户⾓⾊要配置 Splunk Enterprise 使⽤ LDAP 验证,⾸先为每个 LDAP 服务器创建⼀个 Splunk 策略,然后将 Splunk⾓⾊映射到该服务器的组。⽤户尝试登录时,Splunk Enterprise 会查询服务器找到该⽤户。它基于与⽤户所属LDAP 组相关的⾓⾊,授予⽤户权限。更改⽤户的权限时,您有⼏个选项:要更改⼀组⽤户的权限,可以将 LDAP 组重新映射到不同的 Splunk ⾓⾊。您还可以更新⾓⾊本⾝,以为⾓⾊指定⼀组不同的权限。此操作在 Splunk Enterprise 上执⾏。要更改单个⽤户的权限,您可以将该⽤户移动到映射到不同的 Splunk ⾓⾊的 LDAP 组。此操作在 LDAP 服务器上执⾏。以下是⼀些其他⽤户管理活动:将⽤户添加到 Splunk ⾓⾊:⾸先,在 Splunk Web 上,确保您已经将 Splunk ⾓⾊映射到 LDAP 组。然后,在 LDAP 服务器上,将⽤户添加到此 LDAP 组。从 Splunk ⾓⾊删除⽤户:在 LDAP 服务器上,从相应的 LDAP 组删除⽤户。⼀个⽤户可以具有多个⾓⾊的成员资格。在这种情况下,⽤户对这些⾓⾊的所有可⽤功能具有访问权限。如果⽤户是docs 和 eng 组的成员,并且 docs 映射到“⽤户”,eng 映射到“管理员”,则⽤户会获取分配到“⽤户”或“管理员”⾓⾊的所有权限。注意:当⽤户尝试登录时,Splunk Enterprise 会检查 LDAP 成员信息。在添加或删除⽤户时,⽆需重新加载验证配置。24LDAP 必备条件和注意事项在使⽤ Splunk 为验证配置 LDAP 之前,请按本主题中的说明进⾏准备。确定⽤户和组基本 DN在将 LDAP 设置映射到 Splunk 设置之前,确定您的⽤户和组基本 DN(可分辨名称)。DN 是⽬录中存储验证信息的位置。如果⽤户的组成员信息保留在单独的条⽬中,请输⼊单独的 DN(识别为⽬录中存储组信息的⼦树)。在此 DN 下⽅的所有⼦节点上递归搜索⽤户和组。如果您的 LDAP 树没有组条⽬,则可以将组基本 DN 设置为与⽤户基本 DN相同,以将⽤户视为其⾃⼰的组。这需要进⼀步配置,稍后介绍。如果您⽆法获取此信息,请联系 LDAP 管理员寻求帮助。注意:为了在将 Splunk Enterprise 与 Active Directory 集成在⼀起时获得最佳结果,请将组基本 DN 放在⽤户基本 DN 以外的单独层次结构中。其他注意事项配置 Splunk Enterprise 使⽤ LDAP 时,请注意以下事项:Splunk Web 和

中的条⽬区分⼤⼩写。通过 Splunk 本机验证本地创建的任何⽤户都优先于同名的 LDAP ⽤户。例如,如果 LDAP 服务器具有⽤户名属性为“管理员”(例如,cn 或 uid)的⽤户,并存在同名的默认 Splunk ⽤户,则 Splunk ⽤户将优先。只接受本地密码,在登录时,映射到本地⽤户的⾓⾊将⽣效。Splunk Web 可以为映射到⾓⾊显⽰的 LDAP 组的数⽬限制为 LDAP 服务器可以通过查询返回的数⽬。您可以使⽤搜索请求⼤⼩限制和搜索请求时间限制设置来配置此项。如要阻⽌ Splunk 列出不必要的组,请使⽤

groupBaseFilter。例如:

groupBaseFilter =(|(cn=SplunkAdmins)(cn=SplunkPowerUsers)(cn=Help Desk))如果您要映射的⾓⾊必须超过组的最⼤数量,则可以直接编辑

。在本⽰例中,"roleMap_AD" 指定 Splunk 策略的名称。每个属性/值对将⼀个 Splunk ⾓⾊映射到⼀个或多个LDAP 组: [roleMap_AD] admin = SplunkAdmins1;SplunkAdmins2 power = SplunkPowerUsers user = SplunkUsersSplunk 始终使⽤ LDAP 协议版本 3(也称为 v3)。使⽤ TLS 证书确保 LDAP 安全Splunk 使⽤ OpenLDAP 和 OpenSSL。您可以利⽤这两种⼯具来使⽤证书确保 LDAP 验证安全。有关创建和管理证书的更多信息,请参阅 OpenSSL ⽂档以下⽰例为 LDAP 的证书配置。有关在 LDAP 中配置证书的⽅法的详细信息,请参阅 OpenLDAP ⽂档,⽹址为:/doc/admin24/:LDAP

服务器配置TLSCACertificateFile : the PEM-format file containing certificates for the CA's that slapd will trust,including the certificate for the CA that signed the server certificate. Multiple certificates can be appended tothe file in no particular tificateKeyFile : the file that contains the private key that matches the certificate storedin the

TLSCertificateFile herSuite : ciphers will be accepted and the preference order. should bea cipher specification for OpenSSL. Use "openssl ciphers -v ALL" for a list of available cipher dFile : the file to obtain random bits from when /dev/urandom is not available. If the systemprovides /dev/urandom then this option is not needed, otherwise a source of random data must be configured.

TLSEphemeralDHParamFile : the file that contains parameters for Diffie-Hellman ephemeral key exchange.

TLSVerifyClient { never | allow | try | demand }: specifies what checks to perform on client certificates in anincoming TLS session, if any. This option is set to never by default, in which case the server never asks the client25for a

客户端配置此指令指定包含客户端证书的⽂件。这是⼀个仅⽤户指令,只能在⽤户的 .ldaprc ⽂件中指定。TLS_KEY specifies the file that contains the private key that matches the certificate stored in theTLS_CERT file. The same constraints mentioned for TLSCertificateKeyFile apply here. This is also a _RANDFILE the same as the server's TLSRandFile _REQCERT { never | allow | try | demand }请注意,由于每个客户端都必须配置为使⽤每个证书,因此如果托管两个或两个以上的 LDAP 服务器,则您可能不想使⽤⾃签名证书。在这种情况下,创建证书授权来签署服务器证书会更容易。Splunk Enterprise 如何使⽤多个 LDAP 服务器Splunk Enterprise 在验证⽤户时可以对多个 LDAP 服务器执⾏搜索。要配置多个 LDAP 服务器,可以设置多个LDAP“策略”,每个 LDAP 服务器对应⼀个策略。创建策略后,即可指定在搜索 LDAP ⽤户时希望 Splunk 查询这些策略的顺序。如果未指定搜索顺序,则 SplunkEnterprise 基于创建策略的顺序分配默认的“连接顺序”。有关 LDAP 策略配置步骤的更多信息,请参阅“使⽤ Splunk Web 配置 LDAP”或“使⽤配置⽂件配置 LDAP”获取更多信息。在搜索期间连接顺序如何⼯作在验证期间,Splunk Enterprise 按指定的连接顺序基于为服务器创建的策略进⾏搜索。Splunk Enterprise 在服务器上找到⽤户后,就会退出搜索,并采⽤这些凭据。如果⽤户在稍后按搜索顺序找到的服务器上也有凭据时,则会忽略这些凭据。例如,假定您按以下顺序配置和启⽤三个策略:A、B、C。Splunk Enterprise 将按同⼀顺序搜索其服务器:A、B、C。如果它在 A 上找到⽤户,则会停⽌查找。⽤户是否也存在于 B 和 C 上并不重要;Splunk Enterprise 将只为该⽤户使⽤ A 凭据。如果 Splunk 未在 A 上找到⽤户,则它将继续搜索剩余的服务器:⾸先搜索 B,然后搜索C。如果您以后禁⽤策略 A,则 Splunk Enterprise 将按以下顺序搜索剩余的策略:B,C。您可以根据 规范⽂件中的说明通过编辑 Splunk Web 的策略属性或更改

authSettings 属性中的策略顺序随时更改连接顺序。有关编辑⽤于 LDAP 的该⽂件的更多信息,请参阅“编辑”。重要提⽰:通过 Splunk 验证本地创建的任何⽤户都优先于同名的 LDAP ⽤户。有关详细信息,请参阅“关于⽤户验证”。使⽤ Splunk Web 配置 LDAP本部分介绍了如何通过 Splunk Web 配置 LDAP。如果想要通过直接编辑

来配置 LDAP,请参阅“使⽤配置⽂件配置 LDAP”。使⽤ Splunk Web 配置 LDAP 有三个主要步骤:1.创建 LDAP 策略。2.将 LDAP 组映射到 Splunk ⾓⾊。3.指定连接顺序(仅适⽤于多个 LDAP 服务器)创建 LDAP 策略创建 LDAP 策略:1.单击设置 > ⽤户和验证 > 访问控制。2.单击验证⽅法。3.选中 LDAP。4.单击将 Splunk 配置为使⽤ LDAP 和映射组。这将带您前往 LDAP 策略⻚⾯。265.单击新建。这将带您前往新增⻚⾯。6.为您的配置输⼊ LDAP 策略名称。7.输⼊ LDAP 服务器的主机名称。确保 Splunk 服务器可以解析主机名称。注意:此时,不⽀持 Windows 的IPv6 地址格式。8.输⼊ Splunk Enterprise 连接到 LDAP 服务器时应使⽤的端⼝。默认情况下,LDAP 服务器侦听 TCP 端⼝ 389。LDAPS(具有 SSL 的 LDAP)默认为端⼝ 636。9.要打开 SSL,选中已启⽤ SSL。为安全起⻅,建议进⾏此设置。您还必须在 LDAP 服务器上启⽤ SSL。10.输⼊绑定 DN。这是⽤于绑定到 LDAP 服务器的可区分的名称。这通常(但不⼀定)是管理员。该⽤户需要具有您要检索的所有 LDAP ⽤户和组条⽬的读取权限。匿名绑定即可时,保留为空⽩。11.为绑定⽤户输⼊并确认绑定 DN 密码。12.指定⽤户基本 DN。可以⽤分号分隔来指定多个⽤户基本 DN 条⽬。Splunk Enterprise 使⽤此属性找到⽤户信息。您必须设置此属性验证才能⽣效。13.为筛选⽤户要依据的对象类别,输⼊⽤户基本过滤器。建议输⼊该值的⽬的是仅返回适⽤的⽤户。例如:(department=IT)。默认值为空⽩,表⽰⽆⽤户条⽬筛选。14.输⼊包含⽤户名的⽤户名属性。⽤户名属性不得包含空格。在 Active Directory 中,这是典型的

sAMAccountName,但您还可以在其他属性,如

cn 中进⾏验证。数值

uid 应该适⽤于其他⼤多数配置。15.输⼊⽤户的真实姓名属性(常⽤名)。典型值为

displayName 或

cn(通⽤名称)。16.输⼊电⼦邮件属性。17.输⼊组映射属性。这是组条⽬定义其成员所使⽤的⽤户属性。对于活跃的⽬录来说,默认为

dn;只有使⽤除⽤户 DN 以外的其他属性来映射组时才能设置此属性。例如,⽤于将⽤户映射到组的典型属性为

dn。18.输⼊组基本 DN。可以⽤分号分隔来指定多个组基本 DN 条⽬。这是⽤户组在 LDAP 中的位置。如果 LDAP 环境没有组条⽬,则可以将每个⽤户视为其⾃⼰的组:将 groupBaseDN 设置为与 userBaseDN 相同的值。这表⽰您将在与⽤户相同的位置中搜索组。接下来,将 groupMemberAttribute 和 groupMappingAttribute 设置为与 userNameAttribute相同的属性。这表⽰条⽬(被视为组时)将⽤户名值⽤作其唯⼀的成员。为简明起⻅,您或许还应该将 groupNameAttribute 设置为与 userNameAttribute 相同的值。注意:为了在集成 Active Directory 时获得最佳结果,请将组基本 DN 放在⽤户基本 DN 以外的单独层次结构中。19.为您要筛选静态组所依据的对象类别,输⼊静态组搜索过滤条件。建议输⼊该值的⽬的是仅返回适⽤的⽤户组。例如:(|(objectclass=groupofNames)(objectclass=groupofUniqueNames))默认值为空⽩,表⽰⽆静态组条⽬筛选。20.输⼊组名称属性。该组条⽬属性的值存储组名称。这通常是

cn。2721.输⼊静态成员属性。该组属性的值为组成员。这通常是

member、uniqueMember 或

memberUid。22.要扩展嵌套组,选中嵌套组。这会控制 Splunk Enterprise 是否将使⽤ 'memberof' 属性扩展嵌套组。只有在您具有利⽤ 'memberof'属性来解析其成员的嵌套组时,才选中此项。在 OpenLDAP 上,需要明确启⽤ 'memberof' 叠加。23.输⼊动态组搜索过滤条件以检索动态组(如果有)。此项必须与您的动态组定义的对象类别匹配,以确保这些组返回到 Splunk。例如:

(objectclass=groupOfURLs)默认值为空⽩,表⽰ Splunk Enterprise 在验证和授权期间不查找动态组条⽬。24.输⼊动态成员属性。这种组属性⼀般使⽤ LDAP 搜索 URL(⽐如

ldap:///o=Acme, c=US??sub?(objectclass=person))的格式来定义其成员。这通常是

memberURL。25.如果选中⾼级设置,还会显⽰可以设置的多个其他选项:启⽤只有匿名绑定的参照。默认情况下,此设置处于打开状态。如果您不需要参照,请关闭此项。Splunk 可以查找只有匿名绑定的参照。您还必须在 LDAP 服务器上启⽤匿名搜索。如果您看到较⻓的 LDAP 搜索超时(可能位于 Active Directory)和 ScopedLDAPConnection 的 中的“操作错误”(Operations error),则这些问题可能与参照相关。搜索请求⼤⼩限制为避免与性能相关的问题,可以设置搜索请求⼤⼩限制。然后,在响应搜索请求时,SplunkEnterprise 将请求 LDAP 服务器返回指定的最⼤条⽬数。在具有数百万⽤户的⼤规模部署中,根据LDAP 策略配置中的搜索过滤条件设置的不同,将此限制设置为⾼值可能导致响应时间较⻓。如果达到此限制,则

应该包含⼀条

size limit exceeded 消息。您应当根据“配置⽤户会话超时”中的说明设置搜索请求时间限制和搜索请求⼤⼩限制值(与

splunkweb超时属性结合使⽤)。如果您有在 Splunk 控制台中未显⽰的组,则由于以下限制之⼀可能已将其排除。根据需要调整这些属性。如要将请求⼤⼩限制设置为超过 1000,则必须同时编辑

max_users_to_precache(位于

)以容纳为请求⼤⼩限制设置的⽤户数量。搜索请求时间限制为避免与性能相关的问题,可以设置搜索请求时间限制。然后,Splunk Enterprise 将请求 LDAP 服务器在指定的秒数内完成其搜索。在具有数百万⽤户的⼤规模部署中,将此限制设置为⾼值可能导致Splunk Web 超时。如果达到此限制,则

应该包含⼀条

time limit exceeded 消息。您应当根据“配置⽤户会话超时”中的说明设置搜索请求时间限制和搜索请求⼤⼩限制值(与

splunkweb超时属性结合使⽤)。如果您有在 Splunk 控制台中未显⽰的组,则由于以下限制之⼀可能已将其排除。根据需要调整这些属性。⽹络套接字超时由于⽹络拥挤多个策略配置中的⼀个 LDAP 服务器⽆法访问,或者响应时间过⻓时,此属性⽤于断开验证链中的循环。在等待指定的秒数之后,验证进程将继续下⼀个可⽤的策略(如果有)。在先创建 LDAP 策略时,Splunk Enterprise 会验证 LDAP 服务器/端⼝和其他参数。如果 LDAP 服务器发⽣故障,或者在此时⽆法验证其中的⼀个参数,则不能创建 LDAP 策略。26.单击保存。将新的 LDAP 组映射到 Splunk ⾓⾊在已将 Splunk Enterprise 配置为通过 LDAP 服务器验证后,将 LDAP 组映射到 Splunk ⾓⾊。如果您未使⽤组,则可以单独映射⽤户。注意:您可以映射⽤户或组,但不能同时映射两者。如果您使⽤的是组,所有⽤户都必须是相应组的成员。组从它们所属的最⾼级别⾓⾊继承功能。所有⽤户都显⽰在 Splunk 管理器的⽤户⻚⾯中。若要在 Splunk Web 中将⾓⾊分配给组:1.从主菜单中选择系统 > ⽤户和验证 > 访问控制。2.在访问控制⻚⾯中,单击验证⽅法。3.选择 LDAP 单选按钮,然后单击将 Splunk 配置为使⽤ LDAP 和映射组。这将带您前往 LDAP 策略⻚⾯。4.单击特定策略的“操作”列中的映射组。这将带您前往 LDAP 组⻚⾯。您可以使⽤⻚⾯右上⾓的搜索字段来满⾜组列表的条件;例如,搜索包含特定⽤户的组。5.单击组名称。这将带您前往映射⻚⾯,其中包括可⽤⾓⾊的列表,以及该组的 LDAP ⽤户的列表。6.要将⾓⾊映射到组,单击“可⽤⾓⾊”列表中的某个⾓⾊左侧的箭头。这会将组移动到“所选的⾓⾊”列表。可以将28多个⾓⾊映射到组。7.单击保存。这将您带回 LDAP 组⻚⾯。8.针对您希望将 Splunk ⾓⾊分配到的每个组重复此过程。指定服务器连接顺序如果您启⽤了多个 LDAP 策略,则可以指定 Splunk Enterprise 搜索其服务器来查找⽤户的顺序,如“Splunk 如何使⽤多个 LDAP 服务器”中所述。默认情况下,Splunk Enterprise 按启⽤服务器的顺序对其进⾏搜索。要更改连接(搜索)顺序,需要单独编辑每个策略的属性:1.从主菜单中选择系统 > ⽤户和验证 > 访问控制。2.单击验证⽅法。3.选中 LDAP 单选按钮。4.单击将 Splunk 配置为使⽤ LDAP 和映射组。这将带您前往 LDAP 策略⻚⾯。5.单击您要指定其连接顺序的策略。这将带您前往该策略的属性⻚⾯。6.编辑⻚⾯顶部的连接顺序字段。只有在启⽤多个策略时才显⽰此字段。注意:最初创建策略时,不显⽰连接顺序字段。只有以后编辑其属性时才显⽰此字段。另外,如果策略已被禁⽤,则该字段将显⽰为灰⾊。7.单击保存。8.针对您要更改连接顺序的任何其他已启⽤策略,请重复此过程。在 Splunk Web 中将 LDAP 组映射到 Splunk ⾓⾊如果已将 Splunk Enterprise 配置为通过 LDAP 服务器验证,可以将 LDAP 组映射到 Splunk ⾓⾊。如果您未使⽤组,则也可以单独映射各个 LDAP ⽤户。有关在 Splunk Web 中设置 LDAP 组的信息,请参阅本⼿册的“使⽤ Splunk Web 配置 LDAP”。注意:您可以映射⽤户或组,但不能同时映射两者。如果您使⽤的是组,您希望访问 Splunk Enterprise 的所有⽤户都必须是相应组的成员。组从它们所属的最⾼级别⾓⾊继承功能。所有⽤户都显⽰在 Splunk 管理器的⽤户⻚⾯中。若要在 Splunk Web 中将⾓⾊分配给组:1.单击 Splunk Web 中的设置。2.在⽤户和验证部分中,单击访问控制。3.单击验证⽅法。4.选中 LDAP 单选按钮。5.单击将 Splunk 配置为使⽤ LDAP 和映射组。这将带您前往 LDAP 策略⻚⾯。6.单击特定策略的“操作”列中的映射组。这将带您前往 LDAP 组⻚⾯。您可以使⽤⻚⾯右上⾓的搜索字段来满⾜组列表的条件;例如,搜索包含特定⽤户的组。7.单击组名称。这将带您前往映射⻚⾯,其中包括可⽤⾓⾊的列表,以及该组的 LDAP ⽤户的列表。8.要将⾓⾊映射到组,单击“可⽤⾓⾊”列表中的某个⾓⾊左侧的箭头。这会将组移动到“所选的⾓⾊”列表。可以将多个⾓⾊映射到组。9.单击保存。这将您带回 LDAP 组⻚⾯。10.针对您希望将 Splunk ⾓⾊分配到的每个组重复此过程。使⽤配置⽂件配置 LDAP使⽤ Splunk Web 配置 LDAP 时,还可以直接编辑 ⽂件。在接下来的案例中,将带您浏览设置

的过程。如果您倾向于使⽤ Splunk Web 配置 LDAP,请参阅“使⽤ Splunk Web 配置 LDAP”。注意:如果您配置 LDAP 验证并稍后确定返回以使⽤默认 Splunk 验证,则最简便的⽅法是将现有的 ⽂件移除(⽐如通过将其重命名为

ed)并重新启动 SplunkEnterprise。您可以在 规范⽂件的末尾看到更多⽰例。编辑

(位于

$SPLUNK_HOME/etc/system/local/)。有关配置⽂件的⼀般信息,请参阅《管理员⼿册》中的“关于配置⽂件”。设置验证类型和策略名称默认情况下,Splunk Enterprise 使⽤ Splunk 验证。在

[authentication] 段落中将类型更改为 LDAP:[authentication]authType = LDAPauthSettings = ldaphost1,ldaphost2请注意以下事项:通过设置

authType = LDAP 打开 LDAP。authSettings 属性确定⼀个或多个 LDAP 策略。每个策略都有⾃⼰的段落。配置 LDAP 策略段落每个 LDAP 策略都需要⾃⼰的段落。将 LDAP 值映射到策略段落中的属性/值对。注意:Splunk Enterprise 对 Windows 不⽀持 IPv6 地址格式。以下是之前在

authSettings 属性中指定的 "ldaphost1" 策略的⽰例段落:[ldaphost1]host = t = 389SSLEnabled = 0bindDN = cn=bind_userbindDNpassword = bind_user_passwordgroupBaseDN = ou=Groups,dc=splunk,dc=comgroupBaseFilter = (objectclass=*)groupMappingAttribute = dngroupMemberAttribute = uniqueMembergroupNameAttribute = cnrealNameAttribute = displayNameuserBaseDN = ou=People,dc=splunk,dc=comuserBaseFilter = (objectclass=*)userNameAttribute = uid注意:为了在集成 Active Directory 时获得最佳结果,请将组基本 DN 放在⽤户基本 DN 以外的单独层次结构中。SSL如果您为 LDAP 策略启⽤了 SSL,请确保存在以下最低设置

S_REQCERT= demand

TLS_CACERT=

TLS_CIPHER_SUITE= 配置多个 LDAP 策略Splunk Enterprise 可以跨多个 LDAP 服务器搜索,如“Splunk 如何使⽤多个 LDAP 服务器”中所述。如要将其配置,请根据想要 Splunk Enterprise 查询策略的顺序,设置

authSettings 属性为逗号分隔的所有策略的列表。然后,为每个策略指定单独的段落。将组映射到⾓⾊要映射 Splunk ⾓⾊⾄策略的 LDAP 组,您需要为该策略设置

roleMap 段落。每个策略都需要⾃⼰的

roleMap 段落。本⽰例将映射 "ldaphost1" 策略中的各组的⾓⾊。语法为 = :[roleMap_ldaphost1]admin = SplunkAdminsitusers = ITAdmins30将⽤户直接映射到⾓⾊如果您需要将⽤户直接映射到 Splunk ⾓⾊,则可以通过设置

groupBaseDN 为

userBaseDN 的值来完成。同样,设置groupMappingAttribute、groupMemberAttribute 和

groupNameAttribute 的属性,以与

userNameAttribute 的属性相同。例如:[supportLDAP]SSLEnabled = 0bindDN = cn=Directory ManagerbindDNpassword = #########groupBaseDN = ou=People,dc=splunksupport,dc=comgroupBaseFilter = (objectclass=*)groupMappingAttribute = uidgroupMemberAttribute = uidgroupNameAttribute = uidhost = t = 389realNameAttribute = cnuserBaseDN = ou=People,dc=splunksupport,dc=comuserBaseFilter = (objectclass=*)userNameAttribute = uid[roleMap_supportLDAP]admin = rlee;bsmith在配置⽂件中将 LDAP 组和⽤户映射到 Splunk ⾓⾊设置了 LDAP 验证和⽤户后,即可在 Splunk Web 中将 LDAP 组和⽤户映射到⾓⾊。要为 Splunk Enterprise设置 LDAP,请参阅本⼿册的“使⽤配置⽂件配置 LDAP”。将组映射到⾓⾊要映射 Splunk ⾓⾊⾄策略的 LDAP 组,您需要为该策略设置

roleMap 段落。每个策略都需要⾃⼰的

roleMap 段落。本⽰例将映射 "ldaphost1" 策略中的各组的⾓⾊:[roleMap_ldaphost1]admin = SplunkAdminsitusers = ITAdmins将⽤户直接映射到⾓⾊如果您需要将⽤户直接映射到 Splunk ⾓⾊,则可以通过设置

groupBaseDN 为

userBaseDN 的值来完成。同样,设置groupMappingAttribute、groupMemberAttribute 和

groupNameAttribute 的属性,以与

userNameAttribute 的属性相同。例如:[supportLDAP]SSLEnabled = 0bindDN = cn=Directory ManagerbindDNpassword = #########groupBaseDN = ou=People,dc=splunksupport,dc=comgroupBaseFilter = (objectclass=*)groupMappingAttribute = uidgroupMemberAttribute = uidgroupNameAttribute = uidhost = t = 389realNameAttribute = cnuserBaseDN = ou=People,dc=splunksupport,dc=comuserBaseFilter = (objectclass=*)userNameAttribute = uid[roleMap_supportLDAP]admin = rlee;bsmith测试 LDAP 配置如果您发现 Splunk Enterprise ⽆法连接到 LDAP 服务器,请尝试以下故障排除步骤:311.有关任何验证错误,请查看

$SPLUNK_HOME/var/log/splunk/。在此为 AuthenticationManagerLDAP打开 DEBUG 级别⽇志,以获取更多信息。可以从 Splunk Web UI - 服务器设置/服务器⽇志完成。2.删除您已经为 userBaseFilter 和 groupBaseFilter 添加的任何⾃定义值。3.使⽤

ldapsearch 以确定您正在指定的变量将返回预期的条⽬:ldapsearch -x -h -p -D "bind_dn" -w "bind_passwd" -b "user_basedn""userNameAttribute=*"ldapsearch -x -​h -p -​D "bind_dn" -w "bind_passwd" -b "group_basedn""groupNameAttribute=*"如果这些命令返回匹配条⽬,则后端 LDAP 系统配置正确。请继续解决 Splunk LDAP 策略配置的问题。从 Splunk 验证转换为 LDAP如果您从 Splunk 验证移⾄ LDAP,请注意 Splunk 帐户不会⾃动被禁⽤并且优先于 LDAP 帐户,这⼀点⾮常重要。如果您已经从 Splunk 验证系统转换为 LDAP,您可能需要删除 Splunk ⽤户,以确保使⽤的是 LDAP 凭据。只有在两个系统中的⽤户名相同时上述操作才是必需的。确保本地 Splunk 帐户的安全如果已将 Splunk Enterprise 配置为使⽤ LDAP 验证,则请注意使⽤ Splunk 验证的所有本地帐户都仍然存在并处于活动状态(其中包括“管理员”帐户),这⼀点⾮常重要。您需要考虑此情况的安全隐患。在启⽤ LDAP 验证时删除所有当前的本地帐户:移动

$SPLUNK_HOME/etc/passwd ⽂件⾄

。创建⼀个空⽩的

$SPLUNK_HOME/etc/passwd ⽂件。重新启动 Splunk Enterprise。记住,在 Splunk Enterprise 处于 LDAP 验证模式时仍然可以创建本地 Splunk 帐户。另外,必须保留以⽤于备份或灾难恢复的任何本地 Splunk 帐户都应使⽤⾮常强的密码。使⽤ LDAP 时,请确保 LDAP 实现强制执⾏:对⻓度和复杂性有⾼要求的强密码。较低的错误尝试密码锁定阈值。保存的搜索如果 LDAP ⽤户名与您在内置系统中先前使⽤的名称(但随后已删除)相同,保存的搜索应可以正常⼯作,⽽⽆需转换。如果您在系统使⽤ Splunk 验证时创建了现有保存的搜索,并且要将这些搜索转给其他名称的 LDAP ⽤户,请编辑元数据:1.修改

$SPLUNK_HOME/etc/apps//metadata/ 并将

owner = 字段(在每个

savedsearch 权限段落下⽅)换成相应的 LDAP ⽤户名并保存更改。2.重新启动 Splunk Enterprise 使更改⽣效。删除 LDAP ⽤户的最佳做法如果您从 LDAP ⽬录删除⽤户,Splunk Enterprise 不会⾃动删除对应的 Splunk ⽤户。通常,这样没有问题,但如果⽤户具有任何形式的全局权限,则 LDAP 可能产⽣错误。有关在 Splunk Enterprise 中使⽤ LDAP ⽤户的更多信息,请参阅本⼿册的“设置使⽤ LDAP 进⾏的⽤户验证”。执⾏以下步骤,安全地删除 Splunk ⽤户:1.⾸先,备份

$HOME/splunk/etc/users/$userid ⽂件夹。2.针对⽤户 ID 字符串在

$HOME/splunk/etc/apps/ 下⽅搜索⽂件,以查看⽤户是否拥有具备全局权限的任何搜索或对象。3.针对⽤户拥有的任何搜索或对象,更改所有者。将其更改为管理员⽤户或维护帐户,或者您喜欢的任何⽤户。4.在搜索头上查看

以确保没有更多的 LDAP 验证错误。325.⼀旦重定向任意对象所有权,您可以安全移除

$HOME/splunk/etc/users/$userid ⽂件夹。33多因⼦验证有关使⽤双重安全的双因⼦验证Splunk 当前⽀持⽤于登录到 Splunk 平台的双重安全双因⼦验证。注意:双重安全双因⼦验证确保 Splunk Web 登录安全。我们建议您还可以使⽤防⽕墙阻⽌和保护⽤户。启⽤双重安全双因⼦验证后,⽤户:1.使⽤其登录凭据登录到常规 Splunk 主⻚。(这被称为主要登录。)2.遇到第⼆个“双重验证”⻚⾯。(这被称为辅助登录。)3.⽤户第⼀次登录时,他们按照双重安全登录⻚⾯上的说明设置其登录。他们选择他们⾸选的⽅法访问其辅助凭据,如下所⽰:使⽤通过您智能⼿机上的推送通知发送的凭据登录(需要双重安全移动应⽤)。使⽤通过短信发送到您⼿机上的凭据登录。使⽤您⼿机所接到的电话中提供的凭据登录。通过输⼊由双重安全移动应⽤⽣成的⼀次性代码进⾏登录。4.⽤户使⽤上述任意选项设置其辅助凭据传输⽅法后,其随后的辅助登录凭据按先前配置的⽅式发送。有关在 Splunk 中设置双重安全双因⼦验证1. 在双重安全⽹站上为您的 Splunk 配置创建⼀个帐户。更多信息请参阅 。2.向 Splunk 提供来⾃您“双重安全帐户”的以下信息。有关更多信息,请参阅“配置 Splunk 以使⽤双重安全双因⼦验证”。配置 Splunk Enterprise 以使⽤双重安全双因⼦验证注意:如果先前已将 Splunk 配置为通过 /docs/splunk 使⽤双重验证,则先前的配置不再有效。您必须使⽤本主题中介绍的任务以使⽤双重安全重新配置双因⼦登录。概述使⽤双重安全⽹站为 Splunk 创建⼀个双重安全帐户。更多信息请参阅 。通过提供以下信息,将 Splunk Enterprise 配置为使⽤双重安全:您的集成密钥(例如,DIXXXXXXXXXXXXXXXXXX)您的密钥您的 API 主机名称(例如,)⽤户登录 Splunk Enterprise,并按照双重安全登录⻚⾯上的说明获取辅助登录凭据。配置1.在菜单上,选择设置 > ⽤户和验证 > 访问⾓⾊。2.单击验证⽅法。3.在多因⼦验证下,选择双重安全。4.单击配置双重安全链接。5.提供双重安全配置中的集成密钥。您可以在您的双重配置⻚⾯或配置 > 详细信息下查找此密钥。6.提供双重安全配置或详细信息中的密钥。您可以在您的双重配置⻚⾯或配置 > 详细信息下查找此密钥。7.从您的双重配置中提供 API 主机名称。您可以在您的双重配置⻚⾯或配置 > 详细信息下查找此密钥。8.确定双重安全不可⽤时的“验证”⾏为:允许⽤户登录即使双重验证(即辅助验证)失败,已成功登录 Splunk Web 的⽤户(即主要验证)也可以访问 Splunk。不允许⽤户登录如果双重验证(即辅助验证)失败,已成功登录 Splunk Web 的⽤户(即主要验证)不可访问 Splunk Enterprise。9.提供在连接超时之前尝试多⻓时间的验证的时间限制(以秒为单位)。10.保存更改。您不需要重新加载验证以使多因⼦验证⽣效。34⽤户登录后,将显⽰双重登录⻚⾯,指⽰⽤户选择访问其辅助登录凭据的⽅法。双因⼦验证如何与其他形式的验证配合使⽤请注意,您不能使⽤具有 SSO 或 SAML 验证的任何形式的多因⼦验证。多因⼦验证适⽤于以下验证来源:本机验证LDAP脚本式验证使⽤配置⽂件配置双重双因⼦验证在

中,编辑

[2FA stanza name] 段落,如下所⽰:externalTwoFactorVendor = Duo(as of now)externalTwoFactorSettings = <2FA stanza name>integrationKey = secretKey = applicationKey = apiHostname = failOpen = True|False (Default : False)timeout = 35使⽤具有 SAML 的单点登录进⾏验证使⽤ SAML 配置单点登录通过使⽤您受⽀持的⾝份提供程序 (IdP) 提供的信息,您可以配置 Splunk 软件使⽤单点登录 (SSO) 的 SAML 验证。前提条件或者:Splunk 软件的运⾏版本,或Splunk Cloud 受管理部署。Splunk Cloud 的⾃助部署通过 Splunk 客户门户登录,且⽆法独⽴配置SAML SSO。配置⾝份提供程序以提供

role、realName 和

mail 属性。受⽀持的⾝份提供程序为:Ping IdentityOktaAzure ADAD FSOneLoginOptimalCA siteminder具备 change_authentication 功能的管理员⾓⾊(本地)或 sc_admin ⾓⾊(云)。该权限级别允许您启⽤ SAML 并在 Splunk 搜索头上编辑验证设置。其他 IdP任何兼容 v2 的 SAML IdP 都应该可配置,包括以下测试的 IdP。有关本章中未记载的任何 IdP,请联系⽀持部门以寻求帮助:SecureAuthNovell ⽬录G Suite(前 Google 商业应⽤)配置 SAML 与您的 IdP 配合使⽤注意:⽆论何种 IdP,SAML 都不⽀持加密。1. 配置 SAML SSO,使⽤:Ping IdentityOktaAzure AD 或 AD FSOneLoginOptimalCA siteminder2.将 SAML 组映射到 Splunk Enterprise ⾓⾊。使⽤ PingIdentity 作为您的⾝份提供程序配置 SSO如果您已将 PingIdentity 配置为⾝份提供程序 (IdP),则此任务将介绍如何为 Splunk Enterprise 设置 SSO。有关将 PingIdentity 配置为 IdP 的信息,请参阅 Ping Federate ⽂档。使⽤以下任务配置 Splunk 部署以识别和使⽤ PingIdentity 配置。然后,将 PingIdentity ⽤户组映射到 Splunk⽤户⾓⾊,以便这些⽤户可以登录。前提条件验证您的系统是否满⾜所有要求。参阅“使⽤ SAML 配置单点登录”。最佳⽅式是,在 Splunk 和 IdP 上的会话超时应该相同,这样会话会在 Splunk 和 IdP 上同时失效。有关更多信息,请参阅“使⽤ Ping Identity 配置会话超时”最佳⽅式是,在 Splunk 和 IdP 上的会话超时应该相同,这样会话会在 Splunk 和 IdP 上同时失效。1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。364.在“SAML 组”⻚⾯,单击 SAML 配置。5.下载或浏览并选择元数据⽂件,或将元数据直接复制并粘贴到⽂本窗⼝中。如果您⽆法确定如何获取元数据⽂件,请参阅 IdP ⽂档。6.在常规设置中,提供如下信息。此字段⾃动通过所选元数据⽂件填充。这是 Splunk 将向其发送验证请求的 IdP 上的受保护端点。单点登录 URL您的⽤户使⽤该 URL 进⾏ SSO 登录。如要在启⽤ SAML 后访问登录⻚⾯,请在整个登录 URL (/account/login) 后附加

loginType=Splunk。⽤户还可以登录到其本地Splunk 帐户,通过直接导航到

splunkweb:port/en-US/account/login/loginType=Splunk此字段通过元数据⽂件⾃动填充,并成为 IdP 协议端点。如果您不提供该 URL,则不会注销⽤户。此值可以为⽬录或⽂件,具体取决于 IdP 要求。如果您提供了⽂件,则 Splunk 软件会⽤该⽂件验证 SAML 响应。如果提供⽬录,Splunk 软件将查找该⽬录下的所有证书,并尝试⽤其中的每个证书验证 SAML 响应。如果任何验证失败,则视响应为⽆效。如果您使⽤证书链,请按如下排序:1.根证书IdP 证书链2.中间证书3.叶证书复制证书发⾏⽅ Id实体 ID。签名AuthRequest。签名 SAML 响应。检查该项以在搜索头群集上复制您的 IdP 证书。当在搜索头群集上配置 SAML 时,您必须为每个搜索头使⽤相同的证书。这是 IdP 的实体 Id。如果您不确定在何处查找该信息,请参阅您的 IdP ⽂档。此字段在您的 IdP 上配置在 SP 连接条⽬中的实体 ID。选择此选项。选择此选项。单点注销 URL。IdP 证书路径7.在属性查询请求中,可选择提供以下信息,以便稍后可以创建计划的搜索。属性查询URL。签名属性查询请求签名属性查询响应⽤户名提供密码。8.在别名部分,可选择提供下列别名信息:⾓⾊别名真实姓名别名邮件别名使⽤此字段指定任何 IdP 新属性名称,然后为三个属性中的任何⼀个在 Splunk 部署中配置别名。您可以跳过此字段。对于 ADFS,您可以使⽤“属性别名真实姓名”的显⽰名称。跳过此字段。(可选)此为在 SOAP 上的查询应该发送到的 IdP 上的端点。格式如下:验证此字段是否已选。验证此字段是否已选。输⼊⽤户名称。9.仅在需要设置负载均衡或更改 SAML 绑定时填充⾼级部分。请参阅“为 SSO 配置⾼级设置”。10.单击保存。37后续步骤将 SAML 组映射到 Splunk Enterprise ⾓⾊注意:配置 SAML 时发⽣的错误可能导致⽤户和管理员被 Splunk Cloud 锁定。如果您被锁定,请使⽤该链接访问本地登录,返回到⽆⾝份验证的状态:./en-US/account/login?loginType=splunk [⽤您的帐户名替换]使⽤ Okta 作为您的⾝份提供程序配置 SSO如果您已将 Okta 配置为⾝份提供程序 (IdP),则此任务将介绍如何为 Splunk Enterprise 设置 SSO。有关将Okta 配置为 IdP 的信息,请参阅 Okta ⽂档。使⽤以下任务配置 Splunk 部署以识别和使⽤ Okta 配置。然后,将 IdP 的组映射到 Splunk ⽤户⾓⾊,以便这些组可以登录。前提条件验证您的系统是否满⾜所有要求。请参阅“使⽤ SAML 配置单点登录”。1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.在“SAML 组”⻚⾯,单击 SAML 配置。5.下载或浏览并选择元数据⽂件,或将元数据直接复制并粘贴到⽂本窗⼝中。如果您⽆法确定如何查找元数据⽂件,请参阅 Okta ⽂档。6.在常规设置中,提供如下信息:此字段⾃动通过所选元数据⽂件填充。这是 Splunk Enterprise 将向其发送验证请求的 IdP 上的受保护端点。单点登录 URL。如要在启⽤ SAML 后访问登录⻚⾯,请在整个登录 URL (/account/login) 后附加loginType=Splunk。⽤户还可以通过直接导航⾄ –​ splunkweb:port/en-US/account/login?loginType=Splunk 来登录其本地 Splunk 帐户此字段通过元数据⽂件⾃动填充,并成为 IdP 协议端点。如果您不提供该 URL,则不会注销⽤户。此值可以为⽬录或单个⽂件,具体取决于 IdP 要求。如果您提供了⽂件,则 SplunkEnterprise 会⽤该⽂件验证 SAML 响应的真实性。如果提供⽬录,SplunkEnterprise 将查找该⽬录下的所有证书,并尝试⽤其中的每个证书验证 SAML 响应。如果任何验证失败,则整个验证都算是失败。如果您使⽤证书链,请按如下排序:1.根证书IdP 证书链2.中间证书3.叶证书复制证书发⾏⽅ Id实体 ID。签名AuthRequest。签名 SAML 响应。检查该项以在搜索头群集上复制您的 IdP 证书。当在搜索头群集上配置 SAML 时,您必须为每个搜索头使⽤相同的证书。这是 IdP 的实体 Id。如果您不确定在何处查找该信息,请参阅您的 IdP ⽂档。此字段在您的 IdP 上配置在 SP 连接条⽬中的实体 ID。选择此选项。选择此选项。单点注销 URL。IdP 的证书路径7.跳过属性查询并转到步骤 8 和 9。388.在别名部分,可选择提供下列别名信息:在别名中,提供如下信息:⾓⾊别名真实姓名别名邮件别名使⽤此字段指定任何 IdP 新属性名称,然后为三个属性中的任何⼀个在 Splunk 部署中配置别名。您可以跳过此字段。对于 ADFS,您可以使⽤“属性别名真实姓名”的显⽰名称。跳过此字段。9.仅在需要设置负载均衡或更改 SAML 绑定时填充⾼级部分。请参阅“配置负载均衡或 SAML 绑定”10.单击保存。后续步骤注意:配置 SAML 时发⽣的错误可能导致⽤户和管理员被 Splunk Cloud 锁定。如果您被锁定,请使⽤该链接访问本地登录,返回到⽆⾝份验证的状态:./en-US/account/login?loginType=splunk [⽤您的帐户名替换]将 SAML 组映射到 Splunk Enterprise ⾓⾊使⽤ AzureAD 或 AD FS 作为您的⾝份提供程序配置 SSO如果您已将 AzureAD 或 ADFS 配置为⾝份提供程序 (IdP),则此任务将介绍如何为 Splunk 部署设置 SSO。配置IdP 时,在 AzureAD 中配置组时,请注意以下建议:回复 URL 可能最后需要 /SAML/acs。您可能需要将 groupMembershipClaims 从空值更改为 SecurityGroup。有关将 AzureAD 或 AD FS 配置为 IdP 的信息,请参阅您的 IdP ⽂档。使⽤以下任务配置 Splunk 部署以识别和使⽤ AzureAD 或 AD FS 配置。然后,将 AzureAD 或 AD FS ⽤户组映射到 Splunk ⽤户⾓⾊,以便这些⽤户可以登录。前提条件验证您的系统是否满⾜所有要求。请参阅“使⽤ SAML 配置单点登录”。1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.在“SAML 组”⻚⾯,单击 SAML 配置。5.下载或浏览并选择元数据⽂件,或将元数据直接复制并粘贴到⽂本窗⼝中。如果您⽆法确定如何获取元数据⽂件,请参阅 IdP ⽂档。6.在常规设置中,提供如下信息。此字段⾃动通过所选元数据⽂件填充。这是 Splunk Enterprise 将向其发送验证请求的 IdP 上的受保护端点。单点登录 URL。您的⽤户也会使⽤该 URL 进⾏ SSO 登录。如要在启⽤ SAML 后访问登录⻚⾯,请在整个登录 URL (/account/login) 后附加

loginType=Splunk。⽤户还可以登录到其本地Splunk 帐户,通过直接导航到

splunkweb:port/en-US/account/login/loginType=Splunk此字段通过元数据⽂件⾃动填充,并成为 IdP 协议端点。如果您不提供该 URL,则不会注销⽤户。此值可以为⽬录或⽂件,具体取决于 IdP 要求。如果您提供了⽂件,则 Splunk 软件会⽤该⽂件验证 SAML 响应的真实性。如果提供⽬录,Splunk 将查找该⽬录下的所有证书,并尝试⽤其中的每个证书验证 SAML 响应。如果该验证失败,则整个验证都算是失败。如果您使⽤证书链,请按如下排序:单点注销 URL。IdP 证书路径391.根证书IdP 证书链2.中间证书3.叶证书复制证书发⾏⽅ Id实体 ID。签名AuthRequest。签名 SAML 响应。检查该项以在搜索头群集上复制您的 IdP 证书。当在搜索头群集上配置 SAML 时,您必须为每个搜索头使⽤相同的证书。这是 IdP 的实体 Id。如果您不确定在何处查找该信息,请参阅您的 IdP ⽂档。此字段在您的 IdP 上配置在 SP 连接条⽬中的实体 ID。选择此选项。选择此选项。7.跳过属性查询部分,并转到步骤 8 和 9。8.在别名部分,可选择提供下列别名信息:⾓⾊别名真实姓名别名邮件别名使⽤此字段指定任何 IdP 新属性名称,然后为三个属性中的任何⼀个在 Splunk 部署中配置别名。您可以跳过此字段。对于 ADFS,您可以使⽤“属性别名真实姓名”的显⽰名称。跳过此字段。9.仅在需要设置负载均衡或更改 SAML 绑定时填充⾼级部分。请参阅“配置负载均衡或 SAML 绑定”10.单击保存。后续步骤注意:配置 SAML 时发⽣的错误可能导致⽤户和管理员被 Splunk Cloud 锁定。如果您被锁定,请使⽤该链接访问本地登录,返回到⽆⾝份验证的状态:./en-US/account/login?loginType=splunk [⽤您的帐户名替换]将 SAML 组映射到 Splunk Enterprise ⾓⾊使⽤ OneLogin 作为您的⾝份提供程序配置 SSO如果您已将 OneLogin 配置为⾝份提供程序 (IdP),则此任务将介绍如何为 Splunk 设置 SSO。有关将 OneLogin配置为 IdP 的信息,请参阅 OneLogin ⽂档。使⽤以下任务配置 Splunk 以识别和使⽤ OneLogin 配置。然后,将 OneLogin ⽤户组映射到 Splunk ⽤户⾓⾊,以便这些⽤户可以登录 Splunk。前提条件验证您的系统是否满⾜所有要求。请参阅“使⽤ SAML 配置单点登录”。1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.在“SAML 组”⻚⾯,单击 SAML 配置。5.下载或浏览并选择元数据⽂件,或将元数据直接复制并粘贴到⽂本窗⼝中。如果您⽆法确定如何获取元数据⽂件,请参阅 IdP ⽂档。6.在常规设置中,提供如下信息。此字段⾃动通过所选元数据⽂件填充。这是 Splunk 将向其发送验证请求的 IdP 上的受保护端点。40单点登录 URL。如要在启⽤ SAML 后访问登录⻚⾯,请在整个登录 URL (/account/login) 后附加loginType=Splunk。⽤户还可以通过直接导航⾄ – splunkweb:port/en-US/account/login/loginType=Splunk 来登录其本地 Splunk 帐户OneLogin ⽀持单点注销的重定向绑定。将绑定设置为 'HTTPRedirect'。此值可以为⽬录或⽂件,具体取决于 IdP 要求。如果您提供了⽂件,则 Splunk 会⽤该⽂件验证 SAML 响应的真实性。如果您提供了⽬录,则 Splunk 会查找所有以⼦⽬录呈现的证书并尝试验证每个 SAML 响应。如果 Splunk ⽆法验证所有的真实性,则响应将被视为不真实。如果您使⽤证书链,请按如下排序:1.根证书单点注销 URL。IdP 的证书路径IdP 证书链2.中间证书3.叶证书复制证书发⾏⽅ Id实体 ID。签名AuthRequest。签名 SAML 响应。检查该项以在搜索头群集上复制您的 IdP 证书。当在搜索头群集上配置 SAML 时,您必须为每个搜索头使⽤相同的证书。这是 IdP 的实体 Id。如果您不确定在何处查找该信息,请参阅您的 IdP ⽂档。此字段在您的 IdP 上配置在 SP 连接条⽬中的实体 ID。将此值设置为 false。将此值设为 False。7.跳过属性查询部分,并转到步骤 8 和 9。8.在别名部分,可选择提供下列别名信息:⾓⾊别名真实姓名别名邮件别名使⽤此字段指定任何 IdP 新属性名称,然后为三个属性中的任何⼀个在 Splunk 部署中配置别名。您可以跳过此字段。对于 ADFS,您可以使⽤“属性别名真实姓名”的显⽰名称。跳过此字段。9.仅在需要设置负载均衡或更改 SAML 绑定时填充⾼级部分。请参阅“配置负载均衡或 SAML 绑定”10.单击保存。注意:配置 SAML 时发⽣的错误可能导致⽤户和管理员被 Splunk Cloud 锁定。如果您被锁定,请使⽤该链接访问本地登录,返回到⽆⾝份验证的状态:./en-US/account/login?loginType=splunk [⽤您的帐户名替换]后续步骤将 SAML 组映射到 Splunk Enterprise ⾓⾊使⽤ Optimal 作为您的⾝份提供程序配置 SSO如果您已将 Optimal 配置为⾝份提供程序 (IdP),则此任务将介绍如何为 Splunk 设置 SSO。有关将 Optimal 配置为 IdP 的信息,请参阅 Optimal ⽂档。使⽤以下任务配置 Splunk 以识别和使⽤ Optimal 配置。然后,将 Optimal ⽤户组映射到 Splunk ⽤户⾓⾊,以便这些⽤户可以登录 Splunk。前提条件验证您的系统是否满⾜所有要求。参阅“使⽤ SAML 配置单点登录”。1.在设置菜单中,选择访问控制 > 验证⽅法。412.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.在“SAML 组”⻚⾯,单击 SAML 配置。5.下载或浏览并选择元数据⽂件,或将元数据直接复制并粘贴到⽂本窗⼝中。如果您⽆法确定如何获取元数据⽂件,请参阅 IdP ⽂档6.在常规设置中,提供如下信息。此字段⾃动通过所选元数据⽂件填充。这是 Splunk 将向其发送验证请求的 IdP 上的受保护端点。如果您正在使⽤ Splunk Cloud,打开⽀持的提交问题以使 SplunkCloud 运营⼩组打开端⼝,从⽽与 IdP 通信。

您的⽤户使⽤该 URL 进⾏ SSO 登录。如要在启⽤ SAML 后访问登录⻚⾯,请在整个登录 URL (/account/login) 后附加loginType=Splunk。⽤户还可以通过直接导航⾄ – splunkweb:port/en-US/account/login/loginType=Splunk 来登录其本地 Splunk 帐户此字段通过元数据⽂件⾃动填充,并成为 IdP 协议端点。如果您不提供该 URL,则不会注销⽤户。此值可以为⽬录或⽂件,具体取决于 IdP 要求。如果您提供了⽂件,则 Splunk 会⽤该⽂件验证 SAML 响应的真实性。如果您提供了⽬录,则 Splunk 会查找所有以⼦⽬录呈现的证书并尝试验证每个 SAML 响应。如果 Splunk ⽆法验证所有的真实性,则响应将被视为不真实。如果您使⽤证书链,请按如下排序:1.根证书IdP 证书链2.中间证书3.叶证书复制证书发⾏⽅ Id实体 ID。签名AuthRequest。签名 SAML 响应。检查该项以在搜索头群集上复制您的 IdP 证书。当在搜索头群集上配置 SAML 时,您必须为每个搜索头使⽤相同的证书。这是 IdP 的实体 Id。如果您不确定在何处查找该信息,请参阅您的 IdP ⽂档。此字段在您的 IdP 上配置在 SP 连接条⽬中的实体 ID。选择此选项。选择此选项。单点登录 URL。单点注销 URL。IdP 的证书路径7.跳过属性查询部分,并转到步骤 8 和 9。8.在别名部分,可选择提供下列别名信息:⾓⾊别名真实姓名别名邮件别名使⽤此字段指定任何 IdP 新属性名称,然后为三个属性中的任何⼀个在 Splunk 部署中配置别名。您可以跳过此字段。对于 ADFS,您可以使⽤“属性别名真实姓名”的显⽰名称。跳过此字段。9.仅在需要设置负载均衡或更改 SAML 绑定时填充⾼级部分。请参阅“配置负载均衡或 SAML 绑定”10.单击保存。注意:配置 SAML 时发⽣的错误可能导致⽤户和管理员被 Splunk Cloud 锁定。如果您被锁定,请使⽤该链接访问本地登录,返回到⽆⾝份验证的状态:./en-US/account/login?loginType=splunk [⽤您的帐户名替换]后续步骤42将 SAML 组映射到 Splunk Enterprise ⾓⾊在 CA siteminder 中配置 SSO如果您已将 CA 配置为⾝份提供程序 (IdP),则此任务将介绍如何为 Splunk 设置 SSO。有关将 CA 配置为 IdP 的信息,请参阅 CA ⽂档。使⽤以下任务配置 Splunk 以识别和使⽤ CA 配置。然后,将 CA ⽤户组映射到 Splunk ⽤户⾓⾊,以便这些⽤户可以登录 Splunk。前提条件验证您的系统是否满⾜所有要求。参阅“使⽤ SAML 配置单点登录”。1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.在“SAML 组”⻚⾯,单击 SAML 配置。5.下载或浏览并选择元数据⽂件,或将元数据直接复制并粘贴到⽂本窗⼝中。如果您⽆法确定如何获取元数据⽂件,请参阅 IdP ⽂档6.在常规设置中,提供如下信息。此字段⾃动通过所选元数据⽂件填充。这是 Splunk 将向其发送验证请求的 IdP 上的受保护端点。单点登录 URL。如要在启⽤ SAML 后访问登录⻚⾯,请在整个登录 URL (/account/login) 后附加loginType=Splunk。⽤户还可以通过直接导航⾄ – splunkweb:port/en-US/account/login/loginType=Splunk 来登录其本地 Splunk 帐户此字段通过元数据⽂件⾃动填充,并成为 IdP 协议端点。如果您不提供该 URL,则不会注销⽤户。此值可以为⽬录或⽂件,具体取决于 IdP 要求。如果您提供了⽂件,则 Splunk 会⽤该⽂件验证 SAML 响应的真实性。如果您提供了⽬录,则 Splunk 会查找所有以⼦⽬录呈现的证书并尝试验证每个 SAML 响应。如果 Splunk ⽆法验证所有的真实性,则响应将被视为不真实。如果您使⽤证书链,请按如下排序:1.根证书IdP 证书链2.中间证书3.叶证书复制证书发⾏⽅ Id实体 ID。签名AuthRequest。签名 SAML 响应。检查该项以在搜索头群集上复制您的 IdP 证书。当在搜索头群集上配置 SAML 时,您必须为每个搜索头使⽤相同的证书。这是 IdP 的实体 Id。如果您不确定在何处查找该信息,请参阅您的 IdP ⽂档。此字段在您的 IdP 上配置在 SP 连接条⽬中的实体 ID。选择此选项。选择此选项。单点注销 URL。IdP 的证书路径7.跳过属性查询,并转到步骤 8 和 9。8.在别名部分,可选择提供下列别名信息:⾓⾊别名真实姓名别名使⽤此字段指定任何 IdP 新属性名称,然后为三个属性中的任何⼀个在 Splunk 部署中配置别名。您可以跳过此字段。对于 ADFS,您可以使⽤“属性别名真实姓名”的显⽰名称。43邮件别名跳过此字段。9.仅在需要设置负载均衡或更改 SAML 绑定时填充⾼级部分。请参阅“配置负载均衡或 SAML 绑定”10.单击保存。注意:配置 SAML 时发⽣的错误可能导致⽤户和管理员被 Splunk Cloud 锁定。如果您被锁定,请使⽤该链接访问本地登录,返回到⽆⾝份验证的状态:./en-US/account/login?loginType=splunk [⽤您的帐户名替换]后续步骤将 SAML 组映射到 Splunk Enterprise ⾓⾊使⽤ TLS 证书确保 SSO 安全配置以下 SSL 设置以使 Splunk Enterprise 能够在 Splunk 实例和提供

AttributeQuery 服务的 SOAP 实例之间执⾏ TLS 验证。除⾮注明,否则未设置的值默认为

中指定的设置。[]sslVersions = sslCommonNameToCheck = When populated, and sslVerifyServerCert is "true", splunkd limits most outboundHTTPS connections to hosts which use a cert with this common name.

sslAltNameToCheck = , , ...If set, and sslVerifyServerCert' is "true",splunkd can verify certificates with "Subject Alternate Name" that matches any of the alternate names in this listecdhCurveName =

serverCert = Default certificates, "" are auto-generated by splunkd upon startingSplunk, you may replace the default cert with your own PEM format filesslPassword = caCertFile = The default value is

caPath = . Default value is $SPLUNK_HOME/etc/authsslVerifyServerCert = [ true | false ] If true, distributed search makes a search request to anotherserver in the search cluster.

在搜索头群集中配置 SAML您可以在使⽤或未使⽤负载均衡器的搜索头上配置 SAML。对于需要签名的验证请求(推荐),您必须在群集中的所有搜索头成员上使⽤相同的签名证书。群集中的每个搜索头都必须有 IdP 的公共密钥。Splunk 使⽤该密钥来确认 SAML 验证响应的签名。当您使⽤SplunkWeb 配置 SAML 时,来⾃元数据的公共密钥会⾃动设置为复制到搜索。1.⽣成公共/专⽤密钥对。2.将⽣成的密钥对连接到⼀个 pem ⽂件中。此⽂件⽤于签名。验证请求从 Splunk 发出。遵循如下顺序连接:公共密钥是⾃签名的:专⽤密钥公共密钥公共密钥由中间/根 CA 签名:专⽤密钥公共密钥公共密钥发⾏⼈。应与证书发⾏⼈显⽰的顺序相匹配。根 CA。3.在每个搜索头上将新的证书⽂件复制到对应 $SPLUNK_HOME 的位置。请确保在所有搜索头上为证书提供相同的名称。例如:$SPLUNK_HOME/etc/auth/samlRequestSigningCerts/444.编辑 Splunk 元数据:在 ⽂件中,⽤公共密钥交换元数据中的公共密钥。然后删除

-----BEGIN CERTIFICATE----- 和

-----END CERTIFICATE-----tags5.使⽤ Splunk 元数据配置您的 IdP。请参阅有关 IdP 的说明。6.收集 IdP 元数据并⽤其配置 Splunk。之前的步骤在

$SPLUNK_HOME/etc/system/local/ 中创建了⼀个 SAML 相关配置。注意:要启⽤⽆缝单点注销,我们建议您将搜索头成员配置为全部使⽤相同的 entityID。7..添加路径到 ClientCert:clientCert = $SPLUNK_HOME/etc/auth/samlRequestSigningCerts/)8.如果您在步骤 1. 中创建的专⽤密钥被加密了并且您为专⽤密钥

sslPassword =

设置了密码,则您必须为所有搜索头成员重复步骤 ABC。9.在所有搜索头上重新加载验证以使更改⽣效。10.要验证您的配置,请单独登录到每个搜索头以确保所有搜索头都使⽤相同的密钥为验证请求进⾏签名,并且使⽤正确的证书配置 IdP 为请求的签名进⾏验证。使⽤分⽀或中间 SSL 证书链配置 Ping Identity要使⽤分⽀或中间证书配置 Ping Identity:1.在 Splunk 中验证或创建以下⽬录。您可以使⽤以下命令:/home/build/build-home/galaxy/openssl/ ***(or which every directory/“splunk cmd openssl version -d” command returns/opt/splunk/etc/auth/idpCerts//opt/splunk/etc/auth/idpCerts/certs//2.在两个

d/opt/splunk/etc/auth/idpCerts/ 证书和

/home/build/build-home/galaxy/openssl/(或由

splunk cmd opensslversion -d 返回的⽬录)之间创建⼀个链接。您可以使⽤以下命令:ln -s /opt/splunk/etc/auth/idpCerts//home/build/build-home/galaxy/openssl/3.将证书链放在

/opt/splunk/etc/auth/idpCerts/ 中并确保它们归 splunk:splunk: 所有,您可以使⽤以下命令:rw-rw-r-. 1 splunk splunk 1635 Nov 1 16:33 aaa_-rw-r-. 1 splunk splunk 1261 Nov 1 16:33 aaa_4.根证书、中间证书和分⽀证书⽂件放置到位之后,就可创建从证书⽬录到

idpCerts ⽬录中证书的 x.509 哈希链接。您可以使⽤以下命令:ln -s /opt/splunk/etc/auth/idpCerts/aaa_ `openssl x509-hash -noout -in /opt/splunk/etc/auth/idpCerts/aaa_`.0ln -s /opt/splunk/etc/auth/idpCerts/aaa_ `openssl x509 -hash-noout -in /opt/splunk/etc/auth/idpCerts/aaa_`.05.在

⽂件中,将

idpCertPath 属性指向中间⽂件名(确保您正指向证书⽂件,⽽⾮符号链接)。您可以使⽤以下命令:idpCertPath = /opt/splunk/etc/auth/idpCerts/aaa_5.打开 Splunk Web。在“设置”中,选择验证⽅法 > SAML > 配置 Splunk 以使⽤ SAML > SAML 配置。6.选择以下字段:Sign AuthnRequest = checkedSign SAML response = checked7.保存 Splunk Web 中的更改。8. 在 Ping Identity 配置中,将“在 KeyInfo 中包含证书”设为 “​True”​。9.保存更改。45为其他 IdP 配置 SAML SSO任何兼容 v2 的 IdP 都应该可在 Splunk 中使⽤ SAML 配置,包括以下测试的 IdP。以下主题为配置 IdP ⽤于 Splunk Enterprise 提供了⼀般性说明。过程中可能会有例外情况或差异,具体取决于您所⽤的 IdP。有关本章中未记载的任何内容,请联系⽀持部门以寻求帮助:当您将 Splunk 配置为使⽤ SAML 验证系统时,您可以通过将它们映射到 Splunk ⽤户⾓⾊来授权组登录 IdP。注意:SAML 不⽀持加密。前提条件验证您的系统是否满⾜所有要求。参阅“使⽤ SAML 配置单点登录”。1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.在“SAML 组”⻚⾯,单击 SAML 配置。5.浏览并选择元数据⽂件,或将元数据直接复制并粘贴到⽂本窗⼝中。如果您⽆法确定如何获取元数据⽂件,请参阅 IdP ⽂档。6.在常规设置中,提供如下信息。此字段⾃动通过所选元数据⽂件填充。这是 Splunk 将向其发送验证请求的 IdP 上的受保护端点。您的⽤户使⽤该 URL 进⾏ SSO 登录。单点登录 URL。如要在启⽤ SAML 后访问登录⻚⾯,请在整个登录 URL (/account/login) 后附加loginType=Splunk。⽤户还可以通过直接导航⾄ – splunkweb:port/en-US/account/login/loginType=Splunk 来登录其本地 Splunk 帐户此字段通过元数据⽂件⾃动填充,并成为 IdP 协议端点。如果您不提供该 URL,则不会注销⽤户。此值可以为⽬录或⽂件,具体取决于 IdP 要求。如果您提供了⽂件,则 Splunk 会⽤该⽂件验证 SAML 响应的真实性。如果您提供了⽬录,则 Splunk 会查找所有以⼦⽬录呈现的证书并尝试验证每个 SAML 响应。如果 Splunk ⽆法验证所有的真实性,则响应将被视为不真实。当在搜索头群集上配置 SAML 时,请确保为每个搜索头配置相同的证书。实体 ID。签名AuthRequest。签名 SAML 响应。此字段在您的 IdP 上配置在 SP 连接条⽬中的实体 ID。选择此选项。选择此选项。单点注销 URL。IdP 的证书路径7.如果您将 PingIdentity ⽤作 IdP,则在属性查询中提供以下信息,这样您可以稍后创建计划的搜索。这些字段并⾮通过 Okta、Azure AD 或 AD FS 创建计划搜索的必填字段。属性查询URL。签名属性查询请求签名属性查询响应此字段为在 SOAP 上的查询应该发送到的 IdP 上的端点。格式如下:验证此字段是否已选。验证此字段是否已选。8.在⾼级设置中,提供如下信息。使⽤此字段指定任何 IdP 新属性名称,然后为 3 个属性中的任何⼀个在 Splunk 端配置别名。如果您已配置 AD FS 内置“⾓⾊”属性为返回,并具备 AD 组信息,则指定46属性别名⾓⾊/ws/2008/06/identity/claims/role。此值会告诉 Splunk,包含SAML 响应中⾓⾊信息的属性已返回。如果您已配置 Azure AD,则指定/ws/2008/06/identity/claims/groups。属性别名邮件属性别名真实姓名FQDN - 负载均衡器的主机名或 IP(可选)重定向端⼝9.单击保存。后续步骤如果您将 Azure AD ⽤作 IdP,则填充此字段。此值将别名映射到返回的 SAML 响应中的⽤户电⼦邮件地址。输⼊

/identity/claims/displayname。如果您将 Azure AD ⽤作 IdP,则填充此字段。此值会告诉 Splunk Enterprise 在返回的 SAML 响应中映射真实姓名的位置。输⼊/ws/2005/05/identity/claims/emailaddress。设置为:。此设置⽤于带有“单点搜索头设置”或“搜索头群集设置”的 Splunk 部署。如果您通过搜索头群集使⽤负载均衡,则必须提供⼀个地址。根据之前字段的说明为负载均衡器提供⼀个重定向端⼝。为 Okta 将其设置为"0"(零)。将 SAML 组映射到 Splunk Enterprise ⾓⾊为 SSO 配置⾼级设置填充⾼级部分以设置负载均衡或更改 SAML 绑定。在⾼级设置中,提供如下信息:名称 ID 格式负载均衡器的完全限定域名或 IP(可选)重定向端⼝ - 负载均衡器端⼝注销后重定向⾄URLSSO 绑定SLO 绑定提供 IdP 所提供的 ID 格式。设置为:。此设置⽤于带有“单点搜索头设置”或“搜索头群集设置”的 Splunk 部署。如果您通过搜索头群集使⽤负载均衡,则必须提供⼀个地址。根据之前字段的说明为负载均衡器提供⼀个重定向端⼝。注销后 Splunk 应该将⽤户重定向⾄其中的 URL。绑定⽤于发送到 IdP 的登录请求的协议。绑定⽤于发送到 IdP 的注销请求的协议。将 SAML 组映射到⾓⾊当您将 Splunk 部署配置为使⽤ SAML 验证系统时,您可以通过将它们映射到 Splunk ⽤户⾓⾊来授权组登录SAML 服务器。您可以映射多个组到单点⽤户⾓⾊。前提条件有关 SAML SSO1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.在“SAML 组”⻚⾯,单击新建组或单击编辑您想要修改的组。5.为组提供名称。6.通过将所需的⾓⾊从左列移动到右列来确定您想要分配给该组的⾓⾊。7.单击保存。配置 SAML SSO 并映射组到⾓⾊之后,您可以分布登录 URL ⾄您的⽤户。47修改或删除⾓⾊映射当您将 Splunk 部署配置为使⽤ SAML 验证系统时,您可以通过将它们映射到 Splunk ⽤户⾓⾊来授权组登录SAML 服务器。您可以映射多个组到单点⽤户⾓⾊。本主题介绍了如何从现有组中删除⾓⾊或完全删除组。要从 SAML 组中删除个别⽤户,请参阅您的 IdP ⽂档。前提条件有关 SAML SSO1.在设置菜单中,选择访问控制 > 验证⽅法。2.选择 SAML 作为您的验证类型。3.单击将 Splunk 配置为使⽤ SAML。4.要删除整个组,请单击要移除的组中的删除。5.在“SAML 组”⻚⾯,单击编辑以编辑您想要修改的组。6.通过将所需的⾓⾊从右列移动到左列来指定您想要从该组删除的⾓⾊。7.单击保存。配置 SAML SSO 并映射组到⾓⾊之后,您可以分布登录 URL ⾄您的⽤户。在配置⽂件中配置 SAML SSO本主题将介绍如何使⽤配置⽂件为 SAML v2 设置 SSO:在 Splunk Enterprise 中配置

配置您的⾝份提供程序确保 SAML 配置安全配置

配置

中的以下段落[authentication]authSettings = saml_settingsauthType = SAML[roleMap_SAML]admin = Super Admin;power = Power Admin;user = Admin;Employee;

[saml_settings]entityId = idpAttributeQueryUrl = your path/idp/2idpCertPath = /home/user/splunk/saml-install/etc/auth/ping_.>idpSSOUrl = your path/idp/2.

idpSLOUrl =

your path/idp/2 #

redirectPort=443attributeQueryTTL = 3600signAuthnRequest = truesignedAssertion = trueattributeQueryRequestSigned = attributeQueryResponseSigned = attributeQuerySoapPassword = attributeQuerySoapUsername =

为验证请求设置重定向绑定设置具备(可选)属性的以下段落:48[saml]entityId = saml-testidpCertPath = SLOUrl = /trust/saml2/http-redirect/slo/489976idpSSOUrl = /trust/saml2/http-post/sso/489976signAuthnRequest = truesignedAssertion = falsesloBinding = HTTPRedirectssoBinding = HTTPRedirect[authentication]authSettings = samlauthType = SAML[rolemap_SAML]admin = splunk_test[userToRoleMap_SAML]rgopalan = admin通过 Azure AD 或 ADFS 配置单点登录要通过 Azure AD 或 ADFS 配置单点登录,请添加以下其他属性:nameIDFormat =(可选)指定在 SAML 响应中返回的主题格式。AzureAD 返回⼀个字符串以确定主题,并且此属性允许您选择指定⼀个不同的格式(我们建议使⽤电⼦邮件地址)。它对于审计和已保存的搜索⼗分有⽤。要按此格式指定电⼦邮件地址,请使⽤:

urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddressrole = 如果您将 Azure AD ⽤作 SSO 或 ADFS,则填充此字段。此值会告诉 Splunk Enterprise,提供 SAML响应中⾓⾊信息的属性已返回。对于 Azure AD,请使⽤:/ws/2008/06/identity/claims/groupsemail = 此值将别名映射到返回的 SAML 响应的⽤户电⼦邮件地址中。对于 Azure AD,请使⽤:/identity/claims/displaynamerealName = 此值告诉 Splunk Enterprise 在返回的 SAML 响应中的什么位置映射真实名称。对于 Azure AD,请使⽤:/ws/2005/05/identity/claims/emailaddress.

配置

并选择添加⼀个失败的重定向地址将以下值添加到

中的设置段落[settings]appServerPorts = 7065 ssoAuthFailureRedirect = 10.140.31.19:7000/ui/en-us/account/sso_error 在 Ping Identity 中配置会话超时最佳⽅式是,在 Splunk 和 IdP 上的会话超时应该相同,这样会话会在 Splunk 和 IdP 上同时失效。这意味着如果您配置

SessionNotOnOrafter (/Support/PingIdentityArticle?id=kA3400000008RdNCAU),则必须在 Splunk 上配置相同的超时如下:属性

ui_inactivity_timeout(位于

)属性

sessionTimeout(位于

)如果

sessionTimeout 和

ui_inactivity_timeout 中的值⼩于 IdP 上配置的会话超时,虽然在 splunkd 上的会话将到期,但由于 IdP 上的会话仍然有效,⽤户将⽆缝地重新登录到 Splunk 软件。如果 IdP 上的会话超时⼩于 Splunk 上配置的会话超时,sessionTimeout 和

ui_inactivity_timeout 到期之后会提醒⽤户提供凭据,⽤户必须使⽤ IdP 重新验证。配置您的⾝份提供程序以⽀持 Splunk 软件元数据现在您必须配置 IdP 来导⼊ Splunk 软件的元数据。要在 IdP 中导⼊ Splunk 软件元数据,请确保

AuthnRequest 签名和

AttributeQuery 请求签名设置在 Splunk 软件和 IdP 中兼容:1.将 IdP 证书导出到您的 Splunk 软件实例中的⼀个⽂件⾥。49

发布者:admin,转转请注明出处:http://www.yc00.com/web/1687693740a32280.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信