라이브러리
프로그래밍언어, 각종코드, 관련동향, 논문 등의 저장소
Windows XP 내장 IPv6 방화벽 Part 1


Windows XP SP1 + 고급네트워킹 팩 내장 IPv6 Firewall 활용 Part 1

 

Part1에서는 IPv6 ICF의 주요 기능 소개, IPv6 네트워크 인터페이스의 필터링 설정을 다룹니다.

 

1. IPv6 Internet Connection Firewall - IPv6 ICF

최근 다양한 애플리케이션이 개발되고, 보안에 대한 관심이 높아짐에 따라 Windows XP 및 2003 OS에서는 간단한 IPv4 방화벽(firewall)을 내장하고 있습니다.[그림1]

사용자 삽입 이미지

[그림1]

하지만, IPv6 애플리케이션이 늘어나고, End-to-End 연결성을 지향하는 IPv6의 특성상 IPv6 네트워크에 대한 보안의식이 증대되면서 IPv6 방화벽에 대한 관심이 증가하고 있습니다.

이러한 추세를 반영하여 Microsoft에서는 Windows SP1(서비스팩 1)에 고급네트워킹 팩(Advanced Networkig Pack)을 설치하거나 Windows XP SP2를 이용하는 경우 IPv6 Internet Connection Firewall을 지원하고 있습니다.

Windows XP SP1 + 고급네트워킹팩에 내장된 IPv6 ICF와 Windows XP SP2에 내장된 IPv6 ICF는 서로 사용방법이 다른 까닭에,본 문서에서는 Windows XP SP1 + 고급네트워킹팩을 이용하는 경우를 가정하고 설명하겠습니다.

Windows XP SP2용은 향후 별도의 문서로 설명할 예정입니다.

 

2. IPv6 ICF의 위치 확인

[그림1]처럼 IPv4 ICF는 각 네트워크 인터페이스의 속성에서 [고급] 탭을 선택하면 이용을 할 수 있습니다. 하지만 IPv6 ICF는 [그림1]같은 GUI가 제공되지 않으므로,netsh를 통한 CLI(Command Line Interface)를 이용해야 합니다.

명령 프롬프트에서netshfirewall을 입력하면 IPv6 ICF 설정 메뉴로 들어가게 됩니다.[그림2]
** IPv6 ICF 설명 메뉴에서 ?를 입력하면 관련 도움말을 볼 수 있습니다.

사용자 삽입 이미지

[그림2]

 

3. IPv6 네트워크 인터페이스에 대한 IPv6 ICF 적용 상태 확인

구체적인 IPv6 방화벽 설정에 앞서, 현재 각 IPv6 네트워크 인터페이스에 대한 IPv6 ICF 적용 상태를 확인해 보겠습니다.

>> netsh firewallshow adapter

show adapter명령은 시스템에 설치된 모든 IPv6 네트워크 인터페이스에 대한 IPv6 ICF 적용 상태를 표시합니다. 별다른 설정을 하지 않았으면 [그림3]처럼 모든 네트워크 인터페이스가 필터링되고 있습니다.

** IPv6FilteringEnabled가 "예"로 되어 있으면 해당 인터페이스에 방화벽이 활성화되어 있다는 의미 입니다.

사용자 삽입 이미지

[그림3]

특정 IPv6 네트워크 인터페이스에 대한 구체적인 방화벽 적용 상태를 확인하려면netsh firewall show adapter "네트워크 인터페이스 명"을 실행합니다.[그림4]

>> netsh firewallshow adapter ADSL

사용자 삽입 이미지

[그림4]

 

4. IPv6 방화벽 적용 상태 변경

특정 IPv6 네트워크 인터페이스에 대해 방화벽 적용 상태를 변경하기 위해서는netsh firewall set adapter명령을 이용합니다.

netsh firewall set adapter명령을 입력하면 [그림5] 같은 옵션을 확인할 수 있습니다.

사용자 삽입 이미지

[그림5]

    o name :: 네트워크 인터페이스의 이름

    o icmp :: IPv6 icmp 필터링의 활성화 여부

    o port :: 특정 포트의 필터링 여부

    o protocol :: tcp, udp의 선택

    o ignoreglobalport :: 글로벌 포트 설정의 무시 여부

    o filtering :: 필터링의 여부

     

예)netsh firewallset adapter "6to4 Pseudo-Interface" filtering=disable
     ** 6to4 Pseudo-Interface의 IPv6 방화벽 설정을 해제함[그림8]

사용자 삽입 이미지

[그림8]

예)netsh firewallset adapter "Automatic Tunneling Pseudo-Interface" icmp all=enable filtering=enable
     ** Automatic Tunneling Pseudo-Interface(보통 ISATAP)에 방화벽을 적용하되, icmp 프로토콜은 허용함

[그림6]에서icmp all=enable에서icmp all=disable로 설정을 변경했을 때, ping에 대한 응답을 더 이상 하지 않는 것을 확인할 수 있다.

참고 :: Windows XP에서 고급네트워킹팩을 설치한후 해당 PC로 ipv6 ping이 안되는 이유는, 고급네트워킹팩이 설치되면 모든 인터페이스의 방화벽 설정이 enable 되기 때문입니다.

사용자 삽입 이미지

[그림6]

예)netsh firewallset adapter "ADSL" port 80=enable
      ** ADSL 인터페이스의 80 포트를 오픈함

[그림7]에서 TCP 프포토콜 80포트에 대해 IPv6 방화벽이 Open 되었음을 알 수 있습니다.

사용자 삽입 이미지

[그림7]

예를 들어 Native IPv6 환경에서 IPv6 웹서버를 운영하고 있는 경우, 외부 접속은 물리적 네트워크 인터페이스의 80포트를 통해 이루어 집니다.

이 경우 netsh firewall set adapter "물리적 인터페이스명" filtering=disable명령을 통해 해당 네트워크 인터페이스에 대한 IPv6 방화벽 적용을 해제하거나

netsh firewall set adapter "물리적 인터페이스명" port 80=enable filtering=enable명령을 통해 IPv6 방화벽은 적용하되 80포트는 open 해야지만 외부에서 80 포트로 웹서버에 접속 할 수 있습니다.

만약 6to4 터널링 환경에서 IPv6 웹서버를 운영한다면 6to4 터널링 인터페이스(6to4 Pseudo-Interface)의 80번 포트를, ISATAP 터널링 환경에서 IPv6 FTP 서버를 운영한다면 ISATAP 터널링 인터페이스(Automatic Tunneling Pseudo-Interface)의 20, 21번 포트를 각각 오픈해 주어야 합니다.

 

Part2에서는 IPv6 ICF의 Global Port와 Logging 기능에 대해 알아보겠습니다.

 

  Comments,     Trackbacks