问题标签 [opensearch-security-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
421 浏览

kibana - 如何使用 PKI 身份验证来使用 Opensearch Dashboards API?

我正在尝试使用 OpenSearch Dashboards API (Amazon Kibana fork) 添加搜索索引。我使用的是 1.0 版并且还设置了安全插件。我使用 TLS PKI 与 OpenSearch (Elasticsearch) 交互没有任何问题。但是,每当我尝试使用 TLS PKI 身份验证与 OpenSearch Dashboard API 交互时,都会收到错误消息。我能够在仪表板中设置 PKI 以向 OpenSearch 进行身份验证,而不会出现任何问题。这实际上是使用 curl 的 shell 上的命令,但我希望在完成后使用 python:

我收到以下 JSON 消息错误:

如果我改为使用带有“简单”用户名/密码的 API,则相同的命令可以工作:

但是,我似乎无法找到一种方法来允许我的 ansible 使用 PKI 证书向 API 发出命令,我希望这样做,以便我可以禁用简单的身份验证。有谁知道我缺少什么设置或者我是否滥用了 API?我研究了插件文档,但找不到任何我丢失的项目。

0 投票
0 回答
661 浏览

python-3.x - 连接 python 客户端时出错“建立 SSL 连接时出现异常:io.netty.handler.ssl.NotSslRecordException:不是 SSL/TLS 记录”

我正在尝试让 python ElasticSearch 客户端连接到通过 docker 运行的本地 OpenSearch 服务器。我无法连接并继续获取

按照这些说明https://opensearch.org/downloads.html在本地安装 OpenSearch

尝试了各种方法让 python 客户端连接,但都失败了。

蟒蛇版本:3.9.7

ElasticSearch python 库:7.15.0

有没有人经历过这个?

**** 弄清楚了 ****

根据文档 opensearch.org/docs/clients/index,需要有一个至多 7.13.4 的客户端

并且根据这个问题github.com/opendistro-for-elasticsearch/sample-code/issues/242,必须像这样为本地开发者启动客户端

0 投票
0 回答
206 浏览

open-source - OpenSearch 安装 | 安全管理员.sh | UnavailableShardsException[[.opendistro_security][0] 主分片未激活超时

我们根据文档https://opensearch.org/docs/latest/opensearch/cluster/在 4 个 VM(1 个协调节点、1 个主节点和 2 个数据节点)上安装了 OpenSearch

当我们登录 OpenSearch URL 或通过 curl 时,我们会收到以下消息:

例如 [apm@IR-APM-DEV-MN1 配置]$ curl -XGET https:// :9200/_cat/plugins?v -u 'admin:admin' --insecure

OpenSearch 安全未初始化。

根据它和msg我们看到“<strong>[opensearch-master] Not yet initialized (you may need to run securityadmin)”,我们执行securityadmin脚本如下:

./securityadmin.sh -cd ../securityconfig/ -nhnv -cacert ../../../config/root-ca.pem -cert ../../../config/kirk.pem -key ../../../config/kirk-key.pem -h -cn apm-cluster-1 -arc -diagnose

并得到以下错误消息,例如:

将使用 ../securityconfig/config.yml 更新“_doc/config”失败:“config”的配置失败,因为UnavailableShardsException[[.opendistro_security][0] 主分片未激活超时:[1m],请求:[BulkShardRequest [[.opendistro_security][0]] 包含 [index {[.opendistro_security][_doc][config], source[n/a, actual length: [3.7kb], max length: 2kb]}] and a refresh]] ……

有人可以建议是否有任何建议可以克服这些错误?(主分片未激活超时/增加最大长度)

谢谢,诺姆

0 投票
0 回答
39 浏览

logstash - 如何在 Logstash 中为 OpenSearch 添加事件的全部内容?

问题如下:我正在研究如何为存储在 OpenSearch 中的事件添加一些防篡改保护,这些事件由 Logstash 解析并发送到那里。信息由从多个主机收集的应用程序日志组成。这个想法是添加一个链接到原始内容的散列字段,以便对字段的任何修改都会破坏散列结果并且可以被检测到。

目前,我们有一些 grok 过滤器,它们从接收到的日志行中提取信息,并使用多种模式将其存储到不同的字段中。为了使修改这些日志以掩盖其踪迹的攻击者更加困难,我正在考虑添加一个额外的字段,在该字段中,整行在拆分之前都经过哈希处理和加盐处理。

我的过滤器配置的初始部分是这样的。它主要用于 ELK,但我们的项目将切换到 OpenSearch:

OpenSearch 有一些关于 Field masking的信息,但这并不是我所追求的。

如果你们中的任何人可以帮助我提供有关如何执行此操作的指针或想法。我不知道 ELK 中可用的哈希字段在 OpenSearch 中是否也可用,或者进行字段哈希的 Logstash 插件是否可以在没有许可问题的情况下使用。但也许还有其他更好的选择,我不知道。我正在寻找有关如何在过滤器执行期间调用外部脚本来执行此操作的信息,但我什至不知道这是否可能(显然不是,至少我找不到任何东西)。

有任何想法吗?谢谢!

0 投票
1 回答
170 浏览

elastic-stack - 启动 opensearch 堆栈时出现问题(docker-compose 文件)

我正在尝试通过使用 opensearch 网站 https://opensearch.org/docs/latest/opensearch/install/docker/中的示例来建立一个 opensearch 集群

但是 opensearch 仪表板无法启动并显示以下错误消息。如果我从打开的搜索节点检查日志,我得到“无法解析主机”,谁能指出我出了什么问题?

打开搜索仪表板错误:

打开搜索节点错误:

0 投票
1 回答
46 浏览

kubernetes - opensearch 被阻止:[SERVICE_UNAVAILABLE/1/state 未恢复/初始化]

我正在尝试在 kubernetes 上设置一个 opensearch 集群。当设置我的节点时没有任何失败,但我在某个点收到错误,这是我的有状态集:

当我设置使用此定义时,有时会出现此错误:

现在,如果我尝试设置节点:

它因同样的错误而失败,只是这次出现了这个警告。

当我尝试在 pod 中运行安全设置脚本时

/usr/share/opensearch/plugins/opensearch-security/tools/securityadmin.sh -cd ../securityconfig/ -icl -nhnv -cacert /usr/share/opensearch/config/certificates/root-ca.pem -cert / usr/share/opensearch/config/certificates/admin.pem -key /usr/share/opensearch/config/certificates/admin-key.pem

它也失败了,输出:

错误日志跟踪: https ://pastebin.com/MtJp9iwf (循环)

0 投票
0 回答
3 浏览

opensearch - 在 OpenSearch API 中使用“securitytenant”标头的目的是什么?

我们可以利用 searchUsingSQL() 中的“securitytenant”标头使用 API 选择特定租户的索引吗?