服务器的安全设置环节中,必不可少的操作环节是要屏蔽一些危险端口。如果人为的在“控制面板”、“管理工具”、“本地安全设置”中手工设置IPSEC安全策略的话,不仅麻烦,稍有疏忽就容易出错。本篇内容就介绍了利用批处理的优势来完成屏蔽危险端口的设置,当然,只要你愿意,任何端口都可屏蔽,只要在配置文件中添加需要屏蔽的端口就行了。这个批处理经过我测试使用,非常的方便、省事。

屏蔽危险端口方法一

这个工具主要有两个文件构成:一个是配置文件“禁止IP列表.txt”、一个是“屏蔽高危端口.bat”,以下为这两个文件的代码。如果你想要添加其它端口,在“禁止IP列表.txt”中根据它的格式添加就可以了。“屏蔽高危端口.bat”这个文件无需设置。

“禁止IP列表.txt”代码如下

请使用空格隔开注释,本行不可少
*+0:135:tcp #封TCP协议的135端口,与RPC有关,如有影响请删除本行。
*+0:135:udp #封UDP协议的135端口,与RPC有关,如有影响请删除本行,下同
*+0:139:tcp #封TCP协议的139端口,可有效防御MS08-067溢出攻击,与共享有关
*+0:139:udp #封UDP协议的139端口,可有效防御MS08-067溢出攻击,与共享有关
*+0:445:tcp #封TCP协议的445端口,可有效防御MS08-067溢出攻击,与共享有关
*+0:445:udp #封UDP协议的445端口,可有效防御MS08-067溢出攻击,与共享有关
*+0:1443:tcp #禁止远程连接本机1443端口,与SQL有关
*+0:1443:udp #禁止远程连接本机1443端口,与SQL有关
*+0:1444:tcp #禁止远程连接本机1444端口,与SQL有关
*+0:1444:udp #禁止远程连接本机1444端口,与SQL有关

“屏蔽高危端口.bat”代码如下

@echo off
title 屏蔽高危端口
::code by LZ-MyST  为开机通道优化代码
sc query PolicyAgent|find /i "PolicyAgent"
if %errorlevel% == 1 (
  sc create PolicyAgent binpath= "%windir%\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/IPSec
  ping 127.1
)
sc config PolicyAgent start= auto
ipseccmd -w reg -p Block -y
set "a=0"
set "b="
set "list="
FOR /f "skip=1 delims= " %%i IN (禁止IP列表.txt) DO call :_ipsec "%%i"
if %a% leq 386 ipseccmd -w reg -p Block:1 -r filterlist%b% -f %list% -n BLOCK
ipseccmd -w reg -p Block -x

goto _next
:_ipsec
set /a a+=1
set list=%list% %~1
if %a% gtr 386 (
  ipseccmd -w reg -p Block:1 -r filterlist%b% -f %list% -n BLOCK
  set "list="
  set "a=0"
  set /a b+=1
)
goto :eof
:_next

相关说明

1、“禁止IP列表.txt”中的内容格式非常简单,我就不多解释了。根据他的格式添加你需要端口即可。
2、如果你的服务器系统没有打win2003 sp2补丁或者是标准版,可能没有“ipseccmd.exe”文件,你只需要复制这个文件到c:\windows\system32目录下就可以使用了。

屏蔽危险端口方法二

下面这个方法实质上和上面的方法一样,区别的是,上面将执行部分和配置部分分开了而已。

@echo off
title 禁止危险端口##
cls
::code by Sunward  
sc query PolicyAgent|find /i "PolicyAgent"
if %errorlevel% == 1 (
  sc create PolicyAgent binpath= "%windir%\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/IPSec
)
sc config PolicyAgent start= auto
sc start PolicyAgent Services
ipseccmd  -w REG -p "SUNWARD" -o -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block TCP/135" -f *+0:135:TCP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block TCP/139" -f *+0:139:TCP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block TCP/445" -f *+0:445:TCP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block TCP/1443" -f *+0:1443:TCP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block TCP/1444" -f *+0:1444:TCP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block UDP/135" -f *+0:135:UDP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block UDP/139" -f *+0:139:UDP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block UDP/445" -f *+0:445:UDP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block UDP/1443" -f *+0:1443:UDP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -r "Block UDP/1444" -f *+0:1444:UDP -n BLOCK -x >nul
ipseccmd  -w REG -p "SUNWARD" -x >nul
cls
@echo 端口屏蔽完成!
ping 127.0.0.1 -n 5 1>nul