梯子破解
梯子破解(虚拟专用网)的设置非常简单,这要归功于 WireGuard 在默认情况下做出了正确的加密选择,以及其整体设计的简洁和优雅。 然而,这种简单性使其很难进行监控--没有日志文件可以让你跟踪观察谁在连接到你的 VPN,也没有审计跟踪可以让你检查关键更改的时间和地点。
幸运的是,有一些工具可以帮助你监控谁在访问你的 梯子破解,并提醒你任何可疑的活动。 以下是您的选择概览:
梯子破解
最简单的方法是用 SSH 登录网络上的每台 WireGuard 主机,然后使用 WireGuard 的内置状态显示功能检查每个接口和对等设备的当前状态。 如果你只有几个主要的 VPN 服务器,通过这些服务器连接端点(而不是点对点连接的网状端点),这也许是可行的。
如果用 SSH 登录运行 WireGuard 的主机,就可以通过命令行显示主机上激活的每个 WireGuard 接口,以及为接口配置的每个对等设备的列表。wg指挥:
\$ sudo wg show interface: wg1 public key: /TOE4TKtAqVsePRVR+5AA43HkAK5DSntkOCO7nYq5xU= private key: (hidden) listening port: 51821 peer: fE/wdxzl0klVp/IR8UcaoGUMjqaWi3jAd7KzHKFS6Ds= endpoint: 172.19.0.8:51822 allowed ips: 10.0.0.2/32 最新握手:1 分 22 秒前 传输: 3.48 MiB received, 33.46 MiB sent peer: jUd41n3XYa3yXBzyBvWqlLhYgRef5RiBD7jwo70U+Rw= endpoint: 172.19.0.7:51823 allowed ips: 10.0.0.3/32 最新握手时间:2 小时 3 分钟 34 秒前 传输:接收 1.40 兆字节,发送 19.46 兆字节
请注意wg
, wg show
,以及wg 显示全部
会产生相同的输出结果。 如果使用观察命令(默认情况下每 2 秒更新一次):
\$ sudo watch wg show interface: wg1 public key: /TOE4TKtAqVsePRVR+5AA43HkAK5DSntkOCO7nYq5xU= ...
列出的每个对等点都将包括该对等点使用的公钥以及其他四个字段:
- 终端
-
对等设备使用的当前公共 IP 地址(和 UDP 端口)。 每当本地接口从对等设备接收到不同源地址(或端口)的新数据包时,该值就会从对等设备最初配置的值更新。
- 允许流量
-
本地 WireGuard 接口将路由到对等设备的 IP 地址。
- 最新握手
-
如果本地接口自启动以来已成功连接到远程对等设备,则表示上次重新键入连接的时间。 重新键入 "握手 "每 2-3 分钟发生一次,此时连接处于活动状态(仅当连接处于活动状态时),因此它可以为您提供上次连接处于活动状态的大致时间。 如果接口启动后没有成功连接过对等设备,则省略此字段。
- 转移
-
如果自接口启动以来,本地接口已尝试连接远程对等设备,则表示从对等设备接收和发送了多少数据。 如果接口启动后未尝试连接对等设备,则省略此字段。
将其作为唯一监控工具的缺点显而易见,那就是必须为每台要监控的主机打开 SSH 会话,而且只能看到当前发生的情况(或每台对等设备上次处于活动状态时的情况),而无法看到要调查或分析的特定时间段内发生的情况。
梯子破解
-
免费
-
您可能已经安装了所需的一切
梯子破解
-
无历史
-
无审计跟踪
-
无法扩展到许多主机
-
需要有一双眼睛经常盯着它
-
频繁使用 SSH 访问 VPN 服务器是一种糟糕的安全做法
梯子破解
另一种方法(尤其是当你只想监控几台主机时)是在你想监控的每台 WireGuard 主机上运行一个网络应用程序。 你可以下载并运行几款开源应用程序,它们会提供友好的图形用户界面(GUI),显示运行中的主机上的 WireGuard 状态,为你提供命令行的网络版类似程序wg
工具。
虽然以前流行过一些图形用户界面,如wg-dashboard但有一个有趣的项目仍然活跃,那就是Wg Gen Web. 除了允许您通过 Web UI 配置 WireGuard 接口及其对等设备外,Wg Gen Web 还提供了一个状态页面,显示与该接口的 VPN 连接的当前状态:

Wg Gen Web 采用 Golang HTTP 服务器作为 "后端",Vue.js 网页用户界面作为 "前端";两部分均由 "后端 "HTTP 服务器提供服务。 它还依赖于第二个 Golang HTTP 服务器(从WG-API项目)从主机获取状态数据。
最简单的方法是在要监控的每台 WireGuard 主机上运行几个 Docker 容器(一个 Docker 容器用于主 HTTP 服务器,另一个用于状态服务器)。 Wg Gen Web 项目的阅读说明
包括一个例子docker-compose.yml
文件来演示如何做到这一点:
#@#version: '2.0' services: wg-gen-web: image: vx3r/wg-gen-web:latest container_name: wg-gen-web restart: unless-stopped ports: - "8080:8080" environment: - WG_CONF_DIR=/data - WG_INTERFACE_NAME=wg0.conf - SMTP_HOST=smtp.gmail.com - SMTP_PORT=587 - SMTP_USERNAME=example@gmail.com - SMTP_PASSWORD=**************** - SMTP_FROM=Example <example@gmail.com> - OAUTH2_PROVIDER_NAME=github - OAUTH2_PROVIDER= - OAUTH2_CLIENT_ID=****************** - OAUTH2_CLIENT_SECRET=****************** - OAUTH2_REDIRECT_URL= - WG_STATS_API=$BRIDGE_GATEWAY_ADDRESS:8182 volumes: - /etc/wireguard:/data wg-api: image: james/wg-api:latest container_name: wg-json-api restart: unless-stopped cap_add: - NET_ADMIN network_mode: "host" command: wg-api --device=wg0 --listen=$BRIDGE_GATEWAY_ADDRESS:8182#@#
启动并运行这些 Docker 容器后,您就可以打开网络浏览器,访问 Wg Gen Web 状态页面,网址是(如果主机的 IP 地址是
10.0.0.1
).
显然,你需要彻底锁定对该状态页面的访问权限。 对很多人来说,在一个 VPN 对等网络上运行两个额外的网络服务器,就等于多了两个网络服务器。
此外,与使用命令行wg
工具,该状态显示只包括单台主机的当前状态,没有过去活动的信息(也没有未连接到这台特定主机的对等设备的信息)。
梯子破解
-
免费
-
友好的用户界面
梯子破解
-
无历史
-
无审计跟踪
-
无法扩展到许多主机
-
需要有一双眼睛经常盯着它
-
在 VPN 服务器上运行网络服务器是一种糟糕的安全做法
梯子破解
如果你的 VPN 包含多个对等网络,那么一个更复杂、更有用的方法是为自己建立一个工具,定期检查每个 WireGuard 对等网络的状态,并将信息发送到一个集中位置。 在这个集中位置(最好是现有的日志、分析或 SIEM(安全信息和事件管理)系统),你可以将这些状态信息处理成一系列审计记录、显示趋势和重大事件的仪表板,以及需要分析人员查看和响应的问题警报。
首先,你需要编写一个客户端程序,在每台需要监控的主机上运行,定期检查该主机上 WireGuard 接口的状态。 客户端程序wg 显示所有转储
命令提供了一种简单的方法,可以获取与常规wg
命令,但采用制表符分隔格式:
\$ sudo wg show all dump wg1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEE= /TOE4TKtAqVsePRVR+5AA43HkAK5DSntkOCO7nYq5xU= 51821 off wg1 fE/wdxzl0klVp/IR8UcaoGUMjqaWi3jAd7KzHKFS6Ds= (none) 172.19.0.8:51822 10.0.0.2/32 1617235493 3481633 33460136 off wg1 jUd41n3XYa3yXBzyBvWqlHYgRef5RiBD7jwo70U+Rw= (none) 172.19.0.7:51823 10.0.0.3/32 1609974495 1403752 19462368 off
\$ sudo wireguard-tools/contrib/json/wg-json { "wg1": { "privateKey": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEE=", "publicKey": "/TOE4TKtAqVsePRVR+5AA43HkAK5DSntkOCO7nYq5xU=", "listenPort": 51821, "peers": { "fE/wdxzl0klVp/IR8UcaoGUMjqaWi3jAd7KzHKFS6Ds=": { "endpoint": "172.19.0.8:51822", "latestHandshake": 1617235493, "transferRx": 3481633, "transferTx": 33460136, "allowedIps": [ "10.0.0.2/32" ] }, "jUd41n3XYa3yXBzyBvWqlLhYgRef5RiBD7jwo70U+Rw=": { "endpoint": "172.19.0.7:51823", "latestHandshake": 1609974495, "transferRx": 1403752, "transferTx": 19462368, "allowedIps": [ "10.0.0.3/32" ] } } } }
日志/分析/SIEM 系统通常非常善于接收以制表符分隔的值或 JSON,因此你可能会让客户端程序每隔一段时间(每两分钟)向系统发送上述命令之一的输出(与 WireGuard 协议的重新键入 "握手 "非常吻合)。 您可以在日志/分析/SIEM 系统中设置一个管道,将这些输出汇集到系统跟踪的结构化记录中。 一旦这些记录开始输入,就可以使用日志/分析/SIEM 系统的工具开始根据这些数据构建报告、仪表盘和警报。
这将是一个强大解决方案的开端,但实施起来需要大量资源、领域知识和协调。
梯子破解
-
可以捕捉历史
-
可建立审计跟踪
-
可部署到多个服务器和端点
-
全自动
-
集成到现有的分析或 SIEM 系统中
梯子破解
-
构建成本非常高昂(开发人员时间、项目管理、测试等)
-
需要 WireGuard 领域的专业知识
-
持续维护费用
-
持续的数据传输和存储成本
梯子破解
幸运的是,有一种简单的方法可以做到这一点。Pro Custodibus提供的服务设置简单(只需通过 SSH 登录到主机并运行几个命令即可),可为您提供大量漂亮的仪表盘(带有图表和图形,并可通过所有 WireGuard 对等设备的完整历史记录进行集成搜索),同时还具有定制分析解决方案的所有功能和可扩展性。
使用 Pro Custodibus,您只需在主机上运行几个简单的命令即可安装代理(或让您的配置管理工具自动安装),代理将定期 ping Pro Custodibus 服务器,提供主机的状态数据。 代理只启动对外连接,因此您无需担心获得任何额外的入境访问服务器或端点。
您可以通过 Pro Custodibus 网络应用程序(托管在 Pro Custodibus 的安全云数据中心)按需查看所有 WireGuard 活动的完整审计跟踪以及所有主机的配置更改:

此外,你还能获得大量其他仪表盘和警报,这些信息可向你显示网络的关键信息,如哪些主机和对等设备一直处于活动状态,以及来自哪里:

通过这些丰富的监控数据,您可以最终回答有关 VPN 使用情况的重要问题,如
-
爱丽丝最后一次访问我们的数据库集群是什么时候?(查看同行页面活动日志的时间戳)。
-
谁在周末从我们的安全文件共享中下载了大量文件?(请查看文件共享同行页面上的图表,了解哪些同行在周末连接了文件共享同行并接收了大量数据)。
-
鲍勃笔记本电脑上的 VPN 证书是否被盗并被非法使用?(请查看其同行页面上的更改日志,了解其家庭或公司办公室以外的 IP 地址)。
梯子破解
-
完整历史
-
全面审计跟踪
-
易于在服务器和终端上安装
-
全自动
-
友好的用户界面
-
可集成到现有的分析或 SIEM 系统中
-
内置智能警报
-
采用 WireGuard 专业技术设计,针对 WireGuard 最佳实践进行调整
梯子破解
-
不免费 (这里的定价)