是否可以使用开源工具(例如 Cisco IPS 或 Cisco ASA)来阻止传入的 Teamviewer 连接到特定的内部 IP 块,同时允许传出的连接?我无法在其他在线资源上找到具体答案。
阻止传入 Teamviewer 连接
我认为您不能在网络层使用防火墙来做到这一点。当您将某人与 TeamViewer 联系时,您不会直接这样做。TeamViewer 用户使用中间的第三方服务器相互连接。
您可以看到 kobaltz 对Team Viewer 之类的远程程序如何工作的问题的回答?
当您运行 TeamViewer 时,您会在其代理服务器上分配一个 ID。您与 Teamviewer ID 建立连接,TeamViewer 通过 TeamViewer 客户端建立的隧道将连接向下传递到目的地,然后提示您输入密码,然后建立连接。
为了实现你的目标,你应该使用 TeamViewer 的方式。我认为 TeamViewer 的这篇文章正是您要找的: 如何限制 TeamViewer 连接到我的计算机的访问权限?
您还可以通过不同方式限制对计算机的访问。根据您希望限制访问的方式和程度,选择以下选项之一:
要完全防止使用 ID 和密码进行任何访问,请在任务栏中退出 TeamViewer。任何传入或传出连接都不再可能。
要限制对指定设备的访问,请使用 TeamViewer 完整版中的黑名单或白名单。拒绝特定 TeamViewer ID 的传入连接或仅允许已定义 TeamViewer-ID 的连接。
要限制传入连接的功能,请使用传入连接的访问控制。在完全访问、全部确认、查看访问或拒绝任何传入的远程控制连接之间进行选择。
要拒绝来自网络外部的连接,只允许传入的 LAN 连接。
如果您可以使用组,您可以使用 ASA 或任何其他防火墙来执行此操作。您要做的是创建一个您希望允许Teamviewer 访问/被访问的组。抛出有权连接到 Teamviewer 的机器,然后阻止所有其他机器。
问题变成了防火墙 ACL。当您与 TeamViewer 建立连接时,您将通过他们的服务器进行代理。以下是列出的 TeamViewer 网络。您要做的是创建一个名为“TeamViewer Networks”的 ACL 允许您的组,而拒绝其他人。
使用传统防火墙阻止 Teamviewer 是不可能的(需要一定的时间/资源)。可以结合使用代理和防火墙。如果您在 Windows 环境中,最简单的解决方案:
只允许局域网连接。创建一个设置以下注册表项的 GPO:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\TeamViewer\Version[X]\Security_AcceptIncoming
REG_DWORD
=0
或者
HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer\Version[X]\Security_AcceptIncoming
REG_DWORD
=0
顺便说一句:运行 Teamviewer 并不安全
您可以通过多种方式专门通过 Cisco ASA 和 Firepower (IPS/IDS) 模块阻止/允许 Teamviewer。NBAR 也可用于路由器。
NBAR 还可以在路由器级别用于阻止特定应用程序的流量。虽然我不能 100% 确定,但您应该能够为 teamviewer 的传入和传出流量创建一些自定义 ACL。这将解决当 NBAR 检查流量并寻找特定标记时,teamviewer 跳转到不同端口的问题。
跳入 Cisco Firepower,它是 Cisco ASA 防火墙的 IPS/IDS 模块,我们可以将其设置为阻止特定应用程序...
我们可以专门为传入流量设置访问控制策略,以阻止 teamviewer 应用程序同时允许传出。每天都会从 Cisco 收到有关 teamviewer 应用程序签名类型的更新。
可以在策略 -> 访问控制 -> 新规则 -> 应用程序选项卡下找到要在此处阻止的远程控制应用程序。这可能需要更高级的许可证,因此检查您是否有能力这样做可能是值得的。
另一方面,不需要任何额外许可的方式是通过入侵防御。但是,这并不能解决您希望允许传出连接的问题。它将完全阻止传入和传出连接,但您确实有能力监视/警告或阻止已建立的连接。这可能是完全阻止它的替代方法,因为您可以查看连接的来源,然后可能将其输入您的日志聚合器或 SIEM 并从那里采取行动。