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

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

crowdsecurity/crowdsec Docker 镜像 - 轩辕镜像

crowdsec
crowdsecurity/crowdsec
Crowdsec - 一款开源、轻量级代理工具,用于检测和响应不良行为,并自动利用全球社区IP信誉数据库。
84 收藏0 次下载
🙃 代码没问题,结果发布失败在拉镜像
中文简介版本下载
🙃 代码没问题,结果发布失败在拉镜像

Crowdsec Docker镜像文档

快速参考

  • 文档和帮助:[***]
  • Crowdsec概念:[***]
  • 问题反馈:[***]

什么是Crowdsec

Crowdsec是一款开源、轻量级的代理工具,用于检测和响应不良行为。它还能自动受益于全球社区范围的IP信誉数据库。

如何使用此镜像

镜像版本

以下所有镜像均在Docker Hub上提供,支持386、amd64、arm/v6、arm/v7、arm64架构。

Alpine
  • crowdsecurity/crowdsec:{version}

推荐用于生产环境的最新稳定版本。也可在GitHub(ghcr.io)获取。

  • crowdsecurity/crowdsec:dev

用于开发和测试,基于master分支构建。

自v1.4.2起:

  • crowdsecurity/crowdsec:slim

体积减少60%,不包含通知器插件和GeoIP数据库。如果需要决策中的这些详细信息,可在容器内运行cscli hub upgrade在运行时下载GeoIP数据库。

Debian(自v1.3.3起)
  • crowdsecurity/crowdsec:{version}-debian
  • crowdsecurity/crowdsec:latest-debian

Debian版本包含对systemd和journalctl的支持。

自定义

您可以使用Dockerfile和Dockerfile-debian构建自定义镜像。

例如,如果需要不带插件通知器的Debian版本:

console
$ docker build -f Dockerfile.debian --target slim .

支持的目标值:full、geoip、plugins、slim。

注意:对于版本<1.5.0的Crowdsec,语法为:

console
$ docker build -f Dockerfile.debian --build-arg=BUILD_ENV=slim .
必要配置
卷

自CrowdSec 1.7.0起,/var/lib/crowdsec/data/必须挂载为卷。如果未挂载此目录,容器将无法启动。

Journalctl(仅Debian镜像)

要使用journalctl作为日志流,无论是否使用DSN环境变量,都需要将主机的journal日志挂载到容器:

-v /var/log/journal:/run/log/journal
日志收集和处理

集合是一个很好的起点:[***]

在hub中查找集合、场景、解析器和后处理规则:[***]

  • 通过环境变量指定要安装的集合、场景、解析器、后处理规则(默认安装crowdsecurity/linux)
  • 挂载卷以指定Crowdsec应收集的日志文件
日志采集(推荐:每个数据源一个文件)

/etc/crowdsec/acquis.d/目录中的文件将日志映射到提供的解析器。更多信息:[***]

该目录可能包含例如:

ssh.yaml:

yaml
filenames:
 - /logs/auth.log
 - /logs/syslog
labels:
  type: syslog

apache.yaml:

yaml
filename: /logs/apache2/*.log
labels:
  type: apache2

labels.type:如果日志来自syslog,使用syslog;否则,请查看集合文档获取相关类型。

您可以从主机绑定目录或将其放在Docker卷中,前者在添加更多应用时更容易更新。

注意:在版本<1.5中,采集目录默认未配置。您可以通过挂载/etc/crowdsec/config.yaml.local文件添加:

yaml
crowdsec_service:
  acquisition_dir: /etc/crowdsec/acquis.d
日志采集(单文件 - 已弃用)

1.5.0之前,建议将采集配置放在/etc/crowdsec/acquis.yaml中。如果您愿意,仍然可以这样做,但每个数据源一个文件更有效。

yaml
filenames:
 - /logs/auth.log
 - /logs/syslog
labels:
  type: syslog
---
filename: /logs/apache2/*.log
labels:
  type: apache2
推荐配置
卷

我们强烈建议将Crowdsec配置和数据库持久化到命名卷中,或从主机绑定挂载,以避免在容器销毁和重建、版本更新等情况下丢失凭据和决策数据。

  • 凭据和配置:/etc/crowdsec
  • 日志采集:/etc/crowdsec/acquis.d和/或/etc/crowdsec/acquis.yaml(是的,它们可以嵌套在/etc/crowdsec中)
  • 使用SQLite时的数据库(默认):/var/lib/crowdsec/data
启动Crowdsec实例
shell
docker run -d \
    -v crowdsec_config:/etc/crowdsec \
    -v local_path_to_crowdsec_config/acquis.d:/etc/crowdsec/acquis.d \
    -v local_path_to_crowdsec_config/acquis.yaml:/etc/crowdsec/acquis.yaml \
    -v crowdsec_data:/var/lib/crowdsec/data \
    -v /var/log/auth.log:/logs/auth.log:ro \
    -v /var/log/syslog.log:/logs/syslog.log:ro \
    -v /var/log/apache:/logs/apache:ro \
    -e COLLECTIONS="crowdsecurity/apache2 crowdsecurity/sshd" \
    -p 8080:8080 -p 6060:6060 \
    --name crowdsec crowdsecurity/crowdsec
...或使用docker-compose

查看使用docker-compose的完整堆栈示例:[***]

如何扩展此镜像

完整配置

容器使用特定的docker配置构建。如果您需要更改配置,且docker变量(见下文)不够用,可以从主机挂载/etc/crowdsec/config.yaml.local。该文件应仅包含您要更改的config.yaml选项,如覆盖值中所述。

不再推荐绑定挂载完整的config.yaml文件,您也应该不需要这样做。

通知

如果要使用通知系统,必须使用完整镜像(非slim),并至少挂载自定义的profiles.yaml和通知配置到/etc/crowdsec/notifications

shell
docker run -d \
    -v ./profiles.yaml:/etc/crowdsec/profiles.yaml \
    -v ./http_notification.yaml:/etc/crowdsec/notifications/http_notification.yaml \
    -p 8080:8080 -p 6060:6060 \
    --name crowdsec crowdsecurity/crowdsec

部署用例

Crowdsec由解析日志并创建警报的代理和将这些警报转换为决策的本地API(LAPI)组成。这两个功能由相同的可执行文件提供,因此代理和LAPI可以在同一容器或单独的容器中运行。在复杂配置中,在每个运行受保护应用的机器上部署代理,而LAPI收集所有代理的信号并与中央API通信是合理的。

向LAPI注册新代理

无TLS认证:

shell
docker exec -it crowdsec_lapi_container_name cscli machines add agent_user_name --password agent_password

有TLS认证:

代理会自动注册,不需要用户名或密码。代理名称从其连接的IP地址派生。

运行连接到LAPI的代理

在docker run命令中添加以下环境变量:

  • DISABLE_LOCAL_API=true
  • AGENT_USERNAME="agent_user_name" - 之前向LAPI注册的agent_user_name
  • AGENT_PASSWORD="agent_password" - 之前向LAPI注册的agent_password
  • LOCAL_API_URL="[***]"

后续步骤

Bouncers

Crowdsec是检测组件,修复通过bouncers实现。每个bouncer保护特定组件。了解更多:

[***]

[***]

自动Bouncer注册

无TLS认证:

您可以在启动时使用环境变量或Docker secrets向Crowdsec容器注册bouncers。如果不先删除现有bouncer,无法使用此过程更新现有bouncer。

使用环境变量时,格式应为BOUNCER_KEY_<name>=<key>。例如BOUNCER_KEY_nginx=mysecretkey***。

使用Docker secrets时,secret名称应为bouncer_key_<name>,内容为<key>。例如bouncer_key_nginx的内容为mysecretkey***。

Bouncer密钥可以是任何字符串,但建议使用字母数字值,以与Crowdsec生成的密钥保持一致,并避免特殊字符转义问题。

有TLS认证:

Bouncers会自动注册,不需要API密钥。Bouncers名称从其连接的IP地址派生。

控制台

我们提供基于Web的界面以充分利用Crowdsec:[***]

在此订阅:[***]

注意事项

使用绑定挂载而非命名卷(完整解释)会增加复杂性,因为您必须逐个绑定相关文件,而使用命名卷可以挂载完整的配置和数据文件夹。另一方面,命名卷导航不太直观。

参考

环境变量

注意对于持久配置(即绑定挂载或卷):设置变量时,其值可能在每次容器运行时写入相应文件(通常是config.yaml)。

变量默认值描述
CONFIG_FILE/etc/crowdsec/config.yaml配置文件位置
DISABLE_AGENTfalse禁用代理,运行仅LAPI容器
DISABLE_LOCAL_APIfalse禁用LAPI,运行仅代理容器
DISABLE_ONLINE_APIfalse禁用在线API注册以进行信号共享
TEST_MODEfalse不运行服务,仅测试配置:-e TEST_MODE=true
TZ设置时区以确保日志具有本地时间戳
LOCAL_API_URL[***]LAPI URL,当DISABLE_LOCAL_API为true时需要更改:-e LOCAL_API_URL="[***]"
PLUGIN_DIR/usr/local/lib/crowdsec/plugins/插件目录:-e PLUGIN_DIR="<path>"
METRICS_PORT6060暴露Prometheus指标的端口
LAPI(与DISABLE_LOCAL_API一起使用时无效)
USE_WALfalse启用SQLite的预写日志
CUSTOM_HOSTNAMElocalhost本地代理(与LAPI在同一容器中运行)的名称
CAPI_WHITELISTS_PATHcapi_whitelists.yaml的路径
Agent(与DISABLE_AGENT一起使用时无效)
TYPE时间机器中文件的Labels.type:-e TYPE="<type>"
DSN在时间机器中处理单个源:-e DSN="file:///var/log/toto.log"或-e DSN="cloudwatch:///your/group/path:stream_name?profile=dev&backlog=16h"或-e DSN="journalctl://filters=_SYSTEMD_UNIT=ssh.service"
UNREGISTER_ON_EXIT容器停止时从LAPI中删除代理
Bouncers
BOUNCER_KEY_<name>注册名称为<name>、密钥等于环境变量值的bouncer
控制台
ENROLL_KEY从控制台获取的注册密钥,用于注册实例
ENROLL_INSTANCE_NAME设置实例名称以在控制台中查看
ENROLL_TAGS已注册实例的标签,用于搜索和筛选
ENABLE_CONSOLE_ALL启用所有控制台选项
ENABLE_CONSOLE_MANAGEMENT启用控制台管理(自1.6.9起忽略此选项)
ENABLE_CONSOLE_CONTEXT将警报上下文发送到控制台(已注册实例自动启用)
ENABLE_CONSOLE_TAINTED将受污染的警报(来自修改的场景)发送到控制台(已注册实例自动启用)
ENABLE_CONSOLE_MANUAL将手动警报(cscli decisions add)发送到控制台(已注册实例自动启用)
ENABLE_CONSOLE_CUSTOM将自定义警报(来自自定义场景)发送到控制台(已注册实例自动启用)
密码认证
AGENT_USERNAME代理用户名(如果是LAPI则注册,如果是代理则使用):-e AGENT_USERNAME="machine_id"
AGENT_PASSWORD代理密码(如果是LAPI则注册,如果是代理则使用):-e AGENT_PASSWORD="machine_password"
TLS加密
USE_TLSfalse启用TLS加密(作为LAPI或代理)
CACERT_FILECA证书 bundle(用于自签名证书)
INSECURE_SKIP_VERIFY跳过LAPI证书验证
LAPI_CERT_FILELAPI TLS证书路径
LAPI_KEY_FILELAPI TLS密钥路径
TLS认证(需要USE_TLS=true)
CLIENT_CERT_FILE客户端TLS证书路径(启用TLS认证)
CLIENT_KEY_FILE客户端TLS密钥路径
AGENTS_ALLOWED_OUagent-ou允许的代理OU值,用逗号分隔
BOUNCERS_ALLOWED_OUbouncer-ou允许的bouncers OU值,用逗号分隔
Hub管理
查看更多 crowdsec 相关镜像 →
crowdsecurity/lua-bouncer-plugin logo
crowdsecurity/lua-bouncer-plugin
Crowdsec Lua bouncer插件,用于为Ingress-nginx入口控制器提供恶意流量检测与阻止功能。
50K+ pulls
上次更新:未知
crowdsecurity/openresty logo
crowdsecurity/openresty
集成CrowdSec Lua防护组件的Openresty镜像,用于提供Web安全防护,拦截恶意请求。
10K+ pulls
上次更新:未知
serfriz/caddy-crowdsec logo
serfriz/caddy-crowdsec
带有CrowdSec Bouncer模块的Caddy Docker镜像,基于官方Caddy镜像构建,可根据CrowdSec决策阻止恶意流量,支持多平台并自动更新。
10K+ pulls
上次更新:未知
serfriz/caddy-cloudflare-ddns-crowdsec-geoip-security logo
serfriz/caddy-cloudflare-ddns-crowdsec-geoip-security
包含Cloudflare动态DNS/IP、CrowdSec Bouncer、GeoIP过滤及安全模块的Caddy Docker镜像,基于官方Caddy构建,提供增强的域名管理与网络安全功能。
10K+ pulls
上次更新:未知
crowdsecurity/aws-waf-bouncer logo
crowdsecurity/aws-waf-bouncer
暂无描述
100K+ pulls
上次更新:未知

轩辕镜像配置手册

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

登录仓库拉取

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

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

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

镜像拉取常见问题

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

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

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

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
crowdsecurity/crowdsec
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.