Windows7提供視窗介面配置案頭防火牆,但操作比較繁瑣,如果要在區域網路所有終端上實施,會非常費時費力,因此打算用批次檔實現。測試環境在我的電腦上,宿主機是Windows7 32位作業系統,為測試案頭防火牆的效果,使用一台虛擬機器,作業系統是Windows XP作業系統。
虛擬機器的網路我先後使用主機模式和橋接模式,主機模式使用SLB/VPC Operations and Maintenance System3,虛擬機器和主機對應SLB/VPC Operations and Maintenance System3的網卡設定同一網段的地址;橋接模式使用預設的SLB/VPC Operations and Maintenance System0,虛擬機器與主機使用同一網段的地址。測試時發現案頭防火牆禁用139和445連接埠能生效,但禁用21連接埠卻不生效,感覺十分奇怪,如果有知道的朋友,也請告訴我一下。
下面是配置Windows7案頭防火牆使用的命令。寫了兩個批次檔,一個是配置案頭防火牆禁用一些危險連接埠;另一個是恢複案頭防火牆的初始配置。
1.配置案頭防火牆
(1)啟用案頭防火牆 netsh advfirewall set allprofiles state on
(2)設定預設輸入和輸出策略 netsh advfirewall set allprofiles firewallpolICy allowinbound,allowoutbound 以上是設定為允許,如果設定為拒絕使用bLOCkinbound,blockoutbound
(3)關閉tcp協議的139連接埠 netsh advfirewall firewall add rule name="deny tcp 139" dir=in protocol=tcp localport=139 action=block
(4)關閉udp協議的139連接埠 netsh advfirewall firewall add rule name="deny udp 139" dir=in protocol=udp localport=139 action=block
(5)關閉tcp協議的445連接埠 netsh advfirewall firewall add rule name="deny tcp 445" dir=in protocol=tcp localport=445 action=block
(6)關閉udp協議的445連接埠 netsh advfirewall firewall add rule name="deny udp 445" dir=in protocol=udp localport=445 action=block
(7)使用相同的方法,依次關閉TCP協議的21、22、23、137、138、3389、5800、5900連接埠。
netsh advfirewall firewall add rule name= "deny tcp 21" dir=in protocol=tcp localport=21 action=block
netsh advfirewall firewall add rule name= "deny tcp 22" dir=in protocol=tcp localport=22 action=block
netsh advfirewall firewall add rule name= "deny tcp 23" dir=in protocol=tcp localport=23 action=block
netsh advfirewall firewall add rule name= "deny tcp 3389" dir=in protocol=tcp localport=3389 action=block
netsh advfirewall firewall add rule name= "deny tcp 5800" dir=in protocol=tcp localport=5800 action=block
netsh advfirewall firewall add rule name= "deny tcp 5900" dir=in protocol=tcp localport=5900 action=block
netsh advfirewall firewall add rule name= "deny tcp 137" dir=in protocol=tcp localport=137 action=block
netsh advfirewall firewall add rule name= "deny tcp 138" dir=in protocol=tcp localport=138 action=block
(8)執行完畢後暫停 pause echo 按任意鍵退出
2.恢複初始配置
(1)恢複初始防火牆設定 netsh advfirewall reset
(2)關閉防火牆 netsh advfirewall set allprofiles state off