构建一个防火墙需要什么技术,当用户通过 Web 表单对 Active Directory 进行身份验证后,该防火墙会动态打开端口?

构建一个防火墙需要什么技术,当用户通过 Web 表单对 Active Directory 进行身份验证后,该防火墙会动态打开端口?

我需要通过互联网公开一个不安全的内部 Web 应用程序,该应用程序无法通过修改来提高其内在安全性。解决此问题的最常见方法是通过 VPN 访问 Web 应用程序。不幸的是,这在我的处境下是不可能的,所以我只能苦苦寻找其他解决方案。

在某些时候,我曾遇到过使用防火墙的情况,在用户通过 Web 表单通过身份验证后,防火墙会动态打开端口。表单位于防火墙设备提供服务的网站上,在后台,防火墙使用通过表单提供的凭据对 Active Directory 进行身份验证。身份验证通过后,防火墙会在一段有限的时间内为发起 Web 表单连接的 IP 打开一些端口。

我希望在我的场景中使用类似的东西,因为它可以为我的 Web 应用程序提供足够的安全性。不幸的是,我不知道要寻找的技术堆栈或这种防火墙身份验证的成熟名称。

有人能告诉我需要了解哪些技术吗?

谢谢,博格丹

答案1

如果您使用 Linux 作为防火墙,请查看iptables防火墙的实现方式。Shorewall 文档将为您指明方向[Dynamic Zones][1]

当在日志文件中看到登录成功消息时,可能会fail2ban添加适当的条目。

就我而言,我使用每个服务的身份验证:

  • SMTP 提交和 IMAP 始终需要身份验证。
  • 内部 Web 服务可通过经过身份验证的 HTTPS 获得。
  • Squid 代理可以配置身份验证。(目前只能在本地或通过 VPN 使用。)

在您的情况下,具有身份验证的 Web 代理应提供必要的访问权限。 Apache 可以相对轻松地配置为执行此操作。

答案2

你的想法有一个缺陷,它暗示 IP 可以唯一地标识用户,但事实并非如此。

我认为你想描述的是Web 应用程序防火墙 这将执行一些通过身份验证 + 反向代理的操作。根据实现情况,它还可能过滤一些众所周知的攻击,但总体而言,您的计划还不够完善。

您不妨考虑将应用程序隔离在沙箱中。将明知存在漏洞的机器留在沙箱中绝不是一个好主意,因为它会以您未曾想到的方式被利用。

相关内容