专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
ghcr.io/misp/misp-docker/misp-modules

ghcr.io/misp/misp-docker/misp-modules:3e80727-slim

ghcr.iolinux/amd643e80727-slim大小: 未知更新于 2026年5月23日

MISP Docker 镜像

一个生产就绪的 Docker MISP 镜像(以前托管于 ,现已弃用)大致基于 CoolAcid 和 DSCO 构建,几乎所有逻辑都经过重写并验证了正确性和可移植性。

主要特性:

  • MISP 和 MISP modules 分为两个不同的 Docker 镜像:misp-core 和 misp-modules
  • 可选的 https://github.com/MISP/misp-guard 容器,通过 mitmproxy 过滤流量并执行共享策略。
  • Docker 镜像定期推送,无需构建
  • 通过多阶段构建和精简基础镜像实现轻量级 Docker 镜像
  • 依赖现成的 Exim4、Redis 和 MariaDB Docker 镜像
  • 计划任务运行更新、推送和拉取操作
  • 修复 supervisord 进程控制(重新加载时进程正确终止)
  • 通过完全离线化修复模式更新(无需用户交互)
  • 修复权限执行
  • 修复 MISP modules 的 faup 库加载
  • 修复 MISP modules 的 gl 库加载
  • 使用 LDAP、OIDC 或 CustomAuth 进行身份验证
  • 添加对新后台作业 https://github.com/MISP/MISP/blob/2.4/docs/background-jobs-migration-guide.md 的支持
  • 添加对构建特定 MISP 和 MISP-modules 提交的支持
  • 添加同步服务器的自动配置(参见 configure_misp.sh)
  • 添加认证密钥的自动配置(参见 configure_misp.sh)
  • 添加 Docker 镜像直接推送到 GitHub Packages 的功能
  • 合并的 docker-compose.yml 文件
  • 解决在 Mac 版 Docker Desktop 上运行时的 VirtioFS 漏洞
  • stunnel 服务用于纯文本服务(如 Redis)的 TLS 封装
  • ……以及许多其他特性

本项目的核心精神是实现“可重复部署”,所有朝着这个方向的拉取请求都将迅速合并。

要覆盖这些行为,请编辑 docker-compose.yml 文件的 misp-core 卷定义,以启用 "customize_misp.sh" 行为(详见生产环境部分的底部)。"customize_misp.sh" 脚本会在上述行为完成后触发,是覆盖设置的合适位置。建议使用 "/var/www/MISP/app/cake Admin setSetting" 命令来覆盖设置,因为此工具了解 config.php 文件和数据库设置。

不确定添加新设置时应编辑哪些文件?

如果只是在用户尚未设置时才需要设置的默认设置,请将其添加到某个 *.default.json 文件中。
如果是由环境变量控制的设置(旨在覆盖已设置的任何值),请将其添加到某个 *.envars.json 文件中(注意仍可指定默认值)。

MISP-Guard(可选)

https://github.com/MISP/misp-guard 是一个 mitmproxy 插件,旨在应用可配置过滤器,防止敏感威胁情报数据的无意泄露,同时促进受控信息共享。

默认情况下处于禁用状态,但可使用 compose 配置文件启用。

启用

  1. 在 .env 文件中启用配置文件:
COMPOSE_PROFILES=misp-guard
  1. 确保 misp-core 已配置为使用代理:
PROXY_ENABLE=true
PROXY_HOST=misp-guard
# 必须与 GUARD_PORT 匹配(默认值=8888)
PROXY_PORT=8888

配置

  • 规则在 guard/config.json 中定义。
  • 容器在运行时通过 entrypoint.sh 自动替换 misp-core 的 IP。

定位 misp-core 需要以下格式,IP 会在运行时替换为 misp-core 容器的 IP。

{
"instances": {
"misp_container": {
"ip": "placeholder"
}
}
}
  • 修改 guard/config.json 后,重启容器以应用更改:
docker compose restart misp-guard

环境变量

# misp-guard 监听端口(必须与 PROXY_PORT 匹配)
# 默认值:8888
GUARD_PORT=8888

# 可选:mitmdump misp-guard 运行时参数(空格分隔)
GUARD_ARGS=--ssl-insecure -v

身份验证

LDAP 身份验证

您可以使用以下两种方法在 MISP 中配置 LDAP 身份验证:

  • 原生插件:LdapAuth( )
  • 早期方法:使用 ApacheSecureAuth( )

推荐使用 LdapAuth 而非 ApacheSecureAuth,因为它不需要带有 ldap 模块的 rproxy apache。

以下使用 LdapAuth 插件与您的 ldap/AD 服务器集成的配置经过测试且已强化。

此示例假设您已将根证书挂载到 Pod 的 /usr/local/share/ca-certificates/rootca.crt 路径下,该证书会自动添加到 /etc/ssl/certs/ca-certificates.crt 和 /etc/ssl/certs/ca-certificates.crt bundle 中。

使用 memberOf:1.2.840.113556.1.4.1941:= 旨在递归查找组中的嵌套成员。例如,如果我们有一个名为 MIPS-ALLOW-IN 的组对象,我们授予该组访问 MISP 的权限。并将该组添加为另一个名为 Applications Admins 的组的成员。那么 Applications Admins 中的所有成员/用户也将被授予访问权限。这种权限分配方法称为 RBAC。

此示例使用 userPrincipalName 属性作为用户登录的用户名,并使用 mail 属性在用户登录时发送电子邮件。

您无需使用任何单引号、双引号、转义或双重转义,/configure_misp.sh 脚本会确保将需要引号的内容用单引号括起来,并写入 /var/www/MISP/app/Config/config.php。

确保在 instance-secrets.env 中定义以下内容。

BASE_URL=https://misp.apps.openshift.domain.local
LDAPAUTH_ENABLE=true
LDAPAUTH_LDAPSERVER=ldaps://domain.local
LDAPAUTH_LDAPDN=OU=Company,OU=Management,DC=domain,DC=local
LDAPAUTH_LDAPREADERUSER=CN=ldap-account,OU=Accounts LDAP,OU=Management,DC=domain,DC=local
LDAPAUTH_LDAPREADERPASSWORD=YoucanType4nythingH3r3Even1'Are3scaped!
LDAPAUTH_LDAPSEARCHFILTER=(&(objectCategory=person)(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=MIPS-ALLOW-IN,OU=Groups Applications,OU=Groups,DC=domain,DC=local))
LDAPAUTH_LDAPSEARCHATTRIBUTE=userPrincipalName
LDAPAUTH_LDAPEMAILFIELD=mail
LDAPAUTH_LDAPNETWORKTIMEOUT=-1
LDAPAUTH_UPDATEUSER=true
LDAPAUTH_LDAPDEFAULTORGID=1
LDAPAUTH_LDAPDEFAULTROLEID=3
LDAPAUTH_DEBUG=false
LDAPAUTH_LDAPTLSCUSTOMCACERT=false
LDAPAUTH_LDAPPROTOCOL=3
LDAPAUTH_LDAPALLOWREFERRALS=false
LDAPAUTH_STARTTLS=false
LDAPAUTH_MIXEDAUTH=true
LDAPAUTH_LDAPTLSREQUIRECERT=LDAP_OPT_X_TLS_DEMAND
LDAPAUTH_LDAPTLSCRLCHECK=LDAP_OPT_X_TLS_CRL_PEER
LDAPAUTH_LDAPTLSPROTOCOLMIN=LDAP_OPT_X_TLS_PROTOCOL_TLS1_2

STARTTLS 设置为 false,因为它旨在在可能的情况下自动将未加密连接(LDAP)升级为安全连接(LDAPS)。由于我们使用 LDAPS(硬编码)或根本不建立连接,因此不需要此功能。

OIDC 身份验证

OIDC 身份验证通过 MISP OidcAuth 插件实现。

有关使用 KeyCloak 的示例配置,请参见 MISP Keycloak 26.1.x 基本集成指南

对于 Okta,请创建新的应用集成:

  • 应用程序 -> 应用程序 -> 创建应用集成
  • 选择登录方法“OIDC - OpenID Connect”和应用程序类型“Web 应用程序”
  • 在客户端身份验证中,选择“客户端密钥”
  • 将登录重定向 URI 设置为:"https:// /users/login"
  • 在登录选项卡下,添加名为“roles”的组声明和适当的过滤器
  • 在 MISP docker 的 .env 文件中,设置以下变量:
OIDC_ENABLE=true
OIDC_PROVIDER_URL=https:// /.well-known/openid-configuration
OIDC_ISSUER=https://
OIDC_CLIENT_ID=[client_id]
OIDC_CLIENT_SECRET=[client_secret]
OIDC_ROLES_PROPERTY="roles"
OIDC_ROLES_MAPPING="{\"Okta group - MISP Admin\": 1}" #
OIDC_DEFAULT_ORG="[Your default org in MISP]"
#OIDC_LOGOUT_URL=
OIDC_SCOPES="[\"profile\", \"email\", \"groups\"]"
OIDC_MIXEDAUTH=true # (如果要禁用密码登录,请将此设置为 false,确保 OIDC 先正常工作)
OIDC_CODE_CHALLENGE_METHOD=S256
OIDC_AUTH_METHOD="client_secret_post"
OIDC_REDIRECT_URI="https:// /users/login" # (与在 Okta 中设置的值相同)
OIDC_DISABLE_REQUEST_OBJECT=false
OIDC_SKIP_PROXY=true
OIDC_ALLOW_EMAIL_LINKING=false
OIDC_REQUIRE_EMAIL_VERIFIED=true

OIDC_AUTH_METHOD 的有效选项包括:

  • client_secret_post:已测试
  • client_secret_basic:如果未设置该变量,则为默认值,但在 Okta 中似乎存在问题。它会返回以下错误:"Error 'invalid_request' received from IdP: Cannot supply multiple client credentials"。
  • client_secret_jwt:未测试
  • private_key_jwt:未测试

CustomAuth

您可以按照此处所述使用 Plugin.CustomAuth 插件添加身份验证:[***] HTTP 头对用户进行身份验证。这在 MISP 运行在身份验证反向代理服务器后面时非常有用。

高可用性部署

如果要在负载均衡器后方部署多个 misp-core 容器,建议在 .env 文件中或容器环境内将以下参数设置为静态值,因为它们用于会话处理,若未设置将随机生成:

  • SALT
  • UUID

如果不这样做,可能会出现 CSRF 错误。

出于非会话相关原因,以下环境变量在所有 misp-core 容器中也应保持一致:

  • BASE_URL
  • ENCRYPTION_KEY
  • ADMIN_EMAIL
  • ADMIN_ORG
  • ADMIN_ORG_UUID
  • MISP_EMAIL
  • GPG_PASSPHRASE

不建议共享 app/Config 目录,因为此镜像在每次容器启动时都会执行检查和修改,可能会导致竞争条件,损坏共享的 config.php 文件。建议每个容器使用独立的 app/Config 目录。

版本控制

GitHub Action 会自动构建 misp-core、misp-modules 和 misp-guard 镜像,并将其推送到 https://github.com/orgs/MISP/packages%E3%80%82%E6%88%91%E4%BB%AC%E4%B8%8D%E5%9C%A8%E4%BB%93%E5%BA%93%E5%86%85%E4%BD%BF%E7%94%A8%E6%A0%87%E7%AD%BE%EF%BC%9B%E8%80%8C%E6%98%AF%E5%9C%A8%E9%95%9C%E5%83%8F%E6%8E%A8%E9%80%81%E5%88%B0 registry 时为其添加标签。对于每次构建,misp-core、misp-modules、misp-guard 镜像的标签规则如下:

  • misp-core:${commit-sha1}[0:7]、misp-modules:${commit-sha1}[0:7] 和 misp-guard:${commit-sha1}[0:7],其中 ${commit-sha1} 是触发构建的提交哈希
  • misp-core:latest、misp-modules:latest 和 misp-guard:latest,用于跟踪可用的最新构建
  • misp-core:${CORE_TAG}、misp-modules:${MODULES_TAG} 和 misp-guard:${GUARD_TAG},反映构建时 template.env 文件中指定的基础版本
podman system prune ; podman image rm ghcr.io/misp/misp-docker/misp-core ; podman image rm ghcr.io/misp/misp-docker/misp-modules ; podman image rm ghcr.io/misp/misp-docker/misp-guard ; rm -f build.log ; PODMAN_COMPOSE_VERBOSE=1 podman compose build --no-cache | tee build.log

这确保您从干净的状态开始构建,而不使用之前构建的残留文件。

调试 Dockerfile

通过构建日志,您可以确定构建失败的位置。要精确定位具体步骤,请在 Dockerfile 中添加调试行。使用唯一标记以便在日志中轻松找到它们:

RUN echo "____MYDEBUG___1"
RUN echo "____MYDEBUG___2"
RUN echo "____MYDEBUG___3"

打印变量值

许多构建错误与变量未正确设置或导入有关。要进行调试,请打印它们的值:

RUN echo "____MYDEBUG___ CORE_TAG: ${CORE_TAG}"

示例输出:

[4/5] STEP 19/20: RUN echo "____MYDEBUG___ CORE_TAG: ${CORE_TAG}"
____MYDEBUG___ CORE_TAG: v2.5.16
--> 798999451f75

在 shell 块中打印变量

对于 Dockerfile 中的 shell 块,插入 echo 语句以打印变量值:

RUN <<-EOF
for mod in "$@"; do
mod_version_var=$(echo "PYPI_${mod}_VERSION" | tr '[:lower:]' '[:upper:]' | tr '-' '_')
mod_version=$(eval "echo \"\$mod_version_var\"")
echo "____MYDEBUG___ mod mod_version: ${mod}${mod_version}"
# ... rest of the code ...
done
EOF

变量未展开

Podman 的旧版本(5 之前的版本)可能无法在 shell 块中正确展开变量。如果遇到此问题,请确保使用正确的 shell 语法。对于 Podman,请将:

RUN <<-EOF

替换为(注意 ' 引号)

RUN bash <<-'EOF'

以确保变量按预期展开。作为参考,此问题首次出现于成功构建镜像后,但启动容器时出现 /usr/local/bin/supervisord: No such file or directory 错误。有关更多详细信息,请参见 https://github.com/MISP/misp-docker/issues/265 和 https://github.com/MISP/misp-docker/pull/273%E3%80%82

通过遵循这些步骤,您可以高效地排查并解决构建问题。如果问题仍然存在,请在提交 issue 请求帮助时附上您的构建日志和环境详情。

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

轩辕镜像支持 docker push 上传本地镜像吗?

不支持 push

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
ghcr.io/misp/misp-docker/misp-modules
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单。官方公众号:源码跳动。官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.