Bitwarden

编辑

版本

1.15.0 (查看全部)

兼容的 Kibana 版本

8.13.0 或更高版本

支持的 Serverless 项目类型
这是什么?

安全
可观测性

订阅级别
这是什么?

基本

支持级别
这是什么?

Elastic

概述

编辑

Bitwarden 集成允许用户监视集合、事件、组、成员和策略。Bitwarden 是一种免费的开源密码管理服务,它将网站凭据等敏感信息存储在加密的保险库中。Bitwarden 平台提供各种客户端应用程序,包括 Web 界面、桌面应用程序、浏览器扩展、移动应用程序和命令行界面。Bitwarden 提供云托管服务以及在本地部署解决方案的能力。

使用 Bitwarden 集成从 REST API 收集和解析数据。然后,在 Kibana 中可视化这些数据。

数据流

编辑

Bitwarden 集成收集五种类型的数据:集合、事件、组、成员和策略。

集合返回组织集合的列表。

事件返回组织事件日志的列表。

返回组织组的列表。

成员返回组织成员的详细信息。

策略返回组织策略的列表。

参考 Bitwarden 的 Rest API

要求

编辑

需要 Elasticsearch 来存储和搜索数据,需要 Kibana 来可视化和管理数据。您可以使用我们在 Elastic Cloud 上的托管 Elasticsearch 服务(推荐),或在您的硬件上自行管理 Elastic Stack。

此模块已针对 Bitwarden 版本 2023.2.0 进行了测试。

设置

编辑

要从 Bitwarden REST API 收集数据,请按照以下步骤操作

编辑
  1. 转到 Bitwarden 控制台,输入电子邮件地址和主密码。
  2. 单击 组织
  3. 转到 设置 → 组织信息
  4. 从 API 密钥部分单击 查看 API 密钥
  5. 输入主密码。
  6. 单击 查看 API 密钥
  7. 复制 client_idclient_secret

日志参考

编辑

集合

编辑

这是 Collection 数据集。

示例

collection 的示例事件如下所示

{
    "@timestamp": "2023-10-31T07:31:24.050Z",
    "agent": {
        "ephemeral_id": "bf237146-2d4b-427b-b731-6dadb1dfdd90",
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "bitwarden": {
        "collection": {
            "external": {
                "id": "external_id_123456"
            },
            "id": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593"
        },
        "object": "collection"
    },
    "data_stream": {
        "dataset": "bitwarden.collection",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "created": "2023-10-31T07:31:24.050Z",
        "dataset": "bitwarden.collection",
        "ingested": "2023-10-31T07:31:27Z",
        "kind": "event",
        "original": "{\"externalId\":\"external_id_123456\",\"groups\":null,\"id\":\"539a36c5-e0d2-4cf9-979e-51ecf5cf6593\",\"object\":\"collection\"}",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "tags": [
        "preserve_original_event",
        "preserve_duplicate_custom_fields",
        "forwarded",
        "bitwarden-collection"
    ]
}
导出的字段
字段 描述 类型

@timestamp

事件时间戳。

date

bitwarden.collection.external.id

用于引用或将此集合链接到另一个系统的外部标识符。

keyword

bitwarden.collection.groups

此集合分配到的关联组。

nested

bitwarden.collection.id

集合的唯一标识符。

keyword

bitwarden.object

表示对象类型的字符串。同一类型的对象共享相同的属性。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集。

constant_keyword

event.module

事件模块。

constant_keyword

input.type

Filebeat 输入类型。

keyword

log.offset

日志偏移量。

long

事件

编辑

这是 Event 数据集。

示例

event 的示例事件如下所示

{
    "@timestamp": "2023-02-22T09:00:21.728Z",
    "agent": {
        "ephemeral_id": "23334f92-55ed-4a8f-b7c3-9e36ff9d73a2",
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "bitwarden": {
        "event": {
            "acting_user": {
                "id": "a2549f79-a71f-4eb9-9234-eb7247333f94"
            },
            "collection": {
                "id": "bce212a4-25f3-4888-8a0a-4c5736d851e0"
            },
            "date": "2023-02-22T09:00:21.728Z",
            "device": {
                "name": "Android",
                "value": "0"
            },
            "group": {
                "id": "f29a2515-91d2-4452-b49b-5e8040e6b0f4"
            },
            "ip_address": "172.16.254.1",
            "item": {
                "id": "3767a302-8208-4dc6-b842-030428a1cfad"
            },
            "member": {
                "id": "e68b8629-85eb-4929-92c0-b84464976ba4"
            },
            "policy": {
                "id": "f29a2515-91d2-4452-b49b-5e8040e6b0f4"
            },
            "type": {
                "name": "User_LoggedIn",
                "value": "1000"
            }
        },
        "object": "event"
    },
    "data_stream": {
        "dataset": "bitwarden.event",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "iam",
            "authentication"
        ],
        "created": "2023-10-31T07:32:17.783Z",
        "dataset": "bitwarden.event",
        "ingested": "2023-10-31T07:32:21Z",
        "kind": "event",
        "original": "{\"actingUserId\":\"a2549f79-a71f-4eb9-9234-eb7247333f94\",\"collectionId\":\"bce212a4-25f3-4888-8a0a-4c5736d851e0\",\"date\":\"2023-02-22T09:00:21.728Z\",\"device\":0,\"groupId\":\"f29a2515-91d2-4452-b49b-5e8040e6b0f4\",\"ipAddress\":\"172.16.254.1\",\"itemId\":\"3767a302-8208-4dc6-b842-030428a1cfad\",\"memberId\":\"e68b8629-85eb-4929-92c0-b84464976ba4\",\"object\":\"event\",\"policyId\":\"f29a2515-91d2-4452-b49b-5e8040e6b0f4\",\"type\":1000}",
        "outcome": "success",
        "type": [
            "user",
            "start"
        ]
    },
    "group": {
        "id": "f29a2515-91d2-4452-b49b-5e8040e6b0f4"
    },
    "input": {
        "type": "httpjson"
    },
    "related": {
        "ip": [
            "172.16.254.1"
        ],
        "user": [
            "e68b8629-85eb-4929-92c0-b84464976ba4",
            "a2549f79-a71f-4eb9-9234-eb7247333f94"
        ]
    },
    "source": {
        "ip": "172.16.254.1",
        "user": {
            "id": "a2549f79-a71f-4eb9-9234-eb7247333f94"
        }
    },
    "tags": [
        "preserve_original_event",
        "preserve_duplicate_custom_fields",
        "forwarded",
        "bitwarden-event"
    ],
    "user": {
        "id": "e68b8629-85eb-4929-92c0-b84464976ba4"
    }
}
导出的字段
字段 描述 类型

@timestamp

事件时间戳。

date

bitwarden.event.acting_user.id

执行事件的用户的唯一标识符。

keyword

bitwarden.event.collection.id

事件描述的相关集合的唯一标识符。

keyword

bitwarden.event.date

事件发生时的日期/时间戳。

date

bitwarden.event.device.name

设备类型名称。

keyword

bitwarden.event.device.value

设备类型值。

keyword

bitwarden.event.group.id

事件描述的相关组的唯一标识符。

keyword

bitwarden.event.installation.id

执行事件的安装的唯一标识符。

keyword

bitwarden.event.ip_address

执行用户的 IP 地址。

ip

bitwarden.event.item.id

事件描述的相关项目的唯一标识符。

keyword

bitwarden.event.member.id

事件描述的相关成员的唯一标识符。

keyword

bitwarden.event.policy.id

事件描述的相关策略的唯一标识符。

keyword

bitwarden.event.type.name

事件类型名称。

keyword

bitwarden.event.type.value

事件类型值。

keyword

bitwarden.object

表示对象类型的字符串。同一类型的对象共享相同的属性。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集。

constant_keyword

event.module

事件模块。

constant_keyword

input.type

Filebeat 输入类型。

keyword

log.offset

日志偏移量。

long

这是 Group 数据集。

示例

group 的示例事件如下所示

{
    "@timestamp": "2023-10-31T07:33:12.430Z",
    "agent": {
        "ephemeral_id": "2531708a-f7fa-48b6-913e-7d5d7d08b29b",
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "bitwarden": {
        "group": {
            "access_all": true,
            "collection": [
                {
                    "id": "bfbc8338-e329-4dc0-b0c9-317c2ebf1a09",
                    "read_only": true
                }
            ],
            "external": {
                "id": "external_id_123456"
            },
            "id": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593",
            "name": "Development Team"
        },
        "object": "group"
    },
    "data_stream": {
        "dataset": "bitwarden.group",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "iam"
        ],
        "created": "2023-10-31T07:33:12.430Z",
        "dataset": "bitwarden.group",
        "ingested": "2023-10-31T07:33:15Z",
        "kind": "event",
        "original": "{\"accessAll\":true,\"collections\":[{\"id\":\"bfbc8338-e329-4dc0-b0c9-317c2ebf1a09\",\"readOnly\":true}],\"externalId\":\"external_id_123456\",\"id\":\"539a36c5-e0d2-4cf9-979e-51ecf5cf6593\",\"name\":\"Development Team\",\"object\":\"group\"}",
        "type": [
            "group"
        ]
    },
    "group": {
        "id": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593",
        "name": "Development Team"
    },
    "input": {
        "type": "httpjson"
    },
    "tags": [
        "preserve_original_event",
        "preserve_duplicate_custom_fields",
        "forwarded",
        "bitwarden-group"
    ]
}
导出的字段
字段 描述 类型

@timestamp

事件时间戳。

date

bitwarden.group.access_all

确定此组是否可以访问组织内的所有集合,还是仅访问关联的集合。如果设置为 true,此选项将覆盖任何集合分配。

boolean

bitwarden.group.collection.id

关联对象的唯一标识符。

keyword

bitwarden.group.collection.read_only

如果为 true,则只读权限将不允许用户或组更改项目。

boolean

bitwarden.group.external.id

用于引用或将此组链接到另一个系统(如用户目录)的外部标识符。

keyword

bitwarden.group.id

组的唯一标识符。

keyword

bitwarden.group.name

组的名称。

keyword

bitwarden.object

表示对象类型的字符串。同一类型的对象共享相同的属性。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集。

constant_keyword

event.module

事件模块。

constant_keyword

input.type

Filebeat 输入类型。

keyword

log.offset

日志偏移量。

long

成员

编辑

这是 Member 数据集。

示例

member 的示例事件如下所示

{
    "@timestamp": "2023-10-31T07:34:06.988Z",
    "agent": {
        "ephemeral_id": "ecbc5fc6-80f7-4b74-a759-47e029f39507",
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "bitwarden": {
        "member": {
            "access_all": true,
            "email": "[email protected]",
            "external": {
                "id": "external_id_123456"
            },
            "id": "1234",
            "name": "John Smith",
            "reset_password_enrolled": true,
            "status": {
                "name": "Invited",
                "value": "0"
            },
            "two_factor_enabled": true,
            "type": {
                "name": "Owner",
                "value": "0"
            },
            "user": {
                "id": "48b47ee1-493e-4c67-aef7-014996c40eca"
            }
        },
        "object": "member"
    },
    "data_stream": {
        "dataset": "bitwarden.member",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "category": [
            "iam"
        ],
        "created": "2023-10-31T07:34:06.988Z",
        "dataset": "bitwarden.member",
        "ingested": "2023-10-31T07:34:10Z",
        "kind": "event",
        "original": "{\"accessAll\":true,\"collections\":null,\"email\":\"[email protected]\",\"externalId\":\"external_id_123456\",\"id\":\"1234\",\"name\":\"John Smith\",\"object\":\"member\",\"resetPasswordEnrolled\":true,\"status\":0,\"twoFactorEnabled\":true,\"type\":0,\"userId\":\"48b47ee1-493e-4c67-aef7-014996c40eca\"}",
        "type": [
            "user"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "related": {
        "user": [
            "1234",
            "48b47ee1-493e-4c67-aef7-014996c40eca",
            "John Smith",
            "[email protected]"
        ]
    },
    "tags": [
        "preserve_original_event",
        "preserve_duplicate_custom_fields",
        "forwarded",
        "bitwarden-member"
    ],
    "user": {
        "email": "[email protected]",
        "id": "1234",
        "name": "John Smith"
    }
}
导出的字段
字段 描述 类型

@timestamp

事件时间戳。

date

bitwarden.member.access_all

确定此成员是否可以访问组织内的所有集合,还是仅访问关联的集合。如果设置为 true,此选项将覆盖任何集合分配。

boolean

bitwarden.member.collection.id

关联对象的唯一标识符。

keyword

bitwarden.member.collection.read_only

如果为 true,则只读权限将不允许用户或组更改项目。

boolean

bitwarden.member.email

成员的电子邮件地址。

keyword

bitwarden.member.external.id

用于引用或将此成员链接到另一个系统(如用户目录)的外部标识符。

keyword

bitwarden.member.id

成员在组织内的唯一标识符。

keyword

bitwarden.member.name

成员的姓名,从其用户帐户配置文件设置。

keyword

bitwarden.member.reset_password_enrolled

如果成员已在组织内注册密码重置辅助,则返回 true。

boolean

bitwarden.member.status.name

组织用户状态类型名称。

keyword

bitwarden.member.status.value

组织用户状态类型值。

keyword

bitwarden.member.two_factor_enabled

如果成员在其用户帐户上启用了两步登录方法,则返回 true。

boolean

bitwarden.member.type.name

组织用户类型名称。

keyword

bitwarden.member.type.value

组织用户类型值。

keyword

bitwarden.member.user.id

成员在 Bitwarden 中的唯一标识符。

keyword

bitwarden.object

表示对象类型的字符串。同一类型的对象共享相同的属性。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集。

constant_keyword

event.module

事件模块。

constant_keyword

input.type

Filebeat 输入类型。

keyword

log.offset

日志偏移量。

long

策略

编辑

这是 Policy 数据集。

示例

policy 的示例事件如下所示

{
    "@timestamp": "2023-10-31T07:35:03.192Z",
    "agent": {
        "ephemeral_id": "eedf4c11-ed1e-4b64-b210-2c8120abdbbf",
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "name": "docker-fleet-agent",
        "type": "filebeat",
        "version": "8.4.1"
    },
    "bitwarden": {
        "object": "policy",
        "policy": {
            "data": {
                "capitalize": "true",
                "default_type": "password",
                "include_number": "true",
                "min": {
                    "length": "5",
                    "number_words": "3",
                    "numbers": "1",
                    "special": "1"
                },
                "use": {
                    "lower": "true",
                    "numbers": "true",
                    "special": "true",
                    "upper": "true"
                }
            },
            "enabled": true,
            "id": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593",
            "type": {
                "name": "TwoFactorAuthentication",
                "value": "0"
            }
        }
    },
    "data_stream": {
        "dataset": "bitwarden.policy",
        "namespace": "ep",
        "type": "logs"
    },
    "ecs": {
        "version": "8.11.0"
    },
    "elastic_agent": {
        "id": "fa60f5ca-bf95-4706-9195-907dd5f9b537",
        "snapshot": false,
        "version": "8.4.1"
    },
    "event": {
        "agent_id_status": "verified",
        "created": "2023-10-31T07:35:03.192Z",
        "dataset": "bitwarden.policy",
        "ingested": "2023-10-31T07:35:06Z",
        "kind": "event",
        "original": "{\"data\":{\"capitalize\":true,\"defaultType\":\"password\",\"includeNumber\":true,\"minLength\":5,\"minNumberWords\":3,\"minNumbers\":1,\"minSpecial\":1,\"useLower\":true,\"useNumbers\":true,\"useSpecial\":true,\"useUpper\":true},\"enabled\":true,\"id\":\"539a36c5-e0d2-4cf9-979e-51ecf5cf6593\",\"object\":\"policy\",\"type\":0}",
        "type": [
            "info"
        ]
    },
    "input": {
        "type": "httpjson"
    },
    "tags": [
        "preserve_original_event",
        "preserve_duplicate_custom_fields",
        "forwarded",
        "bitwarden-policy"
    ]
}
导出的字段
字段 描述 类型

@timestamp

事件时间戳。

date

bitwarden.object

表示对象类型的字符串。同一类型的对象共享相同的属性。

keyword

bitwarden.policy.data.auto_enroll_enabled

keyword

bitwarden.policy.data.capitalize

keyword

bitwarden.policy.data.default_type

keyword

bitwarden.policy.data.disable_hide_email

keyword

bitwarden.policy.data.include_number

keyword

bitwarden.policy.data.min.complexity

keyword

bitwarden.policy.data.min.length

keyword

bitwarden.policy.data.min.number_words

keyword

bitwarden.policy.data.min.numbers

keyword

bitwarden.policy.data.min.special

keyword

bitwarden.policy.data.minutes

keyword

bitwarden.policy.data.require.lower

keyword

bitwarden.policy.data.require.numbers

keyword

bitwarden.policy.data.require.special

keyword

bitwarden.policy.data.require.upper

keyword

bitwarden.policy.data.use.lower

keyword

bitwarden.policy.data.use.numbers

keyword

bitwarden.policy.data.use.special

keyword

bitwarden.policy.data.use.upper

keyword

bitwarden.policy.enabled

确定是否启用和强制执行此策略。

boolean

bitwarden.policy.id

策略的唯一标识符。

keyword

bitwarden.policy.type.name

策略类型名称。

keyword

bitwarden.policy.type.value

策略类型值。

keyword

data_stream.dataset

数据流数据集。

constant_keyword

data_stream.namespace

数据流命名空间。

constant_keyword

data_stream.type

数据流类型。

constant_keyword

event.dataset

事件数据集。

constant_keyword

event.module

事件模块。

constant_keyword

input.type

Filebeat 输入类型。

keyword

log.offset

日志偏移量。

long

更新日志

编辑
更新日志
版本 详细信息 Kibana 版本

1.15.0

增强功能 (查看拉取请求)
不要在主提取管道中删除 event.original

8.13.0 或更高版本

1.14.0

增强功能 (查看拉取请求)
将 "preserve_original_event" 标记添加到 event.kind 设置为 "pipeline_error" 的文档中。

8.13.0 或更高版本

1.13.0

增强功能 (查看拉取请求)
删除 import_mappings。将 kibana 约束更新为 ^8.13.0。修改字段定义以删除 ecs@mappings 组件模板使之冗余的 ECS 字段。

8.13.0 或更高版本

1.12.0

增强功能 (查看拉取请求)
改进对空响应的处理。

8.12.0 或更高版本

1.11.0

增强功能 (查看拉取请求)
将敏感值设置为机密。

8.12.0 或更高版本

1.10.2

增强功能 (查看拉取请求)
已更改所有者

8.4.1 或更高版本

1.10.1

增强功能 (查看拉取请求)
已更改所有者

1.10.0

增强功能 (查看拉取请求)
将请求跟踪器日志计数限制为五个。

8.4.1 或更高版本

1.9.0

增强功能 (查看拉取请求)
ECS 版本已更新至 8.11.0。

8.4.1 或更高版本

1.8.0

增强 (查看拉取请求)
添加对成员数据流的支持。

8.4.1 或更高版本

1.7.0

增强 (查看拉取请求)
改进 event.original 检查,以避免在设置时出错。

8.4.1 或更高版本

1.6.1

Bug 修复 (查看拉取请求)
修复组字段的映射

8.4.1 或更高版本

1.6.0

增强 (查看拉取请求)
ECS 版本已更新至 8.10.0。

8.4.1 或更高版本

1.5.0

增强 (查看拉取请求)
软件包清单中的 format_version 从 2.11.0 更改为 3.0.0。从软件包清单中删除了带点的 YAML 键。在软件包清单中添加了 owner.type: elastic

8.4.1 或更高版本

1.4.0

增强 (查看拉取请求)
添加 tags.yml 文件,以便将集成的仪表板和已保存的搜索标记为“安全解决方案”,并在安全解决方案 UI 中显示。

8.4.1 或更高版本

1.3.0

增强 (查看拉取请求)
添加对 HTTP 请求跟踪日志记录的支持。

8.4.1 或更高版本

1.2.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.9.0。

8.4.1 或更高版本

1.1.0

增强 (查看拉取请求)
记录持续时间单位。

8.4.1 或更高版本

1.0.1

Bug 修复 (查看拉取请求)
删除令人困惑的错误消息标签前缀。

8.4.1 或更高版本

1.0.0

增强 (查看拉取请求)
将 Bitwarden 发布为 GA。

8.4.1 或更高版本

0.3.0

增强 (查看拉取请求)
将软件包更新至 ECS 8.8.0。

0.2.0

增强 (查看拉取请求)
将软件包规范版本更新至 2.7.0。

0.1.0

增强 (查看拉取请求)
初始发布。