2008/10/22

C# NetFwTypeLib, 고급 보안이 설정된 Windows 방화벽

//Interop.NetFwTypeLib 는 FwPolicy2 가 구현된 COM개체를 참조하고 있어야 함
//--> Vista & Windows Server 2008


Type trule = Type.GetTypeFromProgID("HNetCfg.FWRule");     
Type tpol = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");   

INetFwRule newRule;
INetFwPolicy2 Policy2 = (INetFwPolicy2)Activator.CreateInstance(tpol);

//v2.0|Action=Allow|Active=TRUE|Dir=Out|Protocol=6|RPort=8530|Name=윈도우 업데이트 서버(TCP-Out)|Edge=FALSE|

newRule = (INetFwRule)Activator.CreateInstance(trule);
newRule.Name = "윈도우 업데이트 서버(TCP-Out)";
newRule.Protocol = 6;
newRule.RemotePorts = "8530";
newRule.Enabled = true;
newRule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_OUT;
newRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
Policy2.Rules.Add(newRule);

그외, 방법으로는 netsh 명령행을 이용하거나 Vbscript 를 이용

netsh advfirewall firewall>add rule name="윈도우 업데이트 서버(TCP-Out)" dir=out action=allow enable=yes remoteport=8530 protocol=tcp


참고로,, 방화벽의 Outbound 차단에 대한 이해에 도움이 될만한,..
테크넷 매거진 내용

보안: Windows Vista 방화벽 관리
http://technet.microsoft.com/ko-kr/magazine/cc510323.aspx (캐시된문서)

의 내용중 마지막 단락의 "아웃바운드 필터링으로 가능한 보안 수준" 은 한번쯤 생각해 볼만한 부분인듯..^^

댓글 없음:

댓글 쓰기

가장 많이 본 글