security - 我应该如何将网络划分为具有不同访问要求的相关区域?
问题描述
目前,我们有一个“HQ”网络和一个“Branch”网络,它们完全独立,并且在不同的位置物理分离。
我们的任务是研究提高虚构网络的安全性以供练习,同时还为以下目的添加一些 DMZ:
- 公众可以访问的静态网站。
- 客户端可以通过 VPN 访问的 Web 服务器。
分公司和总部网络也应该通过VPN连接,以允许分公司局域网中的用户访问总部局域网中的资源。
我最初的想法是:
- 将 HQ 和分支路由器都更改为 Cisco ASA 设备并将它们作为 VPN 端点,从而删除 HQ 路由器和内部网络之间现在不需要的 ASA。
- 直接从 ASA 的接口添加两个所需的 DMZ,根据需要设置信任区域。
我的问题是:
- 用防火墙替换路由器是一个坏主意吗?如果是这样,我怎样才能在分支机构和总部之间轻松建立 VPN 隧道?
- 我是否需要任何其他防火墙(例如在内部网络和外部防火墙之间)?如果是这样,为什么?
- 我如何配置网络,以便只有外部网络上使用 VPN 的人才能访问其中一个 DMZ?
解决方案
取决于您需要保护网络安全的程度。如果不需要在防火墙后面“隐藏”路由器,通常的方法是将 ASA 的一个接口放置在路由器所在的同一 ISP 网络的外部并为其订购 IP。您可以连接到路由器内部接口(防火墙公司流量)和 DMZ 段的其他 ASA 接口。在这种情况下,您可以收集对 Web 服务器的请求并将其传输到 DMZ。同时,您也可以为公司内部流量设置防火墙。如果您在 ASA 上没有足够的物理接口,您可以只使用交换机并使用交换机 VLAN 和 ASA 子接口执行相同操作(不要忘记以安全方式配置交换机接口)。
推荐阅读
- java - 加载 Web 应用程序属性
- c# - 将记录添加到 SQL Server 数据库时出错 (nvarchar)
- javascript - 是否可以部分定义对象类型?
- android - AppWidget中的GridView视图回收
- java - 为电子邮件发送问题 sendgrid
- r - 回归循环
- python-3.x - 如何在python中并行处理多列数据?
- android - 连接mongodb时如何解决android studio中的NoClassDefFound错误?
- python - 在 Ubuntu 上使用 Connexion/Flask 和公共 IP 地址创建 Apache Web 服务器
- angularjs - 使用浏览器的后退按钮后如何重新加载路线?