修改防火墙配置时,请务必考虑潜在的安全风险,以避免将来出现问题。安全性是一个复杂的主题,并且因情况而异,但是本文介绍了配置外围防火墙规则的最佳实践。
默认阻止
默认情况下阻止所有流量,并明确只允许特定流量到达已知服务。此策略可以很好地控制流量,并减少由于服务配置错误而造成数据泄露的可能性。
通过将访问控制列表中的最后一个规则配置为拒绝所有流量,可以实现此行为。您可以根据平台来显式或隐式地执行此操作。
允许特定流量
用于定义网络访问的规则应尽可能具体。此策略称为最小特权原则,它强制控制网络流量。在规则中指定尽可能多的参数。
第4层防火墙将以下参数用于访问规则:
- 源IP地址(或IP地址范围)
- 目的IP地址(或IP地址范围)
- 目的端口(或端口范围)
应该在用于定义网络访问的规则中指定尽可能多的参数。any
在任何这些字段中都有有限的方案。
指定源IP地址
如果该服务应该是每个人都可以通过互联网访问,那么任何的源IP地址是正确的选项。在所有其他情况下,您应指定源地址。
允许所有源地址访问HTTP服务器是可以接受的。通常不允许所有源地址访问服务器管理端口(对于Linux SSH为22,对于Windows RDP为3389)或数据库(对于SQL Server为1433,对于Oracle为1521,对于MySQL为2206)访问服务器管理端口。对于谁可以访问这些端口要尽可能地具体。当为网络管理定义源IP地址不切实际时,您可以考虑使用另一种解决方案,例如远程访问VPN作为补偿控件,以允许所需的访问并保护您的网络。
指定目标IP地址
目标IP地址是运行要允许其访问的服务的服务器的IP地址。始终指定可以访问的服务器(或服务器组)。不建议配置目标值any
,因为这样做可能会导致将来出现问题,例如安全性破坏或服务器可能会破坏默认情况下不希望在可能会使用的服务器上使用的协议。但是,any
如果仅将一个IP分配给防火墙,或者您希望公共和服务网都访问您的配置,则可以使用目标值为的目标IP 。
指定目标端口
目的端口对应于需要访问的服务。此字段的值永远不能为any
。定义了在服务器上运行并需要访问的服务,并且只需要允许该端口。例如,允许所有端口通过允许恶意实体执行字典攻击来猜测密码以及对服务器上配置的任何端口和协议执行利用,将极大地影响服务器的安全性。
避免使用过多的端口。如果使用动态端口,防火墙有时会提供检查策略以安全地允许它们通过。
不良配置示例
本节介绍了防火墙规则的错误示例,但还介绍了配置防火墙规则时要遵循的一些替代规则。
permit ip any any
-允许从任何端口上的任何源到任何目的地的所有流量。这是最差的访问控制规则。它与默认情况下拒绝流量的安全概念和最低特权的原则都相矛盾。应始终指定目标端口,并在实际可行时指定目标IP地址。除非应用程序被构建为从Internet(例如Web服务器)接收客户端,否则应指定源IP地址。一个好规则是permit tcp any WEB-SERVER1 http
。
permit ip any any WEB-SERVER1
-允许从任何来源到Web服务器的所有流量。仅允许使用特定端口;对于Web服务器,端口80(HTTP)和443(HTTPS)。否则,服务器的管理将容易受到攻击。一个好规则是permit ip any WEB-SERVER1 http
。
permit tcp any WEB-SERVER1 3389
-允许RDP从任何来源访问Web服务器。通常,允许所有人访问您的管理端口是一种不好的做法。请具体说明谁可以访问服务器管理。一个很好的规则是permit tcp 12.34.56.78 3389 WEB-SERVER1
(12.34.56.78
Internet上管理员计算机的IP地址在哪里)。
permit tcp any DB-SERVER1 3306
-允许MySQL从任何来源访问数据库。数据库服务器绝不应暴露于整个Internet。如果您需要数据库查询才能在公共Internet上运行,请指定确切的源IP地址。一个很好的规则是permit tcp 23.45.67.89 DB-SERVER1 3306
(23.45.67.89
Internet上需要访问数据库的主机的IP地址在哪里)。最佳实践是允许通过VPN的数据库流量,而不是通过公共Internet的明文形式。
如果您需要实施这些最佳做法的帮助,请与东方网域团队联系。
版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有