如何用Netsh命令行管理Windows防火墙?

Windows防火墙是一种用于控制网络流量和端口的有效机制。管理Windows防火墙有不同的方法,如GUI、Powershell和MS-DOS。今天我们将详细介绍如何使用一个名为 netsh . Netsh是一个内置工具,它存在于所有Windows版本,如Windows Server 2008、Windows Server 2012、Windows Server 2016、Windows 7、Windows 8和Windows 10。

null

救命

帮助关于 netsh 命令可以用 /? 选项。

$ netsh /?
Help
救命

从输出netsh命令可以看出,它提供了很多网络管理功能,如Wlan、网桥、Dhcp、Ras等。

交互式Shell

Netsh命令可以从命令行直接发出命令来使用。但也有一个交互式shell,可以使用相同的命令来管理网络。使用交互式shell时 netsh 命令被取消。交互式shell只需使用 netsh 命令如下。

$ neths
Interactive Shell
交互式Shell

还有子shell或模块,它们可以用来发出命令,比如 advfirewall

$ advfirewall
Interactive Shell for netsh
netsh的交互式Shell

网络配置文件

正如我们所知,Windows操作系统带有内置的配置文件,其中不同的网络安全设置是根据这些配置文件应用的。建立网络连接后,Windows会询问我们连接的网络是什么类型的。我们选择以下配置文件之一。

  • 域配置文件
  • 个人资料
  • 公众简介

列出所有网络配置文件

所有现有的网络配置文件都可以用 advfirewall show allprofiles 命令如下。

$ advfirewall show allprofiles
List All Network Profiles
列出所有网络配置文件

我们可以从命令输出中看到,提供了以下有关网络配置文件的信息。

  • State 显示此配置文件是否可用
  • Firewall Policy 显示入站和出站连接策略默认情况下是否可以在此配置文件中进行入站或出站连接。
  • Local Firewall Rules 显示是否为本地 防火墙规则存在或组策略已继承。
  • Local Con Sec Rules
  • Inbound User Notification 显示是否已建立入站连接是否将向用户桌面显示通知
  • Remote Management 指定是否 可以使用远程管理端口和机制。
  • Logging 分区是关于创建日志的。
  • Log Allowed Connections 显示是否将记录允许的连接的配置
  • Log Dropped Connections 显示 配置是否已删除 将记录连接
  • File Name 指定防火墙日志的路径和名称。
  • Max File Size 显示日志文件的最大大小

相关文章: “无路由到主机”错误及解决方法

域配置文件

域配置文件是在Windows域中的Windows系统中设计的。

个人资料

专用配置文件设计用于私人生活领域,如家庭或朋友,我们可以半信任网络,而不是由域控制器控制。

公众简介

公共配置文件设计用于存在真正安全线程的公共区域。这些区域是图书馆、咖啡馆等。

关闭防火墙

默认情况下启用Windows防火墙。防火墙规则很严格,通常不能在不同的端口上运行3.party应用程序。另一种情况是,我们已经准备好安装一个端点安全解决方案,我们不需要Windows内置防火墙。我们可以简单地关闭防火墙。 这将禁用 当前活动网络配置文件的防火墙。

$ advfirewall set currentprofile state off
Turn Off Firewall
关闭防火墙

打开防火墙

如前所述,Windows操作系统的防火墙默认启用。但在某些情况下,我们可能需要启用和启动防火墙。这将为当前活动的网络配置文件启用防火墙。

$ advfirewall set currentprofile state on
Turn On Firewall
打开防火墙

为所有网络配置文件启用防火墙

前面的步骤打开和关闭当前服务器的防火墙。我们还可以使用以下命令为所有现有配置文件打开防火墙。这将为默认配置的域、私有和公共配置文件打开防火墙。

$ advfirewall set allprofiles state on
Turn On Firewall For All Network Profiles
为所有网络配置文件启用防火墙

列出当前防火墙配置

我们之前列出了所有现有的配置文件。我们也只能列出当前的配置文件配置。

$ advfirewall show currentprofile
List Current Firewall Configuration
列出当前防火墙配置

开放式港口

现在我们可以开始真正的防火墙管理操作了。最常用的命令和功能之一是打开防火墙端口。我们将指定第4层协议类型,如 TCP UDP 以及具有相关名称的端口号作为标识符。在本例中,我们将启用端口号 443 说出它的名字 MyHttps .

$ advfirewall firewall add portopening tcp 443 MyHttps

关闭端口

我们可能需要关闭一个端口,以使我们的系统更安全,并加强我们的系统。我们将使用 delete 命令删除现有打开的端口或异常。在这个例子中,我们远程端口号 TCP 443 名字是 MyHttps .

$ firewall delete portopening tcp 443

丢弃ICMP或Ping数据包

在Ping机制中使用ICMP数据包是IT环境下解决网络连接问题最常用的技术之一。我们通常通过ping远程系统来判断网络是否在运行,远程系统是否启动。但这可能会在关键环境中造成一些安全漏洞。所以禁用ping是更安全的方法。

我们可以使用以下命令禁用ping和丢弃ICMP数据包。

$ firewall set icmpsetting type=all mode=disable

启用日志

日志记录创建 结构信息 事件发生在Windows防火墙中。这些日志可能提供有关用户、远程IP地址、端口和操作的信息。日志可用于与安全相关的机制,如日志收集和SIEM。我们可以使用 set logging 命令如下。

$ firewall set logging  %systemroot%system32LogFilesFirewallpfirewall.log 4096 ENABLE

在本例中,我们通过指定日志文件路径、日志文件的最大行数和状态来启用日志记录。达到最大行数后 旧日志将被删除。

相关文章: 如何安装Nmap

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享