新闻中心
当前位置: 首页 > 新闻中心 > 防火墙规则配置的最佳做法
防火墙规则配置的最佳做法
发表者:admin  发表日期:2019-02-08
 修改防火墙配置时,考虑潜在的安全风险以避免将来出现问题非常重要。安全性是一个复杂的主题,可能因具体情况而异,但本文介绍了配置外围防火墙规则的最佳实践。
 
默认阻止
默认情况下阻止所有流量,并明确仅允许特定流量到已知服务。此策略可以很好地控制流量,并减少因服务配置错误而导致泄露的可能性。
 
您可以通过配置访问控制列表中的最后一个规则来拒绝所有流量来实现此行为。您可以显式或隐式地执行此操作,具体取决于平台。
 
允许特定流量
用于定义网络访问的规则应尽可能具体。此策略称为最小权限原则,它强制控制网络流量。在规则中指定尽可能多的参数。
 
第4层防火墙使用以下参数作为访问规则:
 
源IP地址(或IP地址范围)
目标IP地址(或IP地址范围)
目标端口(或端口范围)
应在用于定义网络访问的规则中指定尽可能多的参数。在any这些领域中使用的场景有限。
 
指定源IP地址
如果该服务应该是每个人都可以通过互联网访问,那么任何的源IP地址是正确的选项。在所有其他情况下,您应指定源地址。
 
允许所有源地址访问您的HTTP服务器是可以接受的。允许所有源地址访问服务器管理端口(22个用于Linux SSH,3389用于Windows RDP)或数据库(1433用于SQL Server,1521用于Oracle,2206用于MySQL)通常是不可接受的。尽可能具体地说明谁可以到达这些端口。如果为网络管理定义源IP地址是不切实际的,您可以考虑使用另一种解决方案,如远程访问VPN作为补偿控制,以允许所需的访问并保护您的网络。
 
指定目标IP地址
目标IP地址是运行您要允许访问的服务的服务器的IP地址。始终指定可以访问的服务器(或服务器组)。any不鼓励配置目标值,因为这样做可能会产生未来的问题,例如安全漏洞或服务器危害您可能不打算在默认情况下可访问的服务器上使用的协议。但是,any如果只有一个IP分配给防火墙,或者您希望公共和servicenet都可以访问您的配置,则可以使用目标值为的目标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 - 允许从任何源到Web服务器的RDP访问。允许每个人访问您的管理端口通常是一种不好的做法。具体说明谁可以访问服务器管理。一个好的规则是permit tcp 12.34.56.78 3389 WEB-SERVER1(12.34.56.78互联网上管理员计算机的IP地址)。
 
permit tcp any DB-SERVER1 3306 - 允许MySQL从任何源访问数据库。永远不应该将数据库服务器暴露给整个Internet。如果需要在公共Internet上运行数据库查询,请指定确切的源IP地址。一个好的规则是permit tcp 23.45.67.89 DB-SERVER1 3306(23.45.67.89因特网上需要访问数据库的主机的IP地址)。最佳做法是允许通过VPN的数据库流量,而不是通过公共Internet的明文。