本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

canarytokens Docker 镜像下载 - 轩辕镜像

canarytokens 镜像详细信息和使用指南

canarytokens 镜像标签列表和版本信息

canarytokens 镜像拉取命令和加速下载

canarytokens 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

canarytokens
thinkst/canarytokens

canarytokens 镜像详细信息

canarytokens 镜像标签列表

canarytokens 镜像使用说明

canarytokens 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Canarytokens是一个无代理入侵检测系统(IDS),帮助跟踪网络上的活动和操作,通过部署诱骗令牌监控未授权访问,支持多种告警方式和自定义配置。
15 收藏0 次下载activethinkst镜像

canarytokens 镜像详细说明

canarytokens 使用指南

canarytokens 配置说明

canarytokens 官方文档

Docker化Canarytokens

由Thinkst Applied Research开发

概述

Canarytokens帮助跟踪网络上的活动和操作。若遇到问题,请查看FAQ或创建issue,我们将尽快回复。

核心功能和特性

  • 无代理架构:无需在目标设备安装代理,通过诱骗令牌实现入侵检测
  • 多类型令牌支持:包括PDF令牌等多种类型,满足不同监控需求
  • 灵活告警机制:支持邮件(Mailgun、Mandrill、Sendgrid)、Slack及自定义webhook告警
  • 错误日志集成:可将错误日志发送至指定webhook,及时发现系统异常
  • IP信息增强:支持配置ipinfo.io API密钥,获取详细IP地理位置信息
  • 跨架构支持:可构建适用于不同架构的镜像,适应多样化部署环境
  • 配置持久化:通过.env文件管理配置,避免更新时覆盖自定义设置

使用场景和适用范围

  • 网络入侵检测:监控网络中的未授权访问和异常活动
  • 敏感操作跟踪:跟踪敏感文件访问、系统配置变更等关键操作
  • 安全边界监控:在网络边界部署令牌,检测外部渗透尝试
  • 内部威胁检测:监控内部网络中的可疑行为和数据泄露风险
  • 合规审计支持:为安全合规审计提供活动跟踪记录

使用方法和配置说明

前提条件

  • 至少1个域名(如需PDF令牌跟踪则至少2个域名)
  • 面向互联网的Docker主机(可参考Linux Docker安装指南)

安装步骤

1. 克隆仓库并进入目录

bash
$ git clone [***]
$ cd canarytokens-docker

2. 安装Docker Compose(如未安装)

bash
$ sudo apt-get install python-pip python-dev
$ sudo pip install -U docker-compose
# 若出现PyYAML错误,安装libyaml开发包
# sudo apt-get install libyaml-dev

3. 配置环境变量文件

系统提供两个配置文件模板:switchboard.env.distfrontend.env.dist,需复制并重命名为实际配置文件:

bash
# 复制配置文件模板
$ cp switchboard.env.dist switchboard.env
$ cp frontend.env.dist frontend.env

配置文件说明

通用配置(需同时修改两个文件)

  • CANARY_PUBLIC_IP:设置为Docker主机的公网IP,用于处理Canarytoken触发

frontend.env配置

  • CANARY_DOMAINS:设置您拥有的域名(需为每个域名添加A记录指向Docker主机IP)
  • CANARY_NXDOMAINS(仅PDF令牌需要):设置用于PDF跟踪的域名(需为每个域名添加NS记录指向CANARY_DOMAINS中的域名)

switchboard.env配置

  • CANARY_PUBLIC_DOMAIN(可选):取消注释并设置为CANARY_DOMAINS中的一个域名(默认使用公网IP)
  • 邮件服务配置:根据使用的邮件服务取消注释并设置对应API密钥
    • Mailgun:CANARY_MAILGUN_DOMAIN_NAMECANARY_MAILGUN_API_KEY(欧洲节点需添加CANARY_MAILGUN_BASE_URL=[***]
    • Mandrill:CANARY_MANDRILL_API_KEY
    • Sendgrid:CANARY_SENDGRID_API_KEY
  • 错误日志webhook(可选):设置ERROR_LOG_WEBHOOK接收错误日志告警
  • IP信息API密钥(可选):设置CANARY_IPINFO_API_KEY使用ipinfo.io服务

生成***密钥

在两个配置文件中设置相同的CANARY_WG_PRIVATE_KEY_SEED,生成命令:

bash
$ dd bs=32 count=1 if=/dev/urandom 2>/dev/null | base64

配置示例

frontend.env示例

# 通用令牌使用的域名
CANARY_DOMAINS=example1.com,example2.com

# PDF令牌使用的域名(仅PDF需要)
CANARY_NXDOMAINS=example3.com

# Google Maps API密钥(可选,用于历史页面地图显示)
#CANARY_GOOGLE_API_KEY=
CANARY_PUBLIC_IP=1.1.1.1
CANARY_WG_PRIVATE_KEY_SEED=vk/GD+frlhve/hDTTSUvqpQ/WsQtioKAri0Rt5mg7dw=

switchboard.env示例(Mailgun配置)

CANARY_MAILGUN_DOMAIN_NAME=x.y
CANARY_MAILGUN_API_KEY=zzzzzzzzzz
#CANARY_MANDRILL_API_KEY=
#CANARY_SENDGRID_API_KEY=
CANARY_PUBLIC_IP=1.1.1.1
CANARY_PUBLIC_DOMAIN=my.domain
CANARY_ALERT_EMAIL_FROM_ADDRESS=***
CANARY_ALERT_EMAIL_FROM_DISPLAY="Example Canarytokens"
CANARY_ALERT_EMAIL_SUBJECT="Canarytoken"
CANARY_WG_PRIVATE_KEY_SEED=vk/GD+frlhve/hDTTSUvqpQ/WsQtioKAri0Rt5mg7dw=

Docker部署示例

启动服务(前台运行)

bash
$ docker-compose up

后台运行

bash
$ docker-compose up -d

数据持久化

令牌数据存储在Redis数据库文件中,路径为canarytokens-docker/data/dump.rdb(位于容器外部)。如需清除所有令牌,删除该文件即可。

HTTPS配置

使用docker-compose-letsencrypt.yml配置文件可自动部署HTTPS:

1. 配置certbot.env

bash
# 单个域名
MY_DOMAIN_NAME=example.com

# 多个域名(取消上面注释,使用下面配置)
# MY_DOMAIN_NAMES=example.com anotherexample.net thirdexample.org

EMAIL_ADDRESS=***

2. 启动HTTPS服务

bash
# 前台运行(验证配置)
$ docker-compose -f docker-compose-letsencrypt.yml up

# 后台运行(生产环境)
$ docker-compose -f docker-compose-letsencrypt.yml down
$ docker-compose -f docker-compose-letsencrypt.yml up -d

注意事项

  • Let's Encrypt有证书生成速率限制,测试时可修改cerbot-nginx/start.sh中的./certbot-auto命令添加--staging参数
  • 证书注册过程需验证域名所有权,详情参考Certbot文档

启用基本认证

如需为Canarytokens站点添加基本认证,按以下步骤操作:

1. 生成密码文件

bash
# 进入Nginx配置目录(HTTP用nginx目录,HTTPS用certbot-nginx目录)
$ cd canarytokens-docker/nginx  # 或 cd canarytokens-docker/certbot-nginx

# 生成.htpasswd文件(user替换为实际用户名)
$ sudo htpasswd -c .htpasswd user

# 修改文件权限
$ sudo chown <user>:<user> .htpasswd  # <user>替换为本地Linux用户名

2. 配置Nginx

编辑nginx.conf,在需要保护的location块添加认证配置:

nginx
server {
    ...
    location ~* (/generate|/manage|/download|/history|/settings|/resources).* {
        auth_basic           "Basic Auth Restricted Canrytokens";  # 添加
        auth_basic_user_file /etc/nginx/.htpasswd;                 # 添加
        ...
    }
}

3. 更新Dockerfile

编辑Dockerfile,添加密码文件复制命令:

dockerfile
COPY nginx.conf ...  # 原有的复制配置文件命令
COPY .htpasswd /etc/nginx/.htpasswd  # 添加此行

4. 重建并重启容器

bash
$ docker-compose build
$ docker-compose up -d

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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