Skip to content

配置文件说明

Columba 的主要配置文件为 config.json,保存于用户目录下的/.columba。首次运行前请按需修改,保存时请使用 UTF-8 编码。

config.json文件结构

json
{
  "SMTP": {
    "server": "",
    "port": 587,
    "username": "",
    "password": "your_real_password",
    "use_tls": true,
    "from_addr": "",
    "to_addr": ""
  },
  "SETTINGS": {
    "ban_frequency": 5,
    "logon_types": "2,3,7,10"
  },
  "MESSAGE": {
    "subject_success": "Columba 登录通知 - 成功",
    "body_success": "用户 {username} 在计算机 {computer} 上登录成功\n登录类型: {logon_type_desc}\n时间: {time}\n来源 IP: {source_ip}\n进程: {process_name}"
  }
}

[SMTP] 邮件服务器设置

键名说明必需示例值
serverSMTP 服务器地址smtp.qq.com
portSMTP 服务器端口(SSL 一般为 465,TLS 一般为 587)465
username登录邮箱的用户名(通常为完整邮箱地址)your@qq.com
password邮箱密码或授权码(推荐使用授权码)xxxxxxxxxxxxxx
from_addr发件人邮箱地址(通常与 username 相同)your@qq.com
to_addr收件人邮箱地址,可多个(用逗号分隔)admin@example.com
use_tls是否使用 TLS 加密(true / false)。若端口为 465 一般设为 false 使用 SSL,端口 587 设为 truefalse

[MESSAGE] 邮件内容模板

支持在主题和正文中使用变量,程序会自动替换为实际值。

主题与正文

键名说明默认值(示例)
subject_success成功登录邮件主题[通知] 用户 {username} 已登录 {computer}
body_success成功登录邮件正文用户 {username} 于 {time} 从 {source_ip} 登录 {computer},登录类型:{logon_type_desc}

可用变量

变量名说明适用事件
{username}登录用户名成功/失败
{domain}登录域(若为本地账户则为计算机名)成功/失败
{time}登录时间(格式 YYYY-MM-DD HH:MM:SS成功/失败
{computer}计算机名成功/失败
{source_ip}来源 IP 地址(远程登录时显示,本地登录可能为 -成功/失败
{logon_type}登录类型代码(如 10)成功
{logon_type_desc}登录类型描述(如“远程交互式登录”)成功
{process_name}触发登录的进程名(如 C:\Windows\System32\svchost.exe成功
{failure_reason}失败原因(包含状态码和子状态,如“状态码: 0xC0000064, 子状态: 0”)失败

[SETTINGS] 配置

键名说明默认值
logon_types需要监控的登录类型列表,用英文逗号分隔,仅支持数字代码。留空则监控所有类型。2,7,10
ban_frequencyIP失败最大次数,超过添加至防火墙黑名单。留空或为0则无加入黑名单,只记录。5

常用登录类型代码

代码描述典型场景
2交互式登录本地控制台登录
3网络登录访问共享文件夹
4批处理登录计划任务
5服务登录系统服务启动
7解锁登录从屏保或锁屏恢复
8网络明文登录IIS 基本认证
9新凭证登录RunAs 不同用户
10远程交互式登录远程桌面(RDP)
11缓存交互式登录域控不可达时使用缓存凭证

其他配置文件说明

除了上述提到的 config.json,Columba还包含failure_login.json login_notifier.log,均保存用户目录下的/.columba,以下为两者文件说明:

  1. failure_login.json:用于保持错误登陆日志,每天零点清空内容。文件内将保存失败登陆的来源IP 失败次数 是否加入防火墙 失败登陆历史记录,以上内容将解析后形成登录失败每日汇总邮件。

  2. login_notifier.log:记录软件各类日志,用于调试与错误修复。