ITPub博客

首页 > IT基础架构 > 网络安全 > 如何优化Windows防火墙的安全性

如何优化Windows防火墙的安全性

原创 网络安全 作者:高博 时间:2020-07-01 08:23:31 0 删除 编辑

如果您忽略或禁用了Windows防火墙,则可能会缺少一些易于设置和维护的良好基本保护。

  自从Windows XP sp2以来,Windows防火墙已经默认启用,但我们仍然会看到一些因为老习惯而在部署时关闭防火墙的案例。随着Windows 10和Server 2019,最需要的防火墙策略大多已经内置,设置访问相对容易一些。但有时用户仍应该加强Windows防火墙的设置,以更好地保护用户不受横向移动和攻击。

   为二进制文件或可执行文件构建规则

  如果应用程序需要一个特殊的规则,用户应该基于二进制文件或可执行文件,而不是基于端口进行构建。这样可以确保防火墙只在应用程序处于活动状态时打开。如果使用端口构建防火墙规则,则该端口将保持开放状态并公开系统。

   识别被阻止的应用程序

  当应用程序被阻止时,Windows设备会默认发出通知。但IT管理员可能希望使用事件日志来识别被阻止的应用程序,而不是使用系统托盘中容易错过的可视弹出窗口。想要确定Windows防火墙阻止了哪些应用程序,首先要搜索事件5031的事件日志,它表明Windows防火墙阻止了一个应用程序接受网络上的连接。使用此事件检测不存在Windows防火墙规则的应用程序。

  设置安全监控

  如果您使用安全事件日志监视解决方案来监视事件,请记住以下几点:

  ●如果您有一个预定义的应用程序来执行此事件报告的操作,则监视“Application”不属于您定义的应用程序的事件。

  ●监视“Application”是否在标准文件夹中(例如,不在System32或Program Files中)或在受限文件夹中(例如,临时Internet文件)。

  ●如果在应用程序名称中有一个预定义的受限子字符串或单词列表(例如,“mimikatz”或“cain.exe”),请在“Application”中检查这些子字符串。

  阻止PowerShell访问Internet

  您可以使用Windows防火墙来阻止应用程序访问资源。你可以阻止PowerShell访问互联网。下面的第一个规则允许PowerShell访问本地子网。第二条规则是减少交通流量:

  C:\> netsh advfirewall firewall add rule name=“PS-Allow-LAN" dir=out \

  remoteip=localsubnet action=allow program="c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe" \

  enable=yes

  C:\> netsh advfirewall firewall add rule name=“PS-Deny-All" dir=out \

  action=block program="c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe" \

  enable=yes

  这样可以保护您的系统免受利用PowerShell调用命令和控制计算机启动勒索软件和其他攻击的攻击。PowerShell不应该被删除,而应该进行加固和记录,以确保它按预期使用。

  你还可以为多个版本的PowerShell构建规则:

  C:\> for /R %f in (powershell*.exe) do ( netsh advfirewall firewall add rule name=“PS-Allow-LAN (%f)" dir=out remoteip=localsubnet action=allow program=“%f" enable=yes

  netsh advfirewall firewall add rule name=“PS-Deny-All (%f)" dir=out action=block program=“%f" enable=yes )

防火墙规则阻止PowerShell从互联网访问

  您将在出站防火墙规则设置中看到生成的规则:

Windows防火墙规则

  如果PowerShell有意通过另一个位置调用二进制文件或重命名自身来隐藏自己,那么这个过程将无法进行。

  使用PowerShell设置防火墙规则

  您可以按照Microsoft的说明使用PowerShell设置防火墙规则 。例如,要阻止服务器上的出站端口80,请使用以下PowerShell命令:

  New-NetFirewallRule -DisplayName "Block Outbound Port 80" -Direction Outbound -LocalPort 80 -Protocol TCP -Action Block

  你需要填写的基本属性是:

  ●防火墙规则的友好名称

  ●方向——是否阻塞离开计算机(出站)或进入计算机(入站)的流量

  ●行动——如果满足规则,采取什么行动,允许或阻止

  您可以使用许多PowerShell模块来更好地控制和管理Windows防火墙。所有这些都记录在Netsecurity部分中。

  您需要填写的基本属性是:

  ●DisplayName –防火墙规则的友好名称

  ●方向–阻止流量离开计算机(出站)或进入计算机(入站)

  ●行动-如果满足规则,采取什么行动,是允许还是进行阻止。

  您可以使用许多PowerShell模块来更好地控制和管理Windows防火墙。所有内容都记录在“ Netsecurity” 部分中。

  检查新的Windows 10安全基准

  不要忘记,微软在Windows 10的每个版本都会发布新的安全基准。作为基准的一部分,它们包括建议的防火墙策略。

Windows 10 2004基准策略

  默认情况下,应该为域配置文件和专用配置文件阻止入站连接。

   定期审计设置

  最后,在检查网络的安全状态时,定期随机抽取一些工作站,并审计它们的设置。检查每个示例工作站上的防火墙策略。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31545812/viewspace-2701491/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-09-19

  • 博文量
    218
  • 访问量
    344198