본문 바로가기

Server Story..../Windows Server

VBscript : IPSec 생성 및 특정 IP 차단 및 허용 (특정 서버 IP 추가)


OS :
 All windows version

Platform : VBScript


 

MOM 모니터링 툴에서, Agent를 통해 IPSec 정책을 생성 / 수정 / 삭제 해야하는 작업을 원활하게 하기 위해서 작성해본 VBScript 이에요. 참고로 IPSec 정책은 동일한 이름으로 실행하게 되면 기존 IPSec 정책에 추가되는 형태이기 때문에, 동일 정책이 다수 들어가 있을 수도 있어요.

하지만, 서비스 운영하는데 큰 문제점은 없습니다. 다만 좀 지저분하게 보일 뿐이죠. 그럴때는 기존 IPSec 정책을 지우고 새로운 IPSec 정책 이름을 부여하여 신규로 만드시길 권장 드립니다.

On Error Resume Next


'## Assign CDN IPSec Policy ##

Const WINDOWS = &H24&


Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.Namespace(WINDOWS)

Set objFolderItem = objFolder.Self

windir = objFolderItem.Path


count = 0

ncount = 1

hostsdir = windir & "\system32\netsh.exe /c "

'wscript.echo hostsdir


cmdline00 = "netsh advfirewall set allprofiles state off"


cmdline01 = "netsh ipsec static add policy Testing assign=yes"

cmdline02 = "netsh ipsec static add filteraction name=perm action=permit"

cmdline03 = "netsh ipsec static add filteraction name=blk action=block"


'Allow3389

cmdline04 = "netsh ipsec static add filter filterlist=Allow3389 srcaddr=x.x.x.0 srcmask=255.255.255.0 dstaddr=me protocol=tcp srcport=0 dstport=3389"

cmdline05 = "netsh ipsec static add rule name=Allow3389 policy=CDN filterlist=Allow3389 filteraction=perm"


set wshell  = CreateObject("WScript.Shell")


rtn = wshell.Run (cmdline00, 5, True)

rtn = wshell.Run (cmdline01, 5, True)

rtn = wshell.Run (cmdline02, 5, True)

rtn = wshell.Run (cmdline03, 5, True)

rtn = wshell.Run (cmdline04, 5, True)

rtn = wshell.Run (cmdline05, 5, True)


'if rtn= 0 then

'   strMsg1 = "IPSec Settings: Success."

'  msgbox strMsg1

'     else strMsg0 = "IPSec Settings: Failed."

'   msgboxstrMsg0

'end if

set wshell = nothing


가장 기본적인 형태이며, 필요하신 분들께서는 다양하게 조건식을 넣어서 추가하시면 될 듯 합니다.