在oracle的网络安全组 (NSG) 层面设置简单的流量监控

在 Oracle Cloud (OCI) 的 网络安全组 (NSG) 层面,本身是不提供实时仪表盘或图形化监控界面的(NSG 仅作为虚拟防火墙)。要实现“流量监控”,最简单且专业的方法是开启 VCN 流日志 (VCN Flow Logs)

通过流日志,你可以清晰地看到哪些 IP 正在访问你的 Mailcow(比如 80、25 端口),以及这些请求是被 Accept(允许) 还是 Reject(拒绝) 了。


第一步:创建日志组 (Log Group)

在开启监控前,需要一个“桶”来存放日志。

  1. 登录 OCI 控制台,点击左上角菜单 $\rightarrow$ 观察与管理 (Observability & Management) $\rightarrow$ 日志记录 (Logging)
  2. 点击 日志组 (Log Groups) $\rightarrow$ 创建日志组
  3. 命名为 NSG_Monitor_Group


第二步:开启流日志 (Enable Flow Logs)

  1. 返回 日志 (Logs) 页面,点击 启用资源日志 (Enable resource log)
  2. 资源服务:选择 Network (Virtual Cloud Network)
  3. 资源:选择你的 VCN。
  4. 日志类别:选择 Flow Logs (All Records)
  5. 配置日志

    • 选择刚才创建的 日志组
    • 日志名称:命名为 Mailcow_Traffic_Log
    • 日志保留期:默认 1 个月即可。


第三步:在日志中筛选监控流量

开启后大约需要 5-10 分钟才会产生数据。

  1. 进入刚才创建的 Mailcow_Traffic_Log
  2. 你会看到一个类似控制台的界面。点击 在日志搜索中查看 (Explore with Log Search)
  3. 简单监控技巧

    • 监控攻击/扫描:搜索 data.action = 'REJECT',你会看到哪些 IP 因为没过 NSG 规则被拦下了。
    • 监控正常连接:搜索 data.destPort = '25',查看谁在给你的邮件服务器发信。


第四步:进阶监控(可选:简单的可视化)

如果你觉得看纯文本日志太累,可以利用 OCI 的 日志仪表盘

  1. 在日志页面点击 仪表板 (Dashboards)
  2. 创建一个新仪表板,添加一个 “计数图表”
  3. 这里的查询语句可以设置为:search "你的比较符" | summarize count() by data.action这样你就能一眼看到过去一小时内,你的 NSG 拦截了多少次潜在攻击。


为什么在 NSG 层面监控很重要?

  1. 排查配置错误:如果你配置了 _imap._tcp 但仍然连不上,流日志会告诉你流量是否卡在了入口(REJECT)。
  2. 安全审计:Mailcow 暴露了 25/465/587 等端口,你会在这里看到大量来自全球的扫描 IP。
  3. 性能零损耗:流日志是在网络架构层捕获的,完全不占用你 Oracle 实例(CPU/内存)的资源。

小提示:

既然你之前遇到了 HTTP Validation Failed 的问题,开启流日志后,你可以专门搜索 data.destPort = '80'

  • 如果看到大量 REJECT,说明你的 NSG 规则没开全。
  • 如果看到 ACCEPT 但页面还是白屏,说明流量已经进了 VPS,问题确实出在 CaddyDocker 内部。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部