NAT 防火墙,由 DNS 查找触发自动添加到白名单?

NAT 防火墙,由 DNS 查找触发自动添加到白名单?

我对设置防火墙感兴趣。这将包括您常用的 NAT,以及用于传入连接的端口转发。

但是我希望传出连接使用主机名白名单。我还希望同一设备充当我的 PC 使用的 DNS 服务器,这样当 PC 尝试连接白名单上的任何主机名时,它始终知道该主机名的最新 IP。

这可以是 Cisco IOS(推荐的替代方案),也可以是真正的 Illumos 或 Linux 服务器。我认为使用服务器会给我带来更大的灵活性,但我愿意听取建议。

以下是我想要发生的事情:(来自我网络上的用户的传出连接)

  1. 用户的个人电脑对给定的站点执行 DNS 查找(即 serverfault.com)

  2. 防火墙服务器将其与主机名白名单进行比较,如果允许,则将生成的 IP 地址传回 PC。

  3. 如果允许 DNS 查找,则 IP 访问列表将立即使用 DNS 的最新结果进行更新。(具有合理的有效期)

    • 如果 PC 发起与任意 IP 地址的连接,而该 IP 地址未列在任何获批准的 DNS 响应中,那么任意数据包都会被拒绝。
  4. (可选,但最好)嗅探 TCP 连接以验证 HTTP 或 HTTPS 连接的主机名。通过这种方式,我们可以防止访问可能存在于共享白名单 IP 上的非白名单网站。

我认为我可以使用 完成第 1-3 项ipfilter,结合自定义编写的 DNS 服务器来处理白名单,并触发对 的添加ipfilter。这听起来合理吗,还是不可避免地会出现ipfilter无法立即识别更改的问题?我非常确定ipfilter可以与 Linux/Illumos NAT 配合使用。

是否有适用于 Linux 或 Illumos 的应用程序已经可以进行 DNS 触发的 IP 白名单?(让我不用重新发明轮子)

我没听说过 IOS 运行 DNS 服务器。Cisco IOS 中是否有解决方案可以处理此问题?是否有我应该知道的明显解决方案,或者这只是一个不寻常的防火墙设置?

答案1

根据我们在评论中的讨论,听起来您可能混淆了防火墙和透明代理的作用。

  • 防火墙不依赖 DNS 解析来实施访问策略。原因如下:我之前已经介绍过。最重要的原因是:

    1. 依赖容易被欺骗的协议
    2. 增加了软件复杂性和给定输入集的不确定性功能(今天通过过滤器的内容不一定是明天通过过滤器的内容)
    3. 有效地将防火墙策略的管理委托给不同的设备和协议。
  • 透明代理通常会拦截 HTTP+DNS 流量,并根据所请求的主机名应用访问控制。IP 地址不是此层的考虑因素。如果请求的实体与允许的名称不匹配,则透明代理本身会直接返回错误页面,而不会将请求路由到目标资源。

主要的区别在于这些设备所处的层级。由于透明代理只需要关心名称,而不需要关心这些名称解析后的 IP 地址,因此您不会遇到防火墙所遇到的逻辑问题。

相关内容