AccessScope

AccessScope

访问日志诊断工具

从服务器日志中找出攻击尝试,并给出依据的诊断工具。随 RoamSwitch 提供的独立工具(Mac / Linux)。

能做什么

  • 从日志中找出攻击尝试,并给出依据的行
  • 自动查找这台设备上的日志
  • 把总体风险和检测列表整理成报告
  • 用排除规则和与上次的比较,减少需要查看的数量

能读取的日志

ApachenginxCaddyTraefikHAProxyAWS ALB・CloudFrontSSH・sudo・PAM邮件数据库fail2banDockermacOS 统一日志

Docker 容器的日志也可以只读地检查(使用时会先出现确认界面)

结果的用法

  • 报告可以导出为 Markdown、JSON、SARIF、CSV
  • 可以导出相关 IP 的封锁列表(只写出列表,不会封锁)
  • 自己的 IP 等可以附上理由后排除
  • 与上次的诊断比较,只通知新的检测

安全设计

  • 不开放监听端口。只读取日志,不修改
  • 不提升权限,只读取当前可读的范围
  • 来自日志的字符串只作为文本显示在界面上
  • 只会连接所选的 LLM,以及在按下按钮时检查 Mac 更新

局限

  • 只以日志中留下的事实为依据。没有检测结果并不等于安全
  • 检测表示出现过尝试,并不是攻击成功的证据。User-Agent 等可以伪造
  • 跨日志的关联和与平时的差异是经验规则,可能漏报也可能误报

用命令行使用

accessscope scan --auto --since 7d --report report.md

能找出什么

Web 攻击
SQL 注入路径遍历XSS命令注入已知漏洞(CVE)SSRF
登录暴力破解
Web 登录SSH邮件数据库来自大量 IP 的尝试
探测・扫描
.env 等的探测攻击工具连续访问不存在的路径
Web Shell・疑似成功
疑似 Web Shell 的访问连续失败之后的成功
跨多个日志的关联
同一地址出现在 Web 和 SSH 中从侦察到攻击的流程
与平时的差异
来自陌生来源的登录新的 User-Agent新的路径
其他
大量请求・传输冒充爬虫日志中被植入的 AI 指令

这是用我们自己的测试数据测得的结果。攻击的检出率约为 99%,正常流量中出现「中」及以上检测的约为 2%。并不保证在真实服务器上的表现。

界面示例

AccessScope 的「诊断日志」界面。已找到 nginx、Apache、SSH 和 Docker 的日志,并显示「诊断」按钮
查找日志、选择、诊断
诊断结果的仪表盘。显示总体风险仪表、按严重程度的数量、各分类的发生数量和按时间的变化
总体风险与各分类的数量
检测列表。针对 SQL 注入、出现在多个日志中的同一地址、来自陌生来源的 SSH 登录,显示了依据的日志行和理由
可以看到依据的日志行和理由

这是在实际界面中填入示例数据后的显示。IP 地址等均为虚构。

借助 LLM 的分析(可选,默认关闭)

  • 交给 LLM 的只有摘要和依据的日志行(每项检测几行)。不会交出原始日志
  • 秘密(密钥、令牌、密码等)会被遮蔽。发送前可以查看全部内容
  • 「用 LLM 查找日志」只交出文件名和位置,不交出文件内容
  • 启用后,内容会发送到所选 LLM 的服务。RoamSwitch 的「Zero Telemetry」说明不包括这项功能
  • 保持关闭时,诊断的内容不会离开设备。在 root 下也能运行 LLM,但 LLM 会以 root 权限运行,建议用无特权的普通用户运行(窗口应用在以 root 运行时,会在设置中给出提示)

获取

  • Mac 版包含在 RoamSwitch 的 DMG 中(应用和命令。macOS 12 或更高版本)
  • Linux 版包含在 RoamSwitch 的 deb / rpm / tarball 中(Server Edition 只有命令)
  • Mac 的应用内更新只在您按下按钮时连接 lafine.net,并在验证签名后再安装
  • 它是与 RoamSwitch 分开的工具,许可证为 Apache License 2.0(不适用 RoamSwitch 的 EULA)

保存在设备上的有:找到的日志列表(discovered.json)、用于与上次比较的状态文件、排除规则(suppress.toml)。这些都不会发送到外部。详情请见隐私政策。