¶ó¿ìÅÍÇ¥Áö77 - kisa · 2016. 2. 25. · 제·개정 이력 순번 제·개정일...

150

Upload: others

Post on 22-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4
Page 2: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4
Page 3: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4
Page 4: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4
Page 5: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

제·개정 이력

순번 제·개정일 변경내용 발간 연락처

1 2010.1.1 제정 융합보호R&D 405-6311

2

3

4

Page 6: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

Contents제 1 장 서론 ······················································· 8

제 2 장 상용 라우터 운 보안 가이드 ··························· 9

제 1 절 접근통제목록(ACL: Access Control List)의 개요 ············· 91. 시스코 라우터 ··················································· 102. 주니퍼 라우터 ·················································· 133. 6WIND기반 라우터 ·············································· 16

제 2 절 IPv6 라우터에서의 기본 보안설정 ··························· 191. IPv6 보안을 위한 기본 ACL 설정 ································· 192. IPSec 설정 ····················································· 35

제 3 절 보안위협에 따른 IPv6 라우터 설정 ·························· 551. 시스코 라우터 ··················································· 562. 주니퍼 라우터 ·················································· 583. 6WIND기반 라우터 ·············································· 65

제 4 절 IPv6로의 전환이슈 및 Firewall 고려사항 ···················· 691. IPv4/IPv6 전환시 보안이슈 ······································· 692. IPv6 기반 Firewall 고려사항 ····································· 70

제 3 장 PC기반 라우터 운 보안 가이드 ······················· 71

제 1 절 리눅스 라우터 ············································· 711. 리눅스에서 IPv6 설정 ············································ 712. IPv6 필터링 설정 ··············································· 923. IPSec 설정 ····················································· 98

목차IPv6 Security

Page 7: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

제 2 절 FreeBSD ················································ 1131. FreeBSD에서 IPv6 설정 ········································ 1132. IPv6 필터링 설정 ·············································· 1253. IPSec 설정 ···················································· 134

제 4 장 결론 ····················································· 136

약어 ······························································ 137

참고문헌 ························································ 138

목차

IPv6 Security

Page 8: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

Contents표목차

표 2-1 라우터에서의 ACL 정의 이름 ··························· 9표 2-2 Firewall Filter의 match 조건 ·························· 14표 2-3 Firewall Filter의 action 정의 ·························· 15표 2-4 패킷 선택자 파라미터 정의 ···························· 17표 2-5 행동 선택자 파라미터 정의 ···························· 17표 2-6 icmp error code ·································· 18표 2-7 IPv6 네트워크에서 권장하는 기본 ACL 설정대상 리스트 ······· 20표 2-8 vpn 명령 및 ipsec-rule 명령의 파라미터 정의 ·············· 46표 2-9 SA 명령 파라미터 정의 ······························ 47표 2-10 지원하는 암호 및 인증 알고리즘 ························ 47표 2-11 psk 명령 파라미터 정의 ····························· 49표 2-12 식별자 파라미터 정의 ······························· 51표 2-13 ca 및 import 명령 파라미터 정의 ······················· 53표 3-1 IPv4에서 6to4 Prefix로의 변환 ························· 88표 3-2 ip6tables 옵션 및 명령어 설명 ························· 93표 3-3 IPFW 명령어의 구분 ······························· 128표 3-4 IPFW 파라미터 설명 ······························· 130

그림목차

그림 2-1 ACL 구현개요 ···································· 10그림 2-2 Firewall Filter의 사용예 ······························ 15그림 2-3 Firewall Filter의 인터페이스 적용예 ······················ 16그림 2-4 IP Filter ‘Rule’설정 기법 ····························· 16그림 2-5 패킷 선택 파라미터 형식 ····························· 16그림 2-6 IP Filter 설정 화면 예 ······························· 18그림 2-7 라우터 설정정보 예 ································· 20그림 2-8 액세스 리스트 편집을 위한 환경설정 모드 진입절차 ··········· 22그림 2-9 액세스 리스트 이름 정의 명령 ·························· 22그림 2-10 링크로컬범위의 소스주소 필터링 규칙 설정 ················· 23

목차IPv6 Security

Page 9: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

목차

IPv6 Security그림 2-11 멀티캐스트 주소 ACL 명령설정 ························ 23그림 2-12 멀티캐스트 주소 ACL 명령설정 ························ 24그림 2-13 시스코 라우터에서 액세스 리스트 설정사항 ················· 24그림 2-14 모든 IP트래픽을 허용하는 ACL 명령설정 ·················· 25그림 2-15 FastEtherent0/1 인터페이스에 kisa 접근통제목록 적용 예 ······ 25그림 2-16 액세스 리스트 삭제명령 ······························ 25그림 2-17 인터페이스 적용 후 액세스 리스트 화면 ··················· 26그림 2-18 라우터의 설정정보 예 ······························· 27그림 2-19 Firewall Filter 편집을 위한 환경설정 모드 진입절차 ··········· 27그림 2-20 주니퍼 라우터에서의 Firewall Filter 설정 ·················· 29그림 2-21 주니퍼 라우터에서의 Firewall Filter 설정 -계속- ············ 30그림 2-22 주니퍼 라우터에서‘kisa’Firewall Filter를 인터페이스에 적용 ··· 30그림 2-23 6WIND기반 라우터 인터페이스 설정 ····················· 31그림 2-24 6WIND기반 라우터 IP Filter 설정모드 진입 ················· 32그림 2-25 링크로컬범위의 주소 제한 설정 ························· 33그림 2-26 멀티캐스트 주소 제한 설정 ···························· 33그림 2-27 ICMP패킷 제한 설정 ································ 34그림 2-28 설정 이외의 패킷 허용 규칙 ··························· 34그림 2-29 설정한 액세스리스트 적용 명령 ························· 34그림 2-30 시스코 라우터의 IPSec 설정을 위한 네트워크 구축 환경 ······· 35그림 2-31 IPSec 설정 모드 진입 절차 ··························· 43그림 2-32 IPSec 설정‘display’화면 ···························· 44그림 2-33 IPSec설정모드 진입 및 현재 IPSec설정 현황 ··············· 44그림 2-34 IPSec 설정사항 저장 및 적용 ·························· 45그림 2-35 IPSec 설정을 위한 네트워크 구축 환경 예 ················· 45그림 2-36 Static 방식의 vpn과 ipsec규칙 설정사항 ·················· 45그림 2-37 Static 방식의 SA 설정사항 ···························· 46그림 2-38 static 방식의 IPsec설정 예 ··························· 48그림 2-39 preshared key 방식의 식별자 정의 ····················· 48그림 2-40 preshared key 방식의 key 정의 ······················· 49그림 2-41 preshared key 방식의 IPSec 설정 예 ··················· 50그림 2-42 식별자 파라미터 정의 ································ 51그림 2-43 식별자 정의 예 ···································· 52그림 2-44 식별자 설정정의 부분 예시 화면 ························ 52그림 2-45 CA 정의 및 인증서 설치명령 ·························· 52그림 2-46 CA 정의 및 인증서 설치명령 ·························· 53그림 2-47 인증서 수신 및 적용 명령 ····························· 54그림 2-48 인증서 수신 및 적용 명령 ····························· 54그림 2-49 네트워크 구성도 ··································· 56그림 2-50 IP 스푸핑 대응 액세스 리스트 설정예 ····················· 56

Page 10: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

그림 2-51 TCP SYN 플러딩 대응 액세스 리스트 설정예 ··············· 57

그림 2-52 LAND공격 대응 액세스 리스트 설정예 ···················· 57

그림 2-53 DDoS공격 대응 액세스 리스트 설정예 ···················· 58

그림 2-54 네트워크 구성도 ··································· 58

그림 2-55 스푸핑 공격에 대응하는 inbound 트래픽의 Firewall Filter 설정예 · 59

그림 2-56 스푸핑 공격에 대응하는 outbound트래픽의 Firewall Filter 설정예 · 60

그림 2-57 플러딩공격에 대응하는 Firewall Filter 및 Policer 설정예 ······· 61

그림 2-58 특정 포트의 DDoS공격에 대응하기 위한 Firewall Filter 설정예 ··· 62

그림 2-59 반사공격에 대응하기 위한 디폴트 라우팅 설정예 ············· 63

그림 2-60 ICMP패킷을 이용한 서비스거부공격에 대응하는 ···········Firewall Filter 및 Policer 설정예 ························ 64

그림 2-61 6WIND 기반 라우터 실험용 네트워크 구성도 ··············· 65

그림 2-62 입력 트래픽에 대한 IP Spoofing에 대응하기 위한 IP Filter 설정예 · 66

그림 2-63 출력 트래픽에 대한 IP Spoofing에 대응하기 위한 IP Filter 설정예 · 66

그림 2-64 TCP SYN 서비스거부공격에 대응하기 위한 IP Filter 설정예 ····· 67

그림 2-65 LAND공격에 대응하기 위한 IP Filter 설정예 ················ 67

그림 2-66 DDoS공격에 대응하기 위한 IP Filter 설정예 ················ 68

그림 2-67 IPv6전환 이슈에 따른 ACL 설정 권고사항 ················· 69

그림 2-68 Firewall에서의 설정 권고사항 ·························· 70

그림 3-1 /etc/sysconfig/network 스크립트의 내용 ················· 72

그림 3-2 /etc/sysconfig/network-scripts/ifcfg-eth0 스크립트의 내용 ···· 72

그림 3-3 /etc/sysconfig/network-scripts/ifcfg-eth1 스크립트의 내용 ···· 73

그림 3-4 /etc/sysconfig/static-routes-ipv6.org 스크립트의 내용 ······· 74

그림 3-5 프로세스에서 IPv6 관련 항목 확인 ······················ 75

그림 3-6 모듈 리스트 ······································ 76

그림 3-7 /etc/modules.conf 내용 ····························· 76

그림 3-8 ip 명령을 이용한 IPv6 주소 확인 ······················· 77

그림 3-9 ifocnfig 명령을 이용한 IPv6 주소 확인 ···················· 78

그림 3-10 ping6 테스트 ····································· 78

그림 3-11 ip 명령을 이용한 IPv6 주소 추가 ······················· 79

그림 3-12 ifconfig 명령을 이용한 IPv6 주소 추가 ···················· 80

그림 3-13 ip 명령을 이용한 IPv6 주소 삭제 ······················· 81

그림 3-14 ip 명령을 이용한 라우팅 설정 ·························· 82

그림 3-15 route 명령을 이용한 라우팅 설정 ······················· 83

목차IPv6 Security

Page 11: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

목차

IPv6 Security그림 3-16 ip 명령을 이용한 라우팅 설정 추가 ······················ 83

그림 3-17 route 명령을 이용한 라우팅 설정 ······················· 84

그림 3-18 터널링 ·········································· 85

그림 3-19 6to4 터널링 ······································ 86

그림 3-20 ip 명령을 이용한 터널링 설정 확인 ······················ 87

그림 3-21 tun6to4 인터페이스의 활성화 ·························· 89

그림 3-22 tun6to4 인터페이스에 로컬 6to4 주소 추가 ················ 90

그림 3-23 6to4 터널링의 테스트 ······························· 91

그림 3-24 ICMPv6 패킷 차단 테스트 1 ··························· 97

그림 3-25 ICMPv6 패킷 차단 테스트 2 ·························· 98

그림 3-26 IPv6 주소 확인 ··································· 113

그림 3-27 로벌 IPv6 주소의 자동설정1 ························· 114

그림 3-28 로벌 IPv6 주소의 자동설정2 ························ 115

그림 3-29 로벌 IPv6 주소의 자동설정3 ························ 115

그림 3-30 로벌 IPv6 주소의 자동설정4 ························ 116

그림 3-31 로벌 IPv6 주소의 자동설정5 ························ 116

그림 3-32 로벌 IPv6 주소의 자동설정6 ························ 117

그림 3-33 로벌 IPv6 주소의 자동설정7 ························ 117

그림 3-34 로벌 IPv6 주소의 자동설정8 ························ 118

그림 3-35 로벌 IPv6 주소의 자동설정9 ························ 118

그림 3-36 로벌 IPv6 주소의 자동설정10 ······················· 119

그림 3-37 로벌 IPv6 주소의 수동설정 ························· 119

그림 3-38 IPv6 주소의 적용 ································· 120

그림 3-39 6to4 터널 가상 인터페이스 생성 ······················· 121

그림 3-40 stf0 인터페이스에 로컬 6to4 게이트웨이 추가 ·············· 122

그림 3-41 IPv6 디폴트 게이트웨이 ····························· 123

그림 3-42 ping6 테스트 ···································· 124

그림 3-43 동적 모듈의 확인(Firewall 모듈 활성화 이전) ··············· 126

그림 3-44 IPv6 Firewall 모듈의 로딩 ··························· 126

그림 3-45 동적 모듈의 확인(Firewall 모듈 활성화 이후) ··············· 127

그림 3-46 동적 모듈의제거 ·································· 127

그림 3-47 Firewall 룰셋 열람(설정 이전) ························· 128

그림 3-48 접속시도(설정 이전) ································ 129

그림 3-49 ssh 접속 허용( b->a 접속요청) ························ 131

그림 3-50 트래픽 허용( a->b 접속요청) ·························· 131

그림 3-51 Firewall 룰셋 열람(설정 이후) ························· 132

그림 3-52 ssh 접속성공(설정 이후) ····························· 132

그림 3-53 Firewall에 의해 차단된 ICMP6 패킷 ···················· 133

그림 3-54 Firewall 룰의 삭제 ································ 133

그림 3-55 Firewall 룰셋 확인(룰 삭제 이후) ······················· 134

Page 12: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

한국인터넷진흥원에서는IPv6 네트워크환경에서의다양한공격에대한 피해를 예방하고 IPv6 보안에 대한 이해를 증진시키기 위하여IPv6 네트워크운 자와 IPv6 기반솔루션개발자를대상으로 IPv6보안기술해설서를발간한바있다.

본운 보안안내서는기술해설서에서설명한보안취약성에대한대응방안에 대해 실제적으로 조치할 수 있는 방법에 대해 소개한다.특히, 네트워크 운 에서 중요한 역할을 담당하고 있는 라우터에서의 운 보안 안내서를 발간함으로써 IPv6 네트워크 운 자에게최소한의보안을제공하기위한방법을소개하고자한다.

IPv6에서의 보안위협으로는 패킷 위변조, 허위 메시지 전송,사용자 및 호스트 위장, 서비스 거부공격 등의 위협이 있으며, IPv6에서기본적으로제공하는 IPSec을이용하여부분적인인증, 무결성,비 성 서비스를 제공받을 수 있으며, IPv6 기반 Firewall 또는라우터에서제공하는필터링기능을이용하여많은부분의보안위협에대응할수있다.

현재상용라우터시장은시스코사와주니퍼네트워크사의제품이많이사용되고있으며IPv6를지원하고있다. 또한6WIND를기반으로하는 IPv6 라우터 제품의 개발도 속속 이루어지고 있다. 따라서본 안내서에서는 시스코, 주니퍼, 6WIND 기반의 라우터 제품을대상으로 IPv6 운 보안을위한설정사항을알아보도록한다.

라우터에서 제공하는 IPSec기능을 이용하여 네트워크단에서의부분적인 인증, 무결성, 비 성 서비스를 제공할 수 있으며, 필터링기능을 이용하여 주소, 특정 프로토콜 메시지, 포트번호를 이용한공격에대응할수있다.

1 제1 장서론

88

IPv6 Security

Page 13: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

라우터에서는필터링기능을이용하여 ACL을구현한다. ACL은입력 인터페이스로 들어오는 패킷, 라우터를 통해 중계되는 패킷 및라우터의 출력 인터페이스로부터 나가는 패킷들을 제어하는 규칙의집합이다. ACL은 (그림 2-1)과 같이, 라우터가특정인터페이스를통한 트래픽 흐름을 어떻게 처리할 것인가 대한 조건들을 지정하여패킷들을 목적지로 전송할 것인지 또는 폐기할 것인지를 결정하기위하여필터링또는테스트하도록설정하는기능을담당한다.

시스코 라우터, 주니퍼 라우터, 6WIND기반 라우터 모두 기본적으로 ACL을 기능을 할 수 있는 트래픽 필터링 기능을 가지고 있으며, 이를정의하는이름은 [표 2-1]과같다.

라우터 ACL 정의이름

시스코 액세스 리스트

주니퍼 Firewall Filter

6WIND기반 IP Filter

라우터에서의 ACL 정의 이름표2-1

99

IPv6 Security

2제2 장상용라우터운 보안안내서

IPv6의 보안위협에 대해 라우터에서 대응할 수 있는 방법을 알아보도록한다. 라우터에서 대응할 수 있는 방법으로 접근통제목록을 이용한 필터링과IPSec이 있으며, 본 장에서는 국내외의 대표적인 라우터 개발업체인 시스코,주니퍼와 6WIND기반의 라우터를 대상으로 보안설정을 위한 방법을 소개한다. 각 라우터에 설치된 운 소프트웨어 버전에 따라 설정방법에 차이가 있을 수 있으며, 자세한 사항은 해당 매뉴얼 및 홈페이지를 참조하길 바란다.

접근통제목록(ACL: Access Control List)의개요 제 절1

Page 14: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

1. 시스코 라우터

시스코라우터에서의 ACL을 액세스 리스트로 정의하며 일반적으로두가지타입이존재한다.

▶표준 엑세스 리스트(Standard Access List) : 표준 액세스리스트는 라우팅 될 수 있는 패킷들의 발신지 주소를 검사한다. 이 결과는 발신지 네트워크/서브넷/호스트 IP주소를 기반으로 하여 전체 프로토콜에 대한 패킷 출력을 허용 또는 거부한다.

▶확장액세스리스트(Extended Access List) : 확장 IP 액세스리스트는 패킷의 발신지 주소와 목적지 주소를 동시에 검사한다. 이것은 특정 프로토콜, 포트번호 및 다른 인자들에 대해서도검사할수있다.

이러한액세스리스트는다음과같이적용될수있다.▶입력액세스리스트(Inbound Access List) : 출력인터페이스

로 라우팅되기 전에 입력 패킷들이 처리된다. 입력 액세스 리스트가 출력 리스트보다는 효과적이다. 왜냐하면 패킷이 필터링테스트에의해서버려진다면라우팅테이블에대한참조오버헤드를줄일수있다.

▶출력액세스리스트(Outbound Access List) : 입력된패킷들

1100

IPv6 Security

ACL 구현개요그림2-1

Page 15: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

이 출력 인터페이스로 라우팅된 후 전송 전에 출력 액세스 리스트를통해처리된다.

액세스 리스트 설정에서 출력리스트의 permit은 것은 데이터를출력버퍼로 보낸다는 것이고 deny는 패킷을 폐기한다는 의미이다.입력리스트의 permit은 입력 인터페이스에 패킷을 수신한 후에 패킷 처리를 계속한다는 의미이고, deny는 역시 폐기한다는 뜻이다.IP패킷의폐기될때 ICMP가발신지에게목적지에도달할수없다고알려주는특별한패킷을보낸다.

가. 액세스리스트구현시안내서액세스리스트는여러개의인터페이스들에적용될수있다. 그러

나 프로토콜, 방향 및 인터페이스 당 하나의 접근통제목록만이 존재할 수 있으며, 접근통제목록의 정렬순서는 매우 중요하다. 전반부에서 deny로 설정되어 폐기된다면, 이후 permit조건이 있어도 이를검사하지않고폐기한다.

다음은액세스리스트작성시일반적인권고사항이다.▶정의된프로토콜범위내에서접근통제목록번호들과리스트의

타입만을사용한다.▶프로토콜, 방향, 인터페이스는각각접근통제목록이하나만사

용된다. 여러 개의 접근통제목록들이 하나의 인터페이스에 설정될수있지만설정된프로토콜은서로상이해야한다.

▶ Top-down처리- 자주사용되는액세스설정조건을앞에위치시키도록한다.- FIFO의 순서를 따르도록 접근통제목록은 작성된다. 즉, 신규액세스설정은리스트의끝에삽입된다.

- 번호가 붙은 접근통제목록을 사용하면 접근통제목록 문장들을선택적으로추가하거나삭제할수없다. 그러나이름이부여된 IP 접근통제목록을사용할때에는가능하다.

▶ implicit deny all - explicit permit any를 액세스 리스트의 끝에 두지 않으면,

디폴트로액세스리스트조건에매칭되지않는모든트래픽

1111

IPv6 Security

2

Page 16: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

을거부할수있다.- 모든액세스리스트는적어도하나의 permit 설정을가지고있어야하며그렇지않으면모든트래픽이거부된다.

▶인터페이스에 적용하기 이전에 액세스 리스트를 만들어야 한다. 존재하지않는인터페이스나정의되지않은액세스리스트는모든트래픽을허용하도록적용된다.

▶액세스 리스트는 라우터를 통하는 트래픽만 필터링하며 라우터에서출발하는트래픽은필터링하지않는다.

나. 액세스리스트구현방법

●액세스리스트설정

●엑세스리스트적용

1122

IPv6 Security

1. enable

2. configure terminal

3. IPv6 access-list access-list-name

4. Permit {protocol}{source-ipv6-prefix|prefix-length|any|host source-

ipv6-address}[operator[port-number]]{destination-ipv6-perfix|prefix-

length|any|host destination-ipv6-address}[operator[port-number]][dscp

value][flow-label value][fragments][log][log-input][reflect name [timeout

value]][routing][time-range name][sequence value]

또는

deny {protocol}{source-ipv6-prefix|prefix-length|any|host source-ipv6-

address}[operator[port-number]]{destination-ipv6-perfix|prefix-

length|any|host destination-ipv6-address}[operator[port-number]][dscp

value][flow-label value][fragments][log][log-input][routing][time-range

name][undetermined-transport][sequence value]

1. enable

2. configure terminal

3. interface type number

4. ipv6 traffic-filter access-list-name {in|out}

Page 17: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

2. 주니퍼 라우터

주니퍼 라우터의 JUNOS상에서는 Firewall Filter를 이용하여ACL 기능을 수행한다. Firewall Filter는 term이라는 선언문 집합으로 구성되며 term은 다시 필터링시 여러 조건들을 정의하는match 선언문과match 선언문을통과한패킷의처리방법을기술하는action 선언문으로구성된다.

Firewall Filter의설정순서는다음과같다.

Firewall Filter의 이름은“set firewall family inet6 filter”명령어를 사용하여 설정할 수 있으며, term 이름의 설정 시는 하나의Firewall Filter안에서는고유의이름을가져야한다. Match 선언문은 from [match 조건] 키워드를사용하여필터링조건을설정할수있으며 하나의 term에 여러 개의 match 선언문을 적용하여 다양한조건으로필터링할수도있다. 상세한match 조건들은매뉴얼을참고할수있으며, 주요한match 조건은 [표 2-2]와같다.

match 선언문을작성한후에는조건에일치할때, 수행하여야하는 사항을 정의한다. 이를 정의하는 것이 action 선언문이며, “setfirewall family inet6 filter <filtername> then [action]”명령어를 사용하여 설정이 가능하다. action 선언을 정의하지 않은 경우에는 해당 match 조건은 무시되며, 모든 term과의 비교를 수행한 후에도 match되는 조건이 없으면 해당 패킷은 폐기한다. [표 2-3]은action 절을설명하고있다.

1133

IPv6 Security

2·Firewall Filter 이름설정

·Term 이름설정

·Match 선언문작성

·Action 선언문작성

Page 18: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

조건 설명

address 발신지 또는 목적지 IP 주소가 일치해야 한다.

destination-address 목적지 IP 주소가 일치해야 한다.

destination-class 목적지 클래스가 일치해야 한다.

destination-class-except 목적지 클래스가 일치하지 않아야 한다.

destination-port 목적지 TCP/UDP 포트가 일치해야 한다.

destination-port-except 목적지 TCP/UDP 포트가 일치하지 않아야 한다.

destination-prefix-list 목적지 IP 주소가 Prefix 목록과 일치해야 한다.

forwarding-class 포워딩 클래스와 일치해야 한다.

forwarding-class-except 포워딩 클래스와 일치하지 말아야 한다.

icmp-code ICMP 메시지 코드가 일치해야 한다.

icmp-code-except ICMP 메시지 코드가 일치해야 한다.

icmp-type ICMP 메시지 타입이 일치해야 한다.

icmp-type-except ICMP 메시지 타입이 일치하지 않아야 한다.

interface 인터페이스명이 일치해야 한다.

interface-group 인터페이스 그룹과 일치해야 한다.

interface-group-except 인터페이스 그룹과 일치하지 말아야 한다.

interface-set 인터페이스 셋과 일치해야 한다.

next-header IP 프로토콜이 일치해야 한다.

next-header-except IP 프로토콜이 일치하지 말아야 한다.

packet-length 패킷의 길이가 일치해야 한다.

packet-length-except 패킷의 길이가 일치하지 말아야 한다.

port 발신지 또는 목적지 TCP/UDP 포트가 일치해야 한다.

port-except 발신지 또는 목적지 TCP/UDP 포트가 일치하지 않아야 한다.

prefix-list 발신지 또는 목적지 주소가 Prefix 목록과 일치해야 한다.

source-address 발신지 IP가 일치해야 한다.

source-class 발신지 클래스가 일치해야 한다.

source-class-except 발신지 클래스가 일치하지 않아야 한다.

source-port 발신지 포트가 일치해야 한다.

source-port-except 발신지 포트가 일지하지 않아야 한다.

source-prefix-list 발신지 IP 주소가 Prefix 목록과 일치해야 한다.

traffic-class DSCP 코드 값이 일치해야 한다.

traffic-class-except DSCP 코드 값이 일치하지 말아야 한다.

Firewall Filter의 match 조건표2-2

1144

IPv6 Security

Page 19: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-2)는 필터이름 정의부터 action 선언문을 생성하기까지의 예이며, RE-SECURE라는 이름의 필터를 생성하고, BLOCK-LIST라는 term 선언문에패킷의소스주소가일치해야한다는조건을작성하고, 해당 조건에부합시 accept라는 절차를통하여조건에맞는패킷은수락하고전송한다는Firewall 필터를보여주고있다.

위에서 설정한 내용들은 시스코 라우터에서 액세스 리스트를 생성하고 permit, deny문을 이용하여 트래픽 필터링을 위한 조건을생성한 것과 같으며, 마지막으로 적합한 인터페이스에 생성된 조건목록을 적용하는 절차가 필요하다. 인터페이스에 정의한 필터를 적용하기 위해서는“set interfaces [interface-name] unit [unit-number] family inet6 filter [input|output] [Firewall Filter-

Firewall Filter의사용예그림2-2

lab@kisa# edit firewall family inet6 filter RE-SECURE

lab@kisa# set term BLOCK-LIST from source-address fec0:1:1:2004::1

lab@kisa# set term BLOCK-LIST then accept

Action 설명

accept 패킷을 수락하고, 전송한다.

reject 패킷을 전송하지 않고 폐기한다. (ICMP 패킷 발생)

discard 패킷을 전송하지 않고 폐기한다.

count 조건에 맞는 패킷 개수를 계산한다.log시스템 메모리에 패킷 로그를저장한다.

syslog syslog에 패킷 로그를 저장한다.

forwarding-class Forwarding-class를 설정한다.

loss-priority PLP(Packet Loss Priority)를 설정한다.

policer Rate-Limit을 설정한다.

routing-instance 패킷을 수락하고, 지정된 routing instance를 참조해서 라우팅 한다.

next termfirewal filter내의 다음 term을 참조한다.

Firewall Filter의 action 정의표2-3

1155

IPv6 Security

2

Page 20: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

name]”명령어를 이용한다. (그림 2-3)은 인터페이스 적용 설정 예이다. 루프백 인터페이스에 RE-SECURE라는 이름의 FirewallFilter를인터페이스의입력방향으로적용한것이다.

3. 6WIND기반 라우터

6WIND기반 라우터는 6WINDGate를 통해 IPv4 또는 IPv6 트랙픽을 필터링하며 IP filter를 통하여 ACL을 설정할 수 있다. 필터링 규칙은 (그림 2-4)와 같이 시퀀스 번호(number), 패킷 선택자(packet_selector)와행동선택자(action_selector)로구성된다.

●패킷선택자

패킷 선택의 파라미터 형식은 (그림 2-5)과 같으며, 모든 옵션사항은독립적으로또는함께사용가능하다.

Firewall Filter의인터페이스적용예그림2-3

lab@kisa# set interfaces lo0 unit 0 family inet6 filter input RE-SECURE

IP Filter ‘Rule’설정기법그림2-4

uroad1{acl-fil} rule [number] [packet_selector] do action_selector

패킷선택파라미터형식그림2-5

[processing PROCESSING][receive INTERFACE][transmit

INTERFACE][ipv4][ipv6][protocol PROTOCOL][from SOURCE][to

DEST][fragment][STATE][EXPIRE][STATUS]

1166

IPv6 Security

Page 21: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

패킷 선택자들은 하나의 규칙에 한번씩만 정의되어야 한다. 패킷선택자파라미터에대한설명은 [표 2-4]와같다.

●행동선택자행동선택자는‘allow’, ‘deny’, ‘reject reply’, ‘log’옵션이존

재하며 [표 2-5]에서 이를 설명하고 있다. [표 2-6]은 icmp errorcode를정의하고있다.

파라미터 설 명

필터링할 패킷 대상을 설정

processing PROCESSING - input : 자신이 목적지로서 입력되는 패킷- output : 자신이 발신지로서 출력되는 패킷- forward : 자신을 통과하는 패킷

receive INTERFACE 패킷의 입력 인터페이스에 조건을 추가

transmit INTERFACE 패킷의 출력 인터페이스에 조건을 추가

규칙을 적용할 IP의 상위계층 프로토콜 정의, not 키워드가추가 되었을 때에는 명시한 전송계층 프로토콜을 제외하고모두 규칙을 적용할 대상이 됨

protocol PROTOCOL [not] - protocol tcp [not] mask syn rst ack flags syn do deny

- protocol icmp [not] [type code | string]- protocol ipv6-icmp [not] [type code | string]

from [not] ADDRESS 발신지 주소정의 및 포트번호 정의

[[not]PORT] - any의 경우는 모든 주소를 정의- no의 경우는 모든 주소 검사의 반대설정

to [not] ADDRESS [[not]PORT] 수신지 주소정의 및 포트번호 정의

패킷 선택자 파라미터 정의표2-4

파라미터 설 명

allow 규칙에 맞는 패킷을 허용

deny 규칙에 맞는 패킷을 폐기

reject reply [icmp error code] 규칙에 맞는 패킷을 폐기하고 송신자에 에러 패킷 전송

log 로그정보를 남김

행동 선택자 파라미터 정의표2-5

1177

IPv6 Security

2

Page 22: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

필터링규칙을설정하고‘enable filter’명령을통해 IP Filter를적용하는절차를마치고필터설정사항을보면 (그림 2-6)과같은화면을볼수있다.

패킷 선택자의 processing 옵션에 따라 필터링 규칙이 분리되어설정사항을볼수있다. 예를들어‘forward’체인은중계패킷을대상으로 한다는 의미이며 필터링 규칙 20000의 경우 출력방향에 소스및목적지주소가무엇이든지모두허용한다는의미를갖고있다.

IPv4 IPv6 IPv4 및 IPv6 공통

icmp-admin-prohibited icmp6-adm-prohibited port-unreach

icmp-host-prohibited icmp6-addr-unreachable tcp-reset

icmp-network-prohibited icmp6-port-unreachable -

icmp-network-unreachable - -

icmp-host-unreachable - -

icmp-protocol-unreachable - -

icmp-port unrechable - -

icmp error code표2-6

1188

IPv6 Security

IP Filter 설정화면예그림2-6

Page 23: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

IPv6에서는기본적으로차단하거나예외적으로허용해야하는메시지 타입, 주소, 포트 등이 존재한다. 본 절에서는 IPv6에서의 보안공격에대응하기위한한가지방법으로ACL을설정하는방법과 IPv6에서기본적으로제공되는IPSec의설정방법에대하여기술한다.

1. IPv6 보안을 위한 기본 ACL 설정

IPv6에서는 기본적으로 필터링이 권고되는 IP패킷이 있다. 네트워크의 보안을 위하여 링크로컬주소를 소스주소로 명시된 경우 1홉이상 전달되지 않도록 해야 하며, 멀티캐스트 주소 또한 서비스거부공격 등에 대비하기 위하여 허용된 멀티캐스트 주소 이외에는 차단하도록해야하며, ICMP패킷중네트워크공격에사용될수있는패킷은일부메시지타입과주소에의해차단할수있어야한다.

이외에 확장 및 옵션 헤더 또는 메시지 내용에 따라 패킷을 필터링하는경우는 Firewall 등을이용하여야하며자세한내용은 4절에서다루도록한다.

기본적인제어규칙은 [표 2-7]과같으며, 각네트워크환경에따라필터링되어야할주소목록을추가하거나삭제하여사용해야한다.

1199

IPv6 SecurityIPv6 라우터에서의기본보안설정 제 절2 2

Page 24: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

가. 시스코라우터에서의액세스리스트설정방법IPv6에서 액세스 리스트를 생성하기 위해서는 먼저 라우터상에

설정되어 있는 입출력 인터페이스의 IPv6 주소를 알고 있어야 하며‘configure terminal’모드에서’show configuration’명령을수행하여 환경설정정보를 볼 수 있다. (그림 2-7)은 라우터 설정정보의사용예이다.

필터링 대상 허용/차단 보안취약점 설명

허위로 링크범위의 주소를 링크로컬 주소가 소스주소로FE80::/10 차단 생성하여 데이터를 보내어 정의되어 라우터 1홉이상

주소 스푸핑 공격 등에 전송되는 것을 방지활용가능

허위로 멀티캐스트 주소를 멀티캐스트 주소가 소스주소로FF00::/8 차단 생성하여 스푸핑 공격 등에 정의되어 전송되는 것을

활용가능 방지

멀티캐스트 주소를 이용하여FF00::/8 차단 서비스 거부공격 등에 멀티캐스트 주소인 것 차단

활용가능

FF02::/10 허용 정상적인 패킷 차단 우려 링크로컬 범위의 멀티캐스트주소 허용

FF05::/10 허용 정상적인 패킷 차단 우려 사이트로컬 범위의멀티캐스트 주소 허용

사용자가 가입한 로벌FF00::1/128 허용 정상적인 패킷 차단 우려 주소 범위의 멀티캐스트

주소 허용

ICMP ICMP의 응답을 ICMP메시지 응답을mulitcast 차단 멀티캐스팅으로 수행하여 멀티캐스트주소로 하는 경우reply 서비스 거부 공격 유도 차단

Packet 허용 정상적인 패킷 차단 우려 예외적으로 멀티캐스트 주소로too big 응답허용

Parameter 허용 정상적인 패킷 차단 우려 예외적으로 멀티캐스트 주소로Problem 응답허용

redirect 차단 올바르지 않은 경로로 유도 redirect 타입을 차단

echo 차단 서비스거부 공격으로 악용가능 echo request 타입을 차단request

IPv6 네트워크에서 권장하는 기본 ACL 설정대상 리스트표2-7

소스주소

멀티캐스트

ICMP

2200

IPv6 Security

Page 25: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

또한 액세스 리스트를 생성하려면 라우터상의 환경설정 모드로들어가야한다. 이를위해서는 (그림 2-8)의 (a)와 같은절차가필요하며, (b)는실행예이다.

2211

IPv6 Security

2라우터설정정보예그림2-7

Page 26: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

환경설정모드로 진입한 후에는 액세스 리스트를 설정한다. [표2-6]에서와같은규칙으로액세스리스트를설정한다. (그림 2-9)는IPv6 액세스 리스트 설정시, 리스트 이름을 정의하는 명령으로‘kisa’로정의한것을볼수있다.

(그림 2-10)은 소스주소를 링크로컬주소로 하 을 때, 라우터를한 홉 이상 전달되지 않도록 설정하는 명령이다. 소스주소가 링크로컬주소인 경우, 목적지 또한 링크로컬주소 범위일 경우는 허용하며,그이외의범위로전달되는패킷을차단하도록설정한다.

액세스리스트편집을위한환경설정모드진입절차그림2-8

1. enable

2. 패스워드입력

3. configure terminal

(a) 환경설정모드 진입명령

(b) 환경설정모드 진입예제

액세스리스트이름정의명령그림2-9

2691(config)# ipv6 access-list kisa

2222

IPv6 Security

Page 27: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-11)은멀티캐스트주소의필터링규칙으로링크로컬유니캐스트주소를소스로하여링크로컬멀티캐스트주소로전송하는것은허용하지만소스주소가링크로컬멀티캐스트주소인경우폐기하며, 사이트범주의 멀티캐스트 주소 및 광역의 멀티캐스트 주소는 허용하나 그 이외의 멀티캐스트 주소는 모두 거부하고 멀티캐스트 주소의형태가소스주소로오는경우도거부하도록설정한다.

(그림 2-12)는 ICMP프로토콜 관련 규칙을 설정하는 명령이다.IPv6에서는 제어메시지의 대부분이 ICMP메시지를 통해 전달되기때문에 라우터에서는 기본적으로 메시지를 허용하고 특별한 경우에메시지를 차단하는 방법으로 규칙을 설정한다. ICMP패킷은 기본적으로멀티캐스트주소로응답하는것을차단하도록하며예외적으로‘packet-too-big’, ‘parameter-problem’타입만을 허용하도록한다. ICMP메시지 타입 중 ’echo-request’및‘redirect’타입은차단하도록 하며 그 이외의 타입은 모두 허용하도록 설정한다.

멀티캐스트주소ACL 명령설정그림2-11

2691(config-ipv6-acl)# permit ip fe80::/10 ff02::/16

2691(config-ipv6-acl)# deny ip ff02::/16 any

2691(config-ipv6-acl)# permit ip any ff05::/10

2691(config-ipv6-acl)# permit ip any ff00::1/128

2691(config-ipv6-acl)# permit ip any ff00::2/128

2691(config-ipv6-acl)# permit ip any ff00::3/128

2691(config-ipv6-acl)# deny ip any ff00::/10

2691(config-ipv6-acl)# deny ip ff00::/10 any

링크로컬범위의소스주소필터링규칙설정그림2-10

2691(config-ipv6-acl)# permit ip fe80::/10 fe80::/10

2691(config-ipv6-acl)# deny ip fe80::/10 any

2233

IPv6 Security

2

Page 28: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

ICMP패킷의차단및허용목록은네트워크관리자에따라유연하게더많은사항을차단또는허용할수있다.

(그림 2-13)은 시스코 라우터에서 액세스 리스트를 설정한 화면으로 소스주소, 멀티캐스트 주소, ICMP프로토콜 관련 설정사항을모두‘kisa’라는 액세스 리스트에 입력한 것을 볼 수 있다. 여기서주목할 것은 접근통제목록 검사를 선입선출(FIFO: First In FirstOut)의순서로한다는것이다.

멀티캐스트주소ACL 명령설정그림2-12

2691(config-ipv6-acl)# permit icmp any ff00::/8 2

2691(config-ipv6-acl)# permit icmp any ff00::/8 4

2691(config-ipv6-acl)# deny icmp any ff00::/8

2691(config-ipv6-acl)# deny icmp any any echo-request

2691(config-ipv6-acl)# deny icmp any any redirect

2691(config-ipv6-acl)# permit icmp any any

시스코라우터에서액세스리스트설정사항그림2-13

2244

IPv6 Security

Page 29: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

마지막으로 (그림 2-14)와 같이 설정사항 이외의 모든 패킷은 허용한다는ACL 문장을추가하여야한다. 그렇지않을경우, 묵시적으로모든패킷이차단될수있다.

(그림 2-15)는 액세스 리스트를 모두 작성한 후에 인터페이스에적용하는 명령을 보여주고 있으며, 라우터상의 인터페이스FastEthernet0/1-”2001:220:1302:16::17“에 적용하는 예이며 라우터상의입력되는패킷에대하여 kisa 접근통제목록을적용하도록하고있다.

이 때, 설정한 액세스 리스트를 삭제하고 싶을 때에는 (그림 2-16)과같은명령을이용하여리스트를삭제할수있다.

FastEtherent0/1 인터페이스에kisa 접근통제목록적용예그림2-15

모든IP트래픽을허용하는ACL 명령설정그림2-14

2691(config-ipv6-acl)# permit ip any any

액세스리스트삭제명령그림2-16

2691(config-ipv6-acl)# no ipv6 access-list kisa

2255

IPv6 Security

2

Page 30: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-17)은 현재 ACL 설정후의 ACL 리스트를보여주는예이다. 인터페이스에 적용을 한 후 다시 kisa 액세스 리스트를 보면“permit ipv6 FE80::/10 FF02::/16 sequence 20”문장에 5286번의필터링검사가이루어지는것을알수있다.

나. 주니퍼라우터에서의Firewall Filter 설정방법본항에서는주니퍼라우터에서Firewall Filter를설정한방법에

대해 알아보며 각 설정사항에 대한 자세한 것은 [표 2-6]과 시스코라우터에서의설정사항부분의설명을참조하길바란다.

IPv6 Firewall Filter를 생성하기 위해서는 먼저 라우터상에 설정되어 있는 입출력 인터페이스의 IPv6 주소를 알고 있어야 한다.(그림 2-18)은라우터의설정정보를보여주는예이다.

인터페이스적용후액세스리스트화면그림2-17

2266

IPv6 Security

Page 31: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

또한 Firewall Filter를 생성하려면 라우터상의 환경설정 모드로들어가야한다. 이를위해서는 (그림 2-19)와같은절차가필요하다.

IPv6에서의 기본 Firewall Filter를 설정하기 위해서는 다음과같은 10개의‘term’문이 필요하다. 주니퍼 라우터에서 액세스리스트를설정한예는 (그림 2-20), (그림 2-21)과같다.

▶ linklocal-accept : 발신지주소가링크로컬이면서, 목적지주소가 링크로컬이나 링크로컬 멀티캐스트 주소인 경우 허용하기위한것으로라우터자신과의통신시검사한다.

라우터의설정정보예그림2-18

lab@kisa> show configuration interfaces

ge-1/1/1 {

unit 0 {

family inet6 {

address fec0:0:0:1111::1/64;

}

}

lo0 {

unit 0 {

family inet6 {

address fec0:2:2:2004::1/128;

}

}

}

Firewall Filter 편집을위한환경설정모드진입절차그림2-19

lab@kisa> configure

Entering configuration mode

2277

IPv6 Security

2

Page 32: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

▶ linklocal-deny : 발신지주소가링크로컬이거나링크로컬멀티캐스트인데 목적지 주소가 로컬이 아닌 경우 모두 차단하여부적절한변형된패킷의라우팅및전송방지한다.

▶multicast-accept : 허용된 멀티캐스트 주소, ff00::1/128,ff00::2/128, ff00:3/128 만을허용한다.

▶ icmp-packet-too-big-accept : ICMP프로토콜의‘packet-too-big’타입의 수신지 주소가 멀티캐스트 주소인경우예외적으로허용한다.

▶ icmp-parameter-problem-accept : ICMP프로토콜의‘parameter-problem’타입의 수신지 주소가 멀티캐스트 주소인경우예외적으로허용한다.

▶multicast-deny : 그 밖의모든멀티캐스트의라우팅및전송을방지하여무단으로악용되는것을방지한다.

▶ icmp-multicast-src-deny : ICMP 패킷의발신지주소가멀티캐스트주소이면차단한다.

▶ icmp-echo-request-deny : ICMP 패킷의 type이 echo-request이면차단한다.

▶ icmp-redirect-deny : ICMP 패킷의 type이 redirect이면차단한다.

▶ default : 상기의차단규정에적용되지않는모든트래픽허용한다.

※기존 ipv4의 filter 설정과 유사하지만, “family inet6”이라는 별도의 블록이 추

가된 점과 ipv4의“protocol”이라는 키워드 대신 ipv6에서는“next-header”

라는 키워드를 사용한다는데 주의할 것

2288

IPv6 Security

Page 33: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

주니퍼라우터에서의Firewall Filter 설정그림2-20

[edit firewall family inet6 filter kisa]lab@kisa# show term linklocal-accept {

from {source-address {

fe80::/10;}destination-address {

fe80::/10;ff02::/16;

}}then accept;

}term linklocal-deny {

from {source-address {

fe80::/10;ff02::/16;

}}then discard;

}term multicast-accept {

from {destination-address {

ff00::1/128;ff00::2/128;ff00::3/128;

}}then accept;

}term icmp-packet-too-big-accept {

from {detination-adderss {

ff00::/8;} next-header icmpv6;icmp-type packet too big;

}then accept;

}term icmp-parameter-problem-accept {

from {detination-adderss {

ff00::/8;} next-header icmpv6;icmp-type parameter problem;

}then accept;

}

2299

IPv6 Security

2

Page 34: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

주니퍼라우터에서의Firewall Filter 설정-계속-그림2-21

term multicast-deny {from {

destination-address {ff00::/8;

}}then discard;

}term icmp-multicast-src-deny {

from {source-address {

ff00::/8;}next-header icmpv6;

}then discard;

}term icmp-echo-request-deny {

from {next-header icmpv6;icmp-type echo-request;

}then discard;

}term icmp-redirect-deny {

from {next-header icmpv6;icmp-type redirect;}

}then discard;

}term default {

then accept;}

주니퍼라우터에서‘kisa’Firewall Filter를인터페이스에적용그림2-22

lab@kisa# show interfaces so-0/0/0 unit 0 {

family inet6 {filter {

input kisa;}address fec0:0:0:2222::2/64;

}}

3300

IPv6 Security

Page 35: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-22)는설정한‘kisa’Firewall Filter를인터페이스에적용하는 절차를 보여주고 있다. 입력인터페이스‘fec0:0:0:2222::2/64’에’kisa‘ Firewall Filter를적용하는과정이다.

다. 6WIND기반 IPv6라우터에서 IP Filter 설정방법

본 항에서는 6WIND기반의 IPv6라우터에서 IP Filter 설정사항에 대하여 알아보도록 하며, 각각 설정사항에 대한 이론적 설명은[표 2-6]과‘가’항을참조하길바란다. 6WIND기반의 IPv6라우터에서 IP Filter를 설정하기 위해서는 시스코 또는 주니퍼 라우터와 마찬가지로 현재 인터페이스가 어떻게 설정되어 있는가를 확인하여야한다. (그림 2-23)은‘sh interface’명령을이용하여인터페이스설정상태를 보는 것으로 총 4개의 인터페이스가 존재하는 것을 볼 수있다.

IP Filter를 설정하기 위해서는 액세스리스트 설정모드로 진입해야한다. 이를위한명령어는 (그림 2-24)의 (a)와같으며, 이를적용하여설정모드로진입한예가 (그림 2-24)의 (b)이다. 이와함께, (b)에서는‘display’명령을이용하여현재 IP Filter 설정사항이없음을보여주고있다.

3311

IPv6 Security

26WIND기반라우터인터페이스설정그림2-23

Page 36: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

이제 IP Filter규칙을 설정하도록 한다. [표 2-6]의 사항에 따라규칙을 정하면 링크로컬 범위의 유니캐스트 및 멀티캐스트 주소가 1홉이상 전달되는것을 방지하기위해서는 <그림 2-25>와 같이 설정할 수 있다. (그림 2-25)에서는 링크범위의 소스주소를 가진 IPv6패킷의 경우, 수신지 주소 또한 링크범위의 주소인 경우는 허용하고그이외의경우는모두차단하도록설정하 다. 예를들어, IP Filter규칙 1100번의경우를살펴보면인터페이스 eth2_0의인터페이스로수신하는패킷중입력또는중계되는패킷에대하여발신지주소프리픽스 fe80::/10이고 수신지 주소 프리픽스가 fe80::/10인 경우에는해당패킷을허용한다는의미이다.

6WIND기반라우터IP Filter 설정모드진입그림2-24

uroad1{} edit acl

uroad1{acl} fil

uroad1{acl-fil}

(a) 명령형식

(b) 설정모드 진입 예

3322

IPv6 Security

Page 37: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-26)은멀티캐스트주소관련설정사항으로허용된멀티캐스트 주소 이외에는 차단하도록 설정하며, 발신지 주소가 멀티캐스트주소인경우도차단하도록설정하 다.

(그림 2-27)은 ICMP패킷에 대한 제한사항으로 ICMP패킷의 경우는 기본적으로 허용하도록 하고, 타입별로 차단하도록 설정한다.또한 멀티캐스트 주소를 이용한 응답은 예외상황을 제외하고 모두

링크로컬범위의주소제한설정그림2-25

uroad1{acl-fil} rule 1100 processing input forward receive eth2_0 ipv6 from

fe80::/10 to fe80::/10 do allow

uroad1{acl-fil} rule 1200 processing input forward receive eth2_0 ipv6 from

fe80::/10 to ff02::/16 do allow

uroad1{acl-fil} rule 1300 processing input forward receive eth2_0 ipv6 from

fe80::/10 do deny

uroad1{acl-fil} rule 1400 processing input forward receive eth2_0 ipv6 from

ff02::/16 do deny

멀티캐스트주소제한설정그림2-26

uroad1{acl-fil} rule 1500 processing input forward receive eth2_0 ipv6 from

any to ff05::/16 do allow

uroad1{acl-fil} rule 1600 processing input forward receive eth2_0 ipv6 from

any to ff00::1/128 do allow

uroad1{acl-fil} rule 1700 processing input forward receive eth2_0 ipv6 from

any to ff00::2/128 do allow

uroad1{acl-fil} rule 1800 processing input forward receive eth2_0 ipv6 from

any to ff00::3/128 do allow

uroad1{acl-fil} rule 1900 processing input forward receive eth2_0 ipv6 from

any to ff00::/8 do deny

uroad1{acl-fil} rule 2000 processing input forward receive eth2_0 ipv6 from

ff00::/8 to any do deny

3333

IPv6 Security

2

Page 38: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

차단하고, ICMP패킷의 특정타입인 echo-request, redirect타입을차단한다.

마지막으로 설정사항 이외의 모든 패킷을 허용하기 위해 (그림2-28)과같은설정을마지막에위치하도록한다.

설정한 IP Filter를 (그림 2-29)과 같이 eth2_0인터페이스에 설정한다. 시스코라우터와는달리, 인터페이스설정을 IP Filter 규칙설정시지정하며 IP Filter를활성화함으로써해당규칙이적용되록하는방식을사용하고있다.

3344

IPv6 Security

ICMP패킷제한설정그림2-27

uroad1{acl-fil} rule 2100 processing input forward receive eth2_0 ipv6

protocol ipv6-icmp packet-too-big from any to ff00::/8 do allow

uroad1{acl-fil} rule 2200 processing input forward receive eth2_0 ipv6

protocol ipv6-icmp parameter-problem from any to ff00::/8 do allow

uroad1{acl-fil} rule 2300 processing input forward receive eth2_0 ipv6

protocol ipv6-icmp from any to ff00::/8 do deny

uroad1{acl-fil} rule 2400 ipv6 protocol ipv6-icmp echo-request from any to

any do deny

uroad1{acl-fil} rule 2500 ipv6 protocol ipv6-icmp redirect from any to any

do deny

uroad1{acl-fil} rule 2600 ipv6 protocol ipv6-icmp from any to any do allow

설정이외의패킷허용규칙그림2-28

uroad1{acl-fil} rule 20000 ipv6 from any to any do allow

설정한액세스리스트적용명령그림2-29

uroad1{acl-fil} enable filter

Page 39: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

2. IPSec 설정

IPv6에서는 기본적으로 IPSec을 지원하고 있으며, 통신 또한AH 또는 ESP헤더를 통하여 패킷을 전송하도록 권고하고 있다. 이에 대한 자세한 사항은 IPv6 보안기술 해설서를 참조하길 바란다.IPSec을 이용하여 VPN을구성하는방식은‘static’방식, 동적인방식으로’preshared-key’방식과CA를이용한 IPSec설정방식이있다. ‘static’방식은 IKE 과정을수행하기어려운경우에관리자가키값을 임의로 입력하여 설정하는 방식이다. 동적인 방식은 IKE가 가능한 환경에서 수행가능하며, 이중 ’preshared-key’방식은 미리공유된키값을이용하여 IPSec을 설정하며, 마지막방식은 CA로부터의 인증서를 발급받아 IPSec을 설정하는 방식이다. 본 항에서는시스코, WIND6기반라우터에서설정하는방식을설명한다.

가. 시스코라우터에서 IPSec 설정시스코 라우터에서는 Preshared Key 방식으로 IPSec을 설정한

다. IPSec 설정을 위해서는 IKE 정책 및 Preshared Key의 생성,ISAKMP Aggressive 모드의 구성, IPSec Transform Set과IPSec Profile의 구성, IPv6 ISAKMP Profile의 구성, IPv6 IPSecVTI를구성하는순서에따른다.

IPSec 설정을위한네트워크구축환경은 (그림 2-30)과같다.

시스코라우터의IPSec 설정을위한네트워크구축환경그림2-30

시스코라우터

2001:220:1032:16::50

2001:220:1032:16::17

2001:220:1032:8::9/64

2001:220:1032:8::60

3ffe:b00:c18:1::2/64

3ffe:b00:c18:1::1/64B:eth2_0

A:eth2_0

A1:eth0

A<->B : vpn 터널설정구간A1<->B1 : ikasmp 설정구간

B1:eth0_0

3355

IPv6 Security

2

Page 40: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

1) IKE정책및Preshared Key의생성

①privileged EXEC mode를실행한다. 프롬프트가나오면비번호를입력한다.*명령어 : enable

② global configuration mode로들어간다.*명령어 : configure terminal

③ IKE policy를 정의하고, ISAKMP policy configurationmode로 들어간다. 참고로 Policy number 1이 최우선을나타내며아래그림에서는정책우선순위를 15로정의하고있다.*명령어 : crypto isakmp policy priority

④ IKE policy내의 인증방법을 지정한다. rsa-sig와 rsa-encr는 IPv6에서지원하지않는다.*명령어 : authentication {rsa-sig | rsa-encr |

pre-share}

⑤ IKE policy내의해쉬알고리즘을지정한다.*명령어 : hash {sha | md5}

2811(config-isakmp-policy) # hash md5

2811(config-isakmp-policy) # authentication pre-share

2811(config) # crypto isakmp policy 15

2811# configure terminal

2811> enable

3366

IPv6 Security

Page 41: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

⑥ IKE policy내의Diffie-Hellman group id를지정한다.*명령어 : group {1 | 2 | 5}

⑦ IKE policy내의암호알고리즘을지정한다.*명령어 : encryption {des | 3des | aes | aes 192 |

aes 256}

⑧ IKE SA의 lifetime을 지정한다. IKE lifetime 값을 세팅하는것은옵션이다.*명령어 : lifetime seconds

⑨ ISAKMP policy configuration mode와 global configuration mode에서나간다.*명령어 : exit

⑩ preshared authentication key를구성한다.*명령어 : crypto isakmp key enc-type-digit keystring

{address peer-address [mask] | ipv6 {ipv6-address | ipv6-prefix} | hostname hostname} [no-xauth]

2811(config) # crypto isakmp key 0 my-preshare-key-0 address

ipv6 3ffe:b00:c18:1::1/64

2811(config-isakmp-policy) # exit

2811(config-isakmp-policy) # lifetime 43200

2811(config-isakmp-policy) # encryption 3des

2811(config-isakmp-policy) # group 2

3377

IPv6 Security

2

Page 42: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

⑪ IKE 인증과정에서사용되는 crypto keyring을정의한다.*명령어 : crypto keyring keyring-name

[vrf fvrf-name]

⑫ IKE 인증과정에서사용되는preshared key를정의한다.*명령어 : pre-shared-key {address address [mask] |

hostname hostname | ipv6 {ipv6-address | ipv6-prefix}} key key

2) ISAKMP Aggressive 모드구성

①privileged EXEC mode를실행한다. 프롬프트가나오면비번호를입력한다.

② global configuration mode로들어간다.

③터널의 특성을 설정하기위한 IKE 쿼리를 통해 IPSec 피어를동작시킨다.*명령어 : crypto isakmp peer {address {ipv4-address

|ipv6 ipv6-address ipv6-prefix-length} |hostname fqdn-hostname}

2811(config) # crypto isakmp peer address ipv6 3ffe:b00:c18:1::2/64

2811(config-keyring) # pre-shared-key ipv6 3ffe:b00:c18:1::2/64

2811(config) # crypto keyring keyring1

3388

IPv6 Security

Page 43: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

④aggressive mode negotiation 에서 사용될 remote peer의IPv6 주소를정의한다. remote peer의 주소는주로클라이언트측의종단주소로사용된다.*명령어 : set aggressive-mode client-endpoint

{client-endpoint | ipv6 ipv6-address}

3) IPSec Transform Set과 IPSec Profile 구성

①privileged EXEC mode를실행한다. 프롬프트가나오면비번호를입력한다.

② global configuration mode로들어간다.

③ transform set을 정의하고, 라우터를 crypto transformconfiguration mode로놓는다.*명령어 : crypto ipsec transform-set transform-set-

name transform1 [transform2] [transform3] [transform4]

④두개의 IPSec 라우터간의 암호화를 위해 사용되는 IPSecparameters를정의한다.*명령어 : crypto ipsec profile name

2811(config) # crypto ipsec profile profile0

2811(config) # crypto ipsec transform-set myset0 ah-sha-hmac

esp-3des

2811(config-isakmp-peer) # set aggressive mode client-endpoint

ipv6 3ffe:b00:c18:1::2/64

3399

IPv6 Security

2

Page 44: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

⑤어떤 transform set이 crypto map entry로 사용될 수 있는지지정한다.*명령어 : set transform-set transform-set-name

[transform-set-name2 ... transform-set-name6]

4) IPv6 ISAKMP Profile 구성

①privileged EXEC mode를실행한다. 프롬프트가나오면비번호를입력한다.

② global configuration mode로들어간다.

③ ISAKMP profile을 정의하고, IPSec user session을 감사(audit)한다.*명령어 : crypto isakmp profile profile-name

[accounting aaalist]

④ local IKE가 remote peer에게 자신을 식별하는데 사용하는identity를정의한다.*명령어 : self-identity {address | address ipv6] | fqdn

|user-fqdn user-fqdn}

2811(config-isakmp-profile) # self-identity address ipv6

2811(configg) # crypto ipsec profile profile1

2811(config-crypto-transform) # set-transform-set myset0

4400

IPv6 Security

Page 45: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

⑤ ISAKMP profile내의 remote peer와 identity를일치시킨다.*명령어 : match identity {group group-name | address

{address [mask] [fvrf] | ipv6 ipv6-address} | host host-name | host domain domain-name | user user-fqdn | user domain domain-name}

5)IPv6 IPSec VTI(Virtual Tunnel Interface) 구성

①privileged EXEC mode를실행한다. 프롬프트가나오면비번호를입력한다.

② global configuration mode로들어간다.

③ IPv6 유니캐스트라우팅을동작시킨다.*명령어 : ipv6 unicast-routing

④터널 인터페이스와 터널 number를 지정하고, interfaceconfiguration mode로들어간다.*명령어 : interface tunnel tunnel-number

2811(config) # interface tunnel tunnel0

2811(config) # ipv6 unicast-routing

2811(config-isakmp profile) # match identity address ipv6

3ff3:b00:c18:1::2/64

4411

IPv6 Security

2

Page 46: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

⑤ IPv6 트래픽이터널로라우팅되도록터널인터페이스에 IPv6주소를제공한다.*명령어 : ipv6 address ipv6-address/prefix

⑥터널인터페이스에서 IPv6를동작시킨다.*명령어 : ipv6 enable

⑦터널인터페이스를위한소스주소를설정한다.*명령어 : tunnel source {ip-address | ipv6-address |

interface-type interface-number}

⑧터널인터페이스를위한목적지를지정한다.*명령어 : tunnel destination {host-name | ip-address

| ipv6-address}

⑨터널 인터페이스를 위한 encapsulation mode를 설정한다.IPSec에서는, 단지 ipsec ipv6 만지원된다.*명령어 : tunnel mode {aurp | cayman | dvmrp | eon

| gre | gre multipoint | gre ipv6 | ipip [decapsulate-any] | ipsec ipv4 | iptalk | ipv6| ipsec ipv6 | mpls | nos | rbscp}

2811(config-if) # turnnel mode ipsec ipv6

2811(config-if) # tunnel destination 2001:220:1032:16:17/64

2811(config-if) # tunnel source ethernet0

2811(config-if) # ipv6 enable

2811(config-if) # ipv6 address 3ffe:b00:c18:1::1/64 eui-64

4422

IPv6 Security

Page 47: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

⑩ IPSec profile과 터널 인터페이스를 결합시킨다. IPv6는shared를지원하지않는다.*명령어 : tunnel protection ipsec profile name [shared]

나. WIND6기반라우터 IPSec 설정하기

먼저, IPSec 설정이가능한모드로전환해야하는데, 이를위한절차는 (그림 2-31)과같다.

(그림 2-32)에서 보듯이, IPSec 설정시 필요한 정보는 8개의 정보가있다. ‘IPSEC RULES’는 IP 플로우가적용되어야하는 IPSec정책을 정의한다. ’VPN’은 VPN이 적용된 구간을 나타내며, ‘AHASSOCIATIONS’및 ’ESP ASSOCIATIONS’는 설정한 모드에 따라 설정된 VPN구간의 AH 및 ESP의 SA정보를 보여준다. ‘PRESHARED KEY’는 ’preshared-key’방식을 채택한 경우 키 값 및VPN설정 원격 호스트 정보를 나타낸다. ‘SECURITY STATEMENT’는보안설정사항에대한정보를보여준다.

2811(config-if) # tunnel protection ipsec profile profile0

IPSec 설정모드진입절차그림2-31

uroad1{}edit ipsec

uroad1{ipsec}sec

uroad1{ipsec-sec}

4433

IPv6 Security

2

Page 48: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-33)은 라우터에서 IPSec설정모드로진입하는과정을보여주고 있으며, 현재 IPSec설정이 존재하지 않음을 보여주고 있다.‘SECURITY STATEMENT’또한 IKE가 설정되지 않은 상태인 ’ike-id none’임을알수있다.

세가지 방식의 IPSec을 설정하기 위해서는 공통적으로 해야할몇 가지 사항이 있다. 먼저 보안설정을 가능하도록 템플릿을 설정해야하며, 식별파라미터를정의해야한다. 그리고 IPSec을설정후에는 (그림 2-34)와 같이 설정사항을 저장하고 적용하는 과정을 수행하여야한다.

IPSec 설정‘display’화면그림2-32

#IPSEC RULES

#VPN

#AH SECURITY ASSOCIATIONS

#ESP SECURITY ASSOCIATIONS

#PRE SHARED KEY

#TRUSTED AUTHORITIES

#SECURITY STATEMENT

#LOG

IPSec설정모드진입및현재IPSec설정현황그림2-33

4444

IPv6 Security

Page 49: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

세가지 방식의 IPSec설정을 실험하기 위하여 (그림 2-35)와 같은네트워크환경을구축하 다.

(1) static 방식의 IPSec설정‘static’방식의 IPSec설정을위해서는먼저 static 템플릿을사용

하도록 하지만, 식별자 정의는 필요 없다. 템플릿을 정의한 후에 (그림 2-36)과 같은 명령을 입력한다. 각각의 파라미터에 대한 설명은[표 2-8]과같다.

IPSec 설정사항저장및적용그림2-34

IPSec 설정을위한네트워크구축환경예그림2-35

2001:2b8:da:9::10

2001:2b8:da:9::1

2001:2b8:da:8::1

2001:2b8:da:8::10

2001:2b8:da:10::1

2001:2b8:da:10::2B:eth2_0

A:eth2_0

A1:eth0

B1:eth0_0

Static 방식의vpn과ipsec규칙설정사항그림2-36

uroad1{ipsec-sec}vpn vpn-name {static|template-name} endpoint1

endpoint2 [ca-name] [one_mode_per proto]

uroad1{ipsec-sec} ipsec-rule name localzone remotezone proto [via ifname]

ipsecpolicy mode vpname [priority]

4455

IPv6 Security

2

Page 50: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

IPSec규칙을 추가한 후에는 (그림 2-37)과 같은 명령 형식으로SA를맺는다. 첫 번째줄은 AH 방식을이용하여 SA를맺는명령이며, 두번째줄은 ESP로 SA를설정하는명령이다. [표 2-9]는 (그림2-37)에대한파라미터정의를보여주고있다. [표 2-10]은 IPSec설정시사용가능한인증및암호알고리즘을나타낸것이다.

파라미터 설명

end-point1 VPN 설정 구간의 양끝단의 IP주소를 기술하며 양끝단의 주소

end-point2 버전은 같아야 함

caname 인증서를 사용시에 CA의 이름을 설정하는 옵션파라미터

one_mode_per_proto KAME 호환성 설정

name ipsec-rule의 이름 정의

IP주소의 범위의 형태로 트래픽 구역을 정의하며, 다음과 같은 형태로 기술- address- address/prefixlen

localzone - address[port]- address/prefixlen[port]- transport 모드 설정시 양끝단의 IP주소를 설정하여야 함

ex) ipsec-rule rule2 A B transport any 3des-cbc“KISATEST05ABCDEF01234567”

remotezone 원격지의 트래픽 구역을 정의하고 기술방식은‘localzone’와동일

IP에 의해 전송될 상위 프로토콜을 정의proto - any, udp, icmp, icmp6, 프로토콜을 지시하는 숫자

- icmp[type] 또는 icmp6[type]형태로 기술

- 인터페이스 이름 옵션 파라미터로 특정한 인터페이스에만via ifname ipsec-rule을 적용시 사용

- 이 옵션은 static 방식에만 해당

vpn 명령 및 ipsec-rule 명령의 파라미터 정의표2-8

vpn

ipsec-rule

Static 방식의SA 설정사항그림2-37

uroad1{ipsec-sec}sa ah srcaddress dstaddress spi mode algo key

uroad1{ipsec-sec}sa esp srcaddress dstaddress spi mode {{algo key}|null}

[aalgo key]

4466

IPv6 Security

Page 51: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-38)은 static방식의 VPN설정예시이다. static_v1이라는이름으로 (그림 2-38)의 인터페이스 A에서 인터페이스 B까지 VPN을설정하며, rule1이라는이름으로 IPSec규칙을정의하며인터페이스 A1에서 B1까지 ESP 터널모드로 암호알고리즘은 3DES-CBC방식을 이용하며“KISATEST05ABCDEF01234567”의 키값을 갖도록설정하 다. (그림 2-38)의아래박스는이렇게설정된사항을보여준다. (그림 2-38)의 요소 중 IPSEC RULES, VPN, ESPSecurity Associations항목이 설정된 것을 볼 수 있으며, static방식의경우 IKE과정을수행하지않기때문에 Security Statement항목이초기상태와동일한것을볼수있다.

파라미터 설명

srcaddress/dstaddress 보안통신을 위한 송신 및 수신지 주소

spi Security Parameter Index로 십진수, 16진수 형태로 정의

mode IPSec 모드를 정의, tunnel모드, transport모드로 설정가능

algo 암호 알고리즘 정의

key 선택된 알고리즘에 대한 키값

aalgo ESP기법에서 인증 알고리즘 정의옵션 파라미터

SA 명령 파라미터 정의표2-9

알고리즘 키 길이(비트) 참고자료

hmac5-md5 123 rfc2403

hmac-sha1 160 rfc2404

des-cbc 64 rfc2405

3des-cbc 192 rfc2451

aes-cbc 123/192/256 rfc3394

지원하는 암호 및 인증 알고리즘표2-10

인증

암호

4477

IPv6 Security

2

Page 52: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(2) preshared-key 방식의 IPSec설정(그림 2-40)은‘preshared key’방식의 IPSec 설정명령을나타

낸것이다. pershared key 방식을설정하기위해서는psk_lite 또는psk_strong을 사용할수있으며현재는 psk_strong 템플릿을사용하 다고 가정한다. 그 다음으로 식별자를 설정해야 하는데 이는X.509 인증서를사용시반드시정의해야하나본방식에서는식별자를정의할필요가없다. 그러나선택한 IKE 파라미터와 VPN템플릿에따라식별자를반드시정의해야할경우도있다. 예를들어, VPN설정 과정에서 양단말 노드를 표현시 도메인 주소를 이용한다면 (그림 2-39)와 같은식별자설정이필요할것이다. (그림 2-39)에서 id값은 kisatest로설정하고, FQDN은“ip6OS.6wind.com”으로정의하며 사용자 FQDN은“[email protected]”으로 정의하는 것으로식별자 정의에 대한 자세한 사항은 CA를 이용한 설정방식에서 다루도록한다.

static 방식의IPsec설정예그림2-38

preshared key 방식의식별자정의그림2-39

# subjectAltNames

uroad1{} id kisatest ip6OS.6wind.com [email protected] none none none

none none none none

4488

IPv6 Security

Page 53: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

식별자를정의한후에 (그림 2-40)과같은명령을수행하고 (그림2-38)의 과정을 반복한다. 이때, (그림 2-40)을 정의하기 전에6WINDGate상에서 키 값을 미리 반드시 정의하고 갖고 있어야 한다. [표 2-11]은 psk명령의파리미터정의를나타낸다.

(그림 2-41)은 preshared-key 방식의 IPSec설정 예를 나타낸것이다. 위에빨간박스는 preshared-key방식으로 IPSec을설정하는 과정으로 ike_id(id)는‘kisatest’로 정의하고 원격노드2001:2b8:da:10::2와 미리 공유된 키값‘kisapresharedkey’를 이용하여VPN을설정하도록정의하고있다. VPN은‘psk1_v1’이라는이름으로 psk_strong템플릿을 사용하여 두 인터페이스간에 설정하고, 마지막으로 IPSec규칙을 ESP 터널모드로 2001:2b8:da:9::1과2001:2b8:da:8::1간의‘psk1_v1’을적용한다.

(그림 2-41)의 하단 박스는 preshared-key 방식으로 설정한 값을 보여주고 있다. static 방식과 다르게 PRESHARED KEY값과SECURITY STATEMENT값이설정된것을볼수있다.

4499

IPv6 Security

2preshared key 방식의key 정의그림2-40

uroad1{ipsec-sec} psk remote_identifier key

파라미터 설명

remote_identifier

사전에 키값이 공유된 원격의 VPN종단 노드의 ID- IPv4/IPv6 주소- 이메일 주소 (user FQDNs) : 식별자 정의가 수행된 경우- 도메인네임(FQDNs) : 식별자 정의가 수행된 경우

바이트 문자열로서 적어도 20바이트 이상의 문자열 또는key 40바이트 이상의 16진수이며 킷값은 공백이나 따옴표를

사용할 수 없음

psk 명령 파라미터 정의표2-11

Page 54: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(3) CA(Certificate Authority)를이용한 IPSec설정방식CA를 이용한 IPSec설정을 위해서는 먼저‘cer_lite’템플릿이나

‘cer_strong’템플릿을 선택 적용할 수 있다. 본 고에서는 ’cer_strong’템플릿을 적용했다고 가정한다. 템플릿을 적용한 후에는 식별자 파라미터를 정의해야 하는데 (그림 2-42)는 식별자를 정의하는 명령이며, [표 2-12]는 식별자 파라미터를 설명하고 있다.(그림 2-42)에서 각 식별자 정보를 공란으로 두는 경우 기본적으로식별자정보가없음을의미하는‘none’으로설정된다.

preshared key 방식의IPSec 설정예그림2-41

5500

IPv6 Security

Page 55: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

식별자파라미터정의그림2-42

uroad1{} id id-name fqdn-name user_fqdn-name country-name state-

name locality-name organization-name unit-name commonname-name

emil-name

또는

uroad1{} id id-name

enter exit abort the command

enter fqdn (a string or ‘none’)[none]: fqdn-name

enter user_fqdn ( a string or ‘none’)[none]: user_fqdn-name

enter country ( a string or ‘none’)[none]: country-name

enter state ( a string or ‘none’)[none]: state-name

enter locality ( a string or ‘none’)[none]: locality-name

enter organization ( a string or ‘none’)[none]: organization-name

enter unit ( a string or ‘none’)[none]: unit-name

enter commonname ( a string or ‘none’)[none]: commonname-name

enter email ( a string or ‘none’)[none]: emil-name

파라미터 설명

id-name 식별자 이름 정의

fqdn-name IKE를 위해 설정된 도메인네임 주소

user_fqdn-name IKE를 위해 설정된 사용자 도메인네임 주소

country-name 국가 도메인네임

state-name 주이름

locality-name 지역이름

organization-name 기관이름

unit-name 부서이름

commonname-name 팀이름

email-name 이메일 주소

ASN.1의 C, ST, L, OU, CN, E 하위 필드값으로 정의- 인증서를 사용하기 위해서는적어도 한 개의 값은정의되어야 함

식별자 파라미터 정의표2-12

5511

IPv6 Security

2

Page 56: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-43)은 CA를이용한 IPSec설정을위하여식별자를정의하는예시이다. id값은‘kisa_id’로정의하고도메인네임은’kisa.or.kr’로 정의하며 사용자 도메인네임으로서‘[email protected]’을 정의하고 ASN1의 규칙에 따라 국가 도메인은 KR, 기관이름은 KISA, 팀이름은istp_team으로설정한예이다.

(그림 2-44)는 식별자 정보를 정의하고 설정정보를 보여주는 예로 이 경우는 도메인네임을 kisa.or.kr로, 사용자 도메인네임을[email protected], 국가도메인은 KR, 그리고기관이름을KISA, 팀이름을 istp_team으로정의하 다.

식별자정보를정의한후에는CA에관련된사항을정의하고인증서를설치하는과정이필요하다. (그림 2-45)는 CA를정의하고인증서를 설치하는 명령이며 [표 2-13]은 각 명령에 필요한 파라미터에대한설명이다.

식별자정의예그림2-43

식별자설정정의부분예시화면그림2-44

CA 정의및인증서설치명령그림2-45

uroad1{} ca caname ca_URL

uroad1{} import ca_cert caname [cacertremotename]

5522

IPv6 Security

Page 57: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

인증서를설치한후, (그림 2-46)의 cert_req명령을이용하여 CA로부터인증서를얻어오기위해키쌍을생성하고CA에서인증서를요구하는과정이필요하다. 본명령에서는개인키를포함하는파일과인증서 요청사항을 가진 파일을 생성한다. 인증서 요청파일은[email protected] 이며요청파일은적합한CA에게 (그림 2-46)의 export cert_req명령을 이용하여 전송되어야 한다. 이때certreqremotename을명시하지않은경우 idname.cer로저장된다.

일단 인증서 툴이 6WINDGate 요청을 수신하면, 인증서를 생성하기위한모든정보를 PEM형식으로변환한다. 이때제 3의도구를이용하여 인증서를 생성할 때에는“gernate-certificateca/idname.req ca/idname.cer”명령을 이용한다. 이렇게 생성된인증서는 (그림 2-47)의 import cert명령을이용하여 6WINDGate상에 불러온다. 불러온 인증서를 사용 가능하도록 하기 위해서는 각각 (그림 2-47)의 ike_id 및 trust명령을이용하여식별자정보와CA를선택하여야한다.

CA 정의및인증서설치명령그림2-46

uroad1{} cert_req idname caname

uroad1{} export cert_req idname caname [certreqremotename]

파라미터 설명

caname CA 이름 정의

ca_URL CA가 있는 URL 정보

ca_cert IKE를 위해 설정된 사용자 도메인네임 주소

cacertremotename 설치할 CA 인증서 파일이름, 생략시 caname.cer파일을 설치

ca 및 import 명령 파라미터 정의표2-13

5533

IPv6 Security

2

Page 58: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 2-48)은 CA를이용하여 IPSec을 설정한예이다. trust 명령이후는 (2)에서설명한 preshared-key방식과유사하며, 이후설정된 IPSec을적용하고“copy conf running star”명령을이용하여재부팅을수행하면 IPSec 설정이완료된다.

5544

IPv6 Security

인증서수신및적용명령그림2-47

uroad1{} import cert idname caname [certremotename]

uroad1{} ike_id idname

uroad1{} trust caname

인증서수신및적용명령그림2-48

Page 59: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

본 절에서는 공격자에 의해 보안위협이 가해질 경우 대응하기 위해 접근통제목록을 설정하는 방법에 대하여 알아본다. IP 스푸핑(spoofing)공격, 플러딩을통한서비스거부공격, Land 공격, 반사공격에대응하기위한라우터설정방법을알아보도록한다.

▶ IP 스푸핑대응 : 입력패킷에대해서는패킷의발신지부분에서보호네트워크상의 프리픽스를 가진 주소 또는 링크로컬 범위주소로되어있는경우를차단하며, 출력트래픽에대해서는반대로 패킷의 목적지 부분이 보호 네트워크상의 프리픽스를 가진주소가링크로컬범위주소로되어있는경우를차단한다.

▶플러딩을 통한 서비스 거부 공격 대응: TCP의 SYN패킷의 플러딩을 차단하기 위해서 TCP연결 자체를 차단하거나, 허용된호스트만이 TCP연결이가능하도록하며, ICMP패킷을이용하는 경우는 동일 ICMP패킷의 수신률을 제한하여 그 이상의 패킷은모두폐기하도록설정한다.

▶ LAND공격 대응: LAND공격을 부분적으로 제한하기 위해서는송수신지주소또는포트번호를모두같게설정한패킷들을모두차단한다.

▶분산서비스거부공격 대응: 이를 위해서는 서비스 거부 공격의대상이되는특정포트번호또는해당패킷의수신한계치를설정하여패킷을차단할수있도록한다.

▶반사공격 : 반사공격을 막기 위해서 일반적인 라우터들은Static 설정 또는 Dynamic Protocol 을 통해서 디폴트 라우터를 갖으면 된다. 하지만, 서비스 사업자들의 최상위 코어 라우터에서는 목적지가 존재하지 않는 패킷들을 대해서 효과적으로폐기시키면서, 부가적인 ICMP unreachable이발생되지

5555

IPv6 Security보안위협에따른 IPv6 라우터설정 제 절3 2

Page 60: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

않도록 하여야 한다. 또한, 경우에 따라서 이러한 트래픽에 대한분석을위해로그정보를수집할필요가있다. 라우팅/포워딩 테이블에서 경로정보가 없는 패킷들은 특정 인터페이스를향하게 하고, 이 인터페이스에 필터(filter)를 걸어서 패킷들을폐기시키면서, 필요에따라로그를남긴다.

1. 시스코 라우터

(그림 2-49)는 시스코 라우터의 보안설정을 수행하기 위한 네트워크 구성도이다. IOS 12.4(3)버전의 IPv6 시스코 라우터를 이용하여실험하 다.

● IP 스푸핑공격의대응

네트워크구성도그림2-49

외부IPv6망IPv6 CISCO 라우터

3FFE:B00:C18:1::2/127 2001:220:1342:16::17/64

보호네트워크

5566

IPv6 Security

IP 스푸핑대응액세스리스트설정예그림2-50

2811(config-ipv6-acl)# deny inbound ip 2001:220:1302:16/64 any

2811(config-ipv6-acl)# deny inbound ip ff80::/10 any

2811(config-ipv6-acl)# deny outbound ip any 2001:220:1302:16/64

2811(config-ipv6-acl)# deny outbound ip any ff80::/10

Page 61: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

그러나 (그림 2-50)에서링크로컬주소에대하여서는 1절의 IPv6기본 보안 설정에서 이러한 패킷을 차단하도록 하 기 때문에2001:220:1302:16/64의 프리픽스를 가진 주소에 대해서만 차단설정을추가하면된다. 본 설정은 3ffe:B00:C18:1::2/127 주소를가진인터페이스에적용하도록한다.

● TCP SYN공격의대응

(그림 2-51)은 TCP의 SYN패킷플러딩을통한서비스거부공격을방지하기 위해서 공격이 의심되는 네트워크의 패킷을 차단하는 예로2001:220:1302:16::/64의 프리픽스를가진 TCP 세그먼트를차단하고 이외의 연결은 허용하는 것으로 설정한 예를 볼 수 있다. 여기서예로 든 주소는 임의로 설정한 프리픽스 정보로 적법하지 않은 패킷이많이들어오는네트워크의프리픽스정보를차단하면된다.

● Land 공격의대응

(그림 2-52)는 LAND공격에부분적으로대응하기위해송수신지주소가 동일한 패킷을 차단하도록 설정하는 것으로, 송수신지 주소에 모두 2001:220:1302:16::17인 경우를 차단하고 있다. 여기서 사용한주소는임의의주소를사용한것으로, 위의공격에많이사용되는주소를 (그림 2-52)와같이차단설정하도록한다.

5577

IPv6 Security

2TCP SYN 플러딩대응액세스리스트설정예그림2-51

2811(config-ipv6-acl)# deny tcp 2001:220:1302:16::/64 any

2811(config-ipv6-acl)# permit tcp any any

LAND공격대응액세스리스트설정예그림2-52

2811(config-ipv6-acl)# deny ip host 2001:220:1302:16::17/64 host

2001:220:1302:16::17/64

2811(config-ipv6-acl)# permit ip any any

Page 62: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●DDoS 공격의대응

(그림 2-53)은포트를이용하여분산서비스거부공격차단하기위한 설정으로 포트번호 27665와 같은 TCP패킷, 포트번호 31335와같은UDP패킷을차단하는예를볼수있다.

2. 주니퍼 라우터

기본적으로 주소 필터링이 필요한 목록 외에도 필요에 따라 외부공격에 대응하기 위해 주소 필터링이 필요하다. 주소 스푸핑(spoofing), TCP SYN, DDoS공격에 대응하기 위한 ACL 설정방법에대하여기술한다. (그림 2-54)은이를수행하기위한네트워크구성도이다. JUNOS 7.4R1.7버전의 주니퍼 라우터를 이용하여 실험하 다.

5588

IPv6 Security

DDoS공격대응액세스리스트설정예그림2-53

2811(config-ipv6-acl)# deny tcp any any eq 27665

2811(config-ipv6-acl)# deny udp any any eq 31335

2811(config-ipv6-acl)# permit ip any any

네트워크구성도그림2-54

외부IPv6망

IPv6 juniper 라우터

3FFE:B00:C18:1::2/126 2001:220:1302:16::17/64

보호네트워크

Page 63: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●주소스푸핑공격의대응외부망에서보호네트워크로전달되는패킷들의발신지주소필드

가 보호네트워크상의 주소로 설정된 경우 해당 주소 패킷의 전달을차단한다. 외부망 쪽에서 들어오는 트래픽 중에서 발신지 주소가2001:220:1302:16/64인 패킷들을 모두 차단하고 이외의 패킷들은모두 허용한다. 또한, 내부망에서 출력되는 패킷 중에 발신지 주소필드가 보호네트워크상의 주소로 설정되지 않은 경우 해당 주소 패킷의 전달을 차단한다. 이는 RPF(Reverse-Path-Forwarding) 기능을 이용하여, 발신지 주소가 보호네트워크의 주소인 경우에만 허용할수있다.

5599

IPv6 Security

2스푸핑공격에대응하는inbound 트래픽의Firewall Filter 설정예그림2-55

firewall {family inet6 {

filter anti-spoofing {term term1 {

from {source-address {

2001:220:1302:16::17/64;}

}then discard;

}term term2 {

then accept;}

}}

}interfaces {

so-2/0/0 {unit 0 {

family inet {address 50.1.1.1/24;

}family inet6 {

filter {input anti-spoofing;

}address 3ffe:b00:c18:1::2/126;

}}

}

Page 64: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

6600

IPv6 Security

스푸핑공격에대응하는outbound트래픽의Firewall Filter 설정예그림2-56

routing-options {forwarding-table {

unicast-reverse-path active-paths;}

}firewall {

family inet6 {filter rpf-check {

term term1 {then {

count rpf-count;discard;

}}

}}

}interfaces { ge-1/1/1 {

unit 0 {family inet6 {

rpf-check fail-filter rpf-check;address 2001:220:1302:16::17/64;

}}

}}

Page 65: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●TCP SYN 공격의대응외부로부터 과도한 TCP connection을 제한하기 위해서, Syn

패킷의양을제한하는설정을할수있다.

6611

IPv6 Security

2플러딩공격에대응하는Firewall Filter 및Policer 설정예그림2-57

firewall {policer tcp-syn-rate {

if-exceeding {bandwidth-limit 500k;burst-size-limit 100k;

}then discard;

}family inet6 {

filter tcp-syn-rate {term syn-limited {

from {next-header tcp;tcp-flags “(syn & !ack)”;

}then {

policer tcp-syn-rate;accept;

}}

}}

}so-2/0/0 {

unit 0 {family inet6 {

filter {input tcp-syn-rate;

}address 3ffe:b00:c18:1::2/126;

}}

}

Page 66: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●특정Port 번호를이용한DDoS 공격에대응전송 계층 플로토콜인 TCP나 UDP프로토콜의 특정 포트를 대상

으로 서비스거부공격 등을 행할 수 있다. 이를 대응하기 위해서는특정 포트로 들어오는 주소에 대하여 주소를 차단하도록 해준다. 예를 들어, SQL Slammer인 경우 UDP세그먼트의 1434번 포트를 차단한다. (그림 2-58)은이를차단하는예이다.

6622

IPv6 Security

특정포트의DDoS공격에대응하기위한Firewall Filter 설정예그림2-58

jun@kisa# show firewallfamily inet6 {

filter sql-slammer {term term0 {

from {next-header udp;destination-port 1434;

}then discard;

}}

}

Page 67: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●반사공격에대한대응(그림 2-59)와같이디폴트라우팅을설정하여반사공격을차단

한다.

6633

IPv6 Security

2반사공격에대응하기위한디폴트라우팅설정예그림2-59

firewall {family inet6 {

filter discard-log {term term1 {

then {syslog;discard;

}}

}}

}routing-options {

rib inet6.0 {static {

route ::/0 next-hop 2001::2;}

}}interfaces {

so-5/0/0 {unit 0 {

family inet6 {filter {

output discard-log;}address 2001::1/126;

} }

}}

Page 68: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

● ICMP를이용한DDoS 공격의대응과도한 ICMP 트래픽의 유입을 막기 위해서 Policer를 이용해서

ICMP 패킷수신율을조절한다.

6644

IPv6 Security

ICMP패킷을이용한서비스거부공격에대응하는Firewall Filter 및Policer 설정예그림2-60

firewall {policer icmp-rate {

if-exceeding {bandwidth-limit 500k;burst-size-limit 100k;

}then discard;

}family inet6 {

filter icmp-rate {term term1 {

from {next-header icmpv6;

}then {

policer icmp-rate;accept;

}}

}}

}so-2/0/0 {

unit 0 {family inet6 {

filter {input icmp-rate;

}address 3ffe:b00:c18:1::2/126;

}}

}

Page 69: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

3. 6WIND기반 라우터

(그림 2-61)은보안공격및대응방법을설명하기위한네트워크구성도이다.

●주소스푸핑(spoofing)공격의대응보호네트워크로입력되는패킷중에소스주소필드에보호네트워

크상의 주소, 링크로컬주소로 된 경우 해당 주소 패킷의 전달을 (그림 2-62)와 같이 설정하여 차단하도록 한다. 또한, 외부네트워크로출력되는 패킷 중에는 목적지 주소 필드가 보호네트워크상의 주소,링크로컬주소로된경우해당되는패킷의전달을 (그림 2-63)과 같이설정하여차단하도록한다. (그림 2-61)에서본규칙이설정될인터페이스는eth2_0이다.

6655

IPv6 Security

26WIND 기반라우터실험용네트워크구성도그림2-61

외부IPv6망

2001:2b8:da:9::10

보호네트워크2001:2b8:da:9::1

2001:2b8:da:10::1eth2_0

A1:eth0

Page 70: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●TCP SYN 공격의대응(그림 2-64)는 TCP의 SYN패킷 플러딩을 통한 서비스거부공격

을 방지하기 위해서 시스코 라우터의 경우와는 반대로, TCP 세그먼트를 기본적으로 차단하고 일부 TCP 세그먼트에 대해서만 패킷을허용하고 있다. 어떠한 규칙을 적용할지는 네트워크 관리자의 결정사항이며, 공격이 많은 경우는 모두 차단하고 허용 세그먼트를 열어주는 규칙이 적당하고, 그렇지 않은 경우는 대체적으로 모두 허용하고차단세그먼트를설정하는방법이적당하다.

6666

IPv6 Security

입력트래픽에대한IP Spoofing에대응하기위한IP Filter 설정예그림2-62

출력트래픽에대한IP Spoofing에대응하기위한IP Filter 설정예그림2-63

uroad1{acl-fil} rule 1500 processing input forward receive eth2_0 ipv6 from

any to fe80::/10 do deny

uroad1{acl-fil} rule 1501 processing input forward receive eth2_0 ipv6 from

any to 2001:2b8:da:10::/64 do deny

Page 71: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●Land 공격의대응(그림 2-65)는 LAND공격에 대응하기 위하여 라우터에서 가능한

부분으로송수신지의주소가동일한경우에차단하는목록을설정하고있다. IPv6 주소 2001:2b8:da:10::10의 예를들고있으며, 해당주소가송수신지주소필드에모두포함된경우차단하는것을볼수있다.

6677

IPv6 Security

2TCP SYN 서비스거부공격에대응하기위한IP Filter 설정예그림2-64

LAND공격에대응하기위한IP Filter 설정예그림2-65

Page 72: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●DDoS 공격의대응전송 계층 플로토콜인 TCP나 UDP프로토콜의 특정 포트를 대상

으로 서비스거부공격 등을 행할 수 있다. 이를 대응하기 위해서는특정 포트로 들어오는 주소에 대하여 주소를 차단하도록 해줄 수 있으며, (그림 2-66)은 TCP세그먼트 2001:2b8:da:10::10네트워크에서 2001:2b8:da:9::10의 22번 포트로 입력되는 패킷과 그 반대로2001:2b8:da:9::10에서 2001:2b8:da:10::10의 22번포트로들어오는패킷을차단하는예를보이고있다. 이 설정또한반대로모두차단하고일부포트만허용하는형태로규칙을설정할수도있다.

6688

IPv6 Security

DDoS공격에대응하기위한IP Filter 설정예그림2-66

Page 73: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

1. IPv4/IPv6 전환시 보안이슈

IPv4에서 IPv6의 전환기에서는 두 네트워크가 혼용되어 사용된다. 이때원활한통신을위해여러패킷전환및변환기법이사용됨에따라 IPv6 보안기술해설서에서 설명한 보안이슈가 발생할 수 있다.이를위해라우터에서취할수있는설정사항은 (그림2-67)과같다.

자동주소를생성하는경우는생성시사용되는 IPv4 또는 IPv6주소가 유효한지를 검증할 수 있어야 하고, 터널링기법의 경우는 외부의 IP헤더 뿐만 아니라, 내부의 IP 헤더까지도 검증할 수 있어야 한다. 이러한사항들은 Firewall 또는전환시사용되는특정서버들에의해수행될수있다.

6699

IPv6 SecurityIPv6로의전환이슈및Firewall 고려사항 제 절4 2

IPv6전환이슈에따른ACL 설정권고사항그림2-67

■자동생성주소를사용하는전환및변환기법

- IPv4 only, IPv6 only 네트워크에서는전환시사용되는주소형식은차단하여야

한다.

- IPv4/IPv6 전환 네트워크에서는 IPv4 only 또는 IPv6 only 주소형식을 차단

하여야한다.

Page 74: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

2. IPv6 기반 Firewall 고려사항

2절과 3절에서 IPv6 네트워크를 위한 ACL 설정방법과 IPSec설정방법을알아보았다. 그러나이두가지설정을가지고 IPv6 보안을완전히 보장할 수는 없으며 Firewall을 이용하여 (그림 2-68)과 같은추가적인보안설정사항이필요하다. (그림 2-68)이외에네트워크관리자의 판단에 따라 보안설정사항을 추가 또는 수정 또는 삭제할수 있으며 IPv6네트워크상에서 보안성을 제공하기 위해서는 기본적으로 Firewall에서 설정하는 것이 바람직하다. Firewall에서 IPv6동작과정에 따른 자세한 보안설정권고사항에 대해서는 IPv6보안 기술해설서를참고하길바란다.

7700

IPv6 Security

Firewall에서의설정권고사항그림2-68

IPv6 확장헤더및옵션헤더의선택적차단또는허용을수행하여야한다.

IPSec의적용여부에의한선택적차단또는허용을수행하여야한다.

애니캐스트주소와같이, 라우터에의해설정규칙을추가할수없는주소의불법적

인접근을차단하여야한다.

터널링패킷의경우외부패킷헤더정보와함께내부패킷헤더가존재함을식별하고

검사할수있어야한다.

패킷의메시지내용에따라비정상적인패킷은차단하여야한다.

Page 75: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

1. 리눅스에서 IPv6 설정

가. 지원버전2000년 10월, 일본에서USAGI라는이름으로프로젝트가시작되

었다. USAGI 프로젝트는 KAME 프로젝트에 의해 만들어진FreeBSD의 IPv6 기능들을 따라 리눅스용 IPv6를 개발하는 프로젝트이다. 현재 USAGI 패치가 너무 커서, 리눅스 네트워킹 메인테이너들이 리눅스 커널 2.4.x 시리즈 소스에 넣어서 배포할 수가 없다.그러므로 2.4.x 시리즈에는 많은 확장기능들이 빠져 있으며 현재Draft와 RFC에서논의되는모든것을제공하지는않기때문에다른운 체제와상호연동에문제가발생할수있다.

7711

IPv6 Security

3제3 장PC기반라우터운 보안안내서

리눅스라우터 제 절1

Page 76: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

나. 리눅스라우터기본설정리눅스 호스트를 라우터로 사용하기 위해서는 (그림 3-1)과 같은

스크립트파일을수정하여 IPv6 Forwarding 등의기능을활성화시켜야한다.

- 파일위치: /etc/sysconfig/network

/etc/sysconfig/network-scripts/ 에는 IPv6 지원을 위한 여러가지 스크립트 파일들이 존재한다. 예를 들어 네트워크 인터페이스카드두개(eth0, eth1)에대해서 ifcfg-eth0와 ifcfg-eth1 스크립트파일들을수정하면다음과같다.

- 파일위치: /etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network 스크립트의내용그림3-1

/etc/sysconfig/network 스크립트의내용그림3-2

7722

IPv6 Security

Page 77: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

- 파일위치: /etc/sysconfig/network-scripts/ifcfg-eth1

eth1에서 IPv4 주소는 211.241.83.177으로설정하고, IPv6 주소는 2001:220:1032:24::25로 설정하 다. 또한 IPv6 서브넷을 구성하는데 2001:220:1032:24::/64 범위를 갖도록 설정하 으며, 서브넷의 디폴트 주소가 되도록 하여 라우터 역할을 수행하도록 설정하다.

다음은 필요한 IPv6 경로를 설정해 주어야 한다. 이를 위해서/etc/sysconfig/static-routes-ipv6라는 스크립트 파일에 필요한라우팅테이블엔트리를추가한다.

우리가 이미 알고 있는 정보로는 터널 관리자로부터 할당받은 주소블록인 2001:220:1032:24::0/64 와 일반적으로 알고 있는 실험주소블록인 3ffe::0/16이있으며이에대한경로정보를추가해주어야 한다. 따라서 eth1의 IPv6 서브넷인 2001:220:1032:24::/64prefix에 매치하는 모든 패킷은 eth1을 통하여 전송되도록 하 으며, longest prefix matching에 의해위실험주소블록에매치하는모든주소가 sit1을통해라우팅되도록엔트리를추가하 다.

/etc/sysconfig/network-scripts/ifcfg-eth1 스크립트의내용그림3-3

7733

IPv6 Security

3

Page 78: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

- 파일위치: /etc/sysconfig/static-routes-ipv6.org

이제까지필요한모든네트워크설정은마쳤으며, 모든수정된네트워크 구성을 반 해야 한다. 다음과 같은 명령을 사용하면 재부팅할필요없이수정된네트워크구성을반 할수있다.

다. 리눅스호스트기본설정여기서는 리눅스 커널 2.4를 이용하는 RedHat 리눅스 9.0에서

IPv6를활성화하고간단한네트워크테스트를하는방법을알아본다.

(1) IPv6 모듈설치및 IPv6 주소확인

● IPv6 설치여부의확인IPv6 사용을 위해 RedHat 리눅스 9.0에 IPv6 모듈을 설치하기

이전에이미 IPv6 모듈이로딩되어있을수도있으므로, 이를확인한다. IPv6 모듈이로딩되어있다면 (그림 3-5)와 같이관련된항목이존재하게된다.

/etc/sysconfig/static-routes-ipv6.org 스크립트의내용그림3-4

/etc/rc.d/init.d/network restart

7744

IPv6 Security

Page 79: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

만약 위 항목이 존재하지 않으면, IPv6 모듈이 아직 로딩 되어있지않다는것을의미한다.

● IPv6 모듈의설치IPv6 모듈의설치는다음명령을입력하면된다.

# modprobe ipv6

IPv6 모듈이 정상적으로 설치되었다면, (그림 3-6)과 같이 모듈리스트에나타나게된다.

프로세스에서IPv6 관련항목확인그림3-5

7755

IPv6 Security

3

Page 80: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

●시스템시작시 IPv6 모듈의자동로딩위방법은, 시스템시작후수동으로모듈을로딩하는방법이다.

특히 httpd, bind 등의 데몬이 실행된 뒤, IPv6 모듈을 설치하면httpd, bind 등이 IPv6를인식하지못하는경우가발생한다. 따라서시스템이시작될때자동으로 IPv6 모듈을로딩하는것이바람직하다. 커널 모듈 로더(/etc/modules.conf)에 (그림 3-7)과 같이 한 줄을추가해주면된다.

▶시스템시작시자동으로 IPv6 모듈을로딩함사용법 : alias net-pf-10 ipv6

모듈리스트그림3-6

/etc/modules.conf 내용그림3-7

7766

IPv6 Security

Page 81: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

만약, 자동모듈로딩을하지않으려면다음과같이수정하면된다.

▶시스템시작시자동으로 IPv6 모듈을로딩하지않음사용법 : alias net-pf-10 off

● IPv6 주소확인IPv6 모듈이 로딩 되면 시스템에 IPv6 주소가 자동으로

(stateless auto-configuration) 생성되게 된다. 리눅스에서 ip 또는 ifconfig 명령을이용하여 IPv6 주소를확인할수있다.

▶ ip 명령을이용한 IPv6 주소확인사용법 : /sbin/ip -6 addr show dev <interface>

실제로시스템에생성된 IPv6 주소를확인해보면 (그림 3-8)과같다.

(그림 3-8)에서 첫 번째 주소는 자동으로 생성(autoconfigured)된 IPv6 주소이고, 두번째주소는Link Local 주소이다. IPv6를공식적으로 지원하지 않는 네트워크에서는 두 번째 IPv6 주소(fe80:20e:cff:fe4d:6ba8/64)만나타난다.

▶ ifconfig 명령을이용한 IPv6 주소확인사용법 : /sbin/ifconfig <interface>

시스템에 생성된 IPv6 주소를 확인하면 (그림 3-9)와 같다.(IPv6 주소만필터링하 음)

ip 명령을이용한IPv6 주소확인그림3-8

7777

IPv6 Security

3

Page 82: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

참고로세번째주소(::1)는 Loopback IPv6 주소이다. IPv6를공식적으로지원하지않는네트워크에서는두번째와세번째 IPv6 주소만나타난다.

▶ ping6 명령을이용한 IPv6 네트워크테스트만약, 사용하는 네트워크가 IPv6를 공식적으로 지원을 한다면, 바로 ping6 명령을이용하여 (그림 3-10)과 같이 IPv6 네트워크 테스트를 할 수 있다. 그러나 IPv6를 공식적으로 지원하지 않는다면, 이 후에 설명될 터널링 기법을 이용하여 IPv6네트워크테스트를할수있다.

사용법 : ping6 <ipv6 주소또는호스트명>

ifocnfig 명령을이용한IPv6 주소확인그림3-9

ping6 테스트그림3-10

7788

IPv6 Security

Page 83: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 3-10)에서 보면, 2001:2b8::1 IPv6 호스트에서 정상적인응답이오는것을알수있다.

(2) IPv6 주소의설정(추가, 삭제)과라우팅설정

● IPv6 주소의설정일반적으로 Native IPv6 환경에서는 주소자동설정을 통해 자동

으로 IPv6 주소가생성된다. 그러나서버의운 이나이용상의편의를위해별도의 IPv6 주소를추가, 삭제해야할필요가있다. 다음은ip 명령과 ifconfig 명령을이용하여 IPv6 주소를추가, 삭제하는방법이다.

▶ ip 명령을이용한 IPv6 주소추가사용법# /sbin/ip -6 addr add <IPv6 주소>/<Prefix 길이>dev<interface>

위 명령을 이용하여 2001:220:2:fff3::105 IPv6 주소를 추가해보면,# /sbin/ip -6 addr add 2001:220:2:fff3::105/64 deveth1

(그림 3-11)과 같이 eth1 인터페이스에 새로운 IPv6 주소(2001:220:2:fff3::105)가추가된것을볼수있다.

7799

IPv6 Security

3

ip 명령을이용한IPv6 주소추가그림3-11

Page 84: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

▶ ifconfig 명령을이용한 IPv6 주소추가사용법/sbin/ifconfig <interface> inet6 add <IPv6 주소>/<Prefix길이>

위 명령을 이용하여 2001:2b8:2:fff3:205 IPv6 주소를 추가해보면,# /sbin/ifconfig eth1 inet6 add 2001:2b8:fff3:205/64

(그림 3-12)와같이 eth1 인터페이스에새로운 IPv6 주소가추가된것을볼수있다.

● ip 명령을이용한 IPv6 주소삭제ip 명령 또는 ifconfig 명령을 이용해, 이미 설정된 IPv6 주소를

삭제해보면다음과같다.

▶ ip 명령을이용한 IPv6 주소삭제사용법

# /sbin/ip -6 addr del<IPv6 주소>/<Prefix 길이> dev<interface>

8800

IPv6 Security

ifconfig 명령을이용한IPv6 주소추가그림3-12

Page 85: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

위명령을이용하여 2001:2b8:2:fff3::105 주소를삭제하려면아래와같다.

# /sbin/ip-6 addr del 2001:220:2:fff3::105/64 dev eth1

(그림 3-13)과 같이 2001:220:2:fff3::105 IPv6 주소가 삭제된것을볼수있다.

▶ ifconfig 명령을이용한 IPv6 주소삭제사용법

# /sbin/ifconfig <interface> inet6 del <IPv6 주소>/<Prefix길이>

사용예# /sbin/ifconfig eth0 inet6 del 2001:2b8:2:fff3::205/64

● IPv6 라우팅설정IPv6 주소를 추가할 경우, 경우에 따라서 외부와의 통신을 위해

서 Default 게이트웨이를 설정하거나 라우팅 경로를 설정해 주어야한다.

리눅스에서는 ip 명령과 route 명령을 이용하여 IPv6 라우팅을설정할 수 있다. 현재 시스템의 라우팅 설정을 확인하는 방법, 라우팅경로를추가/삭제하는방법은다음과같다.

8811

IPv6 Security

3ip 명령을이용한IPv6 주소삭제그림3-13

Page 86: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

▶ ip 명령을이용한라우팅설정의확인사용법

# /sbin/ip -6 route show [dev <device>]

사용예# /sbin/ip -6 route show dev eth1

(그림 3-14)는 ip 명령을이용하여라우팅설정을나타낸다.

▶ route 명령을이용한라우팅설정의확인사용법

# /sbin/route -A inet6

사용예# /sbin/route -A inet6 | grep eth0

※ grep eth0은 eth0 인터페이스에 해당되는 정보만을 필터링할 때

사용한다.

(그림 3-15)와 같이 eth0에 해당되는 라우팅 설정을 확인할 수있다.

ip 명령을이용한라우팅설정그림3-14

8822

IPv6 Security

Page 87: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 3-15)에서 2001:220:1032:24::/64 네트워크, 2001:2b8:2:fff3::205:/128 네트워크, 2001:2b8:2:fff3::/64 네트워크,fe80::/64 네트워크, 그리고 ff00::/8 네트워크 등은 ::(DefaultRoute)로 보내고, 그 외의 모든 네트워크(::/0)는 라우터의 LinkLocal 주소인fe80::207:e9ff:fe04:c2d8로보내도록설정되어있다.

라우터의 Link Local 주소는 RADVD에의한주소자동설정과정으로알수있다. (그림 3-15)에서 ff80::/64 과 ff00::/8은 IPv6 멀티캐스트관련항목이다.

▶ ip 명령을이용한라우팅설정추가사용법

# /sbin/ip -6 route add <IPv6 네트워크>/<Prefix 길이>via<게이트웨이 IPv6 주소>[dev<device>]

사용예# /sbin/ip -6 route add 2001::/3 via 2001:2b8:2:fff3::1

(그림 3-16)은 ip 명령을이용한라우팅을설정한예이다.

route 명령을이용한라우팅설정그림3-15

ip 명령을이용한라우팅설정추가그림3-16

8833

IPv6 Security

3

Page 88: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 3-16)에서 IPv6 데이터의 목적지가 2000::/3 네트워크에속하는 것은 2001:2b8:2:fff3::1 인터페이스로 전달하라는 의미로서, 보통 게이트웨이의 IPv6 주소(2001:2b8:2:fff3::1)는 라우터 인터페이스 IPv6 주소가된다.

▶ route 명령을이용한라우팅설정추가사용법

# /sbin/route -A inet6 add <IPv6 네트워크>/<Prefix 길이> gw <게이트웨이 IPv6 주소> [dev<device>]

사용예# /sbin/ip -A inet6 add 2000::/3 gw 2001:2b8:2:fff3::1

위 명령은 2001:2b8:2:fff3::1 게이트웨이를 통해 현재 GlobalIPv6 네트워크를 라우팅하겠다는 것을 의미한다. (그림 3-17)은route 명령을이용하여라우팅을설정한예이다.

▶ ip 명령을이용한라우팅설정제거네트워크 설정이 변경되었거나 라우팅 경로를 잘못 입력한 경우, 라우팅 경로 수정을 위해 이미 입력된 라우팅 설정을 제거해야만한다.이경우에도 ip 명령또는 route 명령을이용하여라우팅경로를제거할수있다.

route 명령을이용한라우팅설정그림3-17

8844

IPv6 Security

Page 89: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

사용법# /sbin/ip -6 route del <IPv6 네트워크>/<Prefix 길이> via<게이트웨이 IPv6 주소> [dev <device>]

사용예# /sbin/ip -6 route del 2000::/3 via 2001:2b8:2:fff3::1

▶ route 명령을이용한라우팅설정제거사용법

# /sbin/route -A inet6 del <IPv6 네트워크>/<Prefix 길이>gw <게이트웨이 IPv6 주소> [dev <device>]

사용예# /sbin/route -a inet6 del 2000::/3 gw 2001:2b8:2:fff3::1

만약 라우터가 IPv6는 지원하나 주소자동설정을 위한RA(Router Advertisement)를 보내지 않으면 위와 같이 사용자가직접 IPv6 주소와라우팅설정을해야한다.

라. 터널링터널링이란 네트워크에서데이터가 전달되는 별도의 전용 통로이

다. (그림 3-18)에서 양쪽에 IPv6 네트워크가 있고, 그 사이에 IPv6데이터가 전달될 수 없는 IPv4 네트워크가 있을 때, IPv4 네트워크

8855

IPv6 Security

3

터널링그림3-18

IPv6 Network

IPv4 NetworkIPv6

NetworkTunnel

Page 90: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

에 IPv6 데이터가전달될수있는전용통로(Tunnel)를만들면, 양쪽의 IPv6 네트워크가마치하나의네트워크처럼인식하게할수있다.

본 안내서에서는터널링중에서 6to4 터널링에대해서만다룬다.6to4 터널링은공인 IPv4 네트워크에있는듀얼스택단말(PC 또는라우터)이원격지의 IPv6 네트워크까지터널링을형성하는방법이다((그림 3-19) 참조). 그러나 6to4 터널링은사설 IP 주소환경에서는사용할수없다.

6to4 Relay는 6to4 네트워크에서전달된데이터를다른 6to4 릴레이로전달하는역할을하며, 6to4 라우터는 6to4 네트워크에서전달된데이터를다른 IPv6 네트워크로전달하는역할을한다.

●현재터널링설정확인터널링을 설정하기 전에 현재 터널링의 정보를 확인해 보면 다음

과같다.

▶ ip 명령을이용한터널링설정확인사용법

# /sbin/ip -6 tunnel show [<device>]

6to4 터널링그림3-19

IPv6 Network

IPv4 Network

IPv6 Network

6to4 Relay, Router

6to4 Tunnel

8866

IPv6 Security

Page 91: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

사용예# /sbin/ip -6 tunnel show

(그림 3-20)과 같은 실행 결과를 보면, IPv6와 관련된 터널링(sit0)이존재하지않는것을알수있다.

▶ route 명령을이용한터널링설정확인

사용법# /sbin/route -A inet6

● 6to4 터널링의설정▶6to4 Prefix의계산

6to4 터널링은하나의 IPv6 주소를생성하는것이아니고, /64에 해당되는 Prefix를 생성하는 것이기 때문에 6to4 Prefix가존재하게된다. 따라서 6to4 터널링을이용하면내부적으로별도의 IPv6 네트워크를생성할수있다. 6to4 터널링을설정하기전에시스템의 IPv4 주소를이용하여6to4 네트워크에사용할 6to4 Prefix를 계산해야 한다. 자신의 IPv4 주소가20.30.40.50 일 때, 이를 16진수로 변경하면 0A.14.1E.28이된다. 6to4 Prefix는 16진수로변경한 IPv4 주소를 2002 뒤에4자리씩나열한값이된다. 위예제에서는 2002:0A14:1E28이6to4 Prefix가 된다. [표 3-1]은 여러 IPv4 주소를 6to4Prefix로변환한표이다.

ip 명령을이용한터널링설정확인그림3-20

8877

IPv6 Security

3

Page 92: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

▶Local 6to4 게이트웨이주소6to4 Prefix가계산이되면, 6to4로구현된내부 IPv6 네트워크의 Local 6to4 게이트웨이주소를만들어야한다. 일반적으로 Local 6to4 Prefix에 ::1을 더한 형태로 생성된다. 따라서6to4 Prefix가 2002:CBFE:2625인 경우 Local 6to4로 구현된내부 IPv6 네트워크의데이터는이Local 6to4 게이트웨이를통해외부로나가게된다.

▶ ip 명령을이용한6to4 인터페이스의설정일반적으로 터널링을 설정하기 위해서는 별도의 논리적(가상)인터페이스를 만들고, 주소할당 및 라우팅 처리과정을 거치게된다. 6to4 터널링 역시 tun6to4 라는 가상 인터페이스를 생성하게된다.

- 6to4 터널링인터페이스생성# /sbin/ip -6 tunnel add tun6to4 mode sit ttl<ttldefault> remote any local <local IPv4 address>

6to4 터널인터페이스생성예

# /sbin/ip -6 tunnel add tun6to4 mode sit ttl 64 remoteany local 211.241.83.171

생성된 tun64 인터페이스를다음과같이활성화해야한다.

- tun6to4 인터페이스의활성화

IPv4 주소 16진수로 변경한 IPv4 주소 6to4 Prefix

20.30.40.50 0A.14.1E.28 2002:0A14:1E28

203.254.38.37 CB.FE.26.25 2002:CBFE:2625

147.46.80.20 93.2E.50.14 2002:932E:5014

211.241.83.171 D3.F1.53.AB 2002:D3F1:53AB

IPv4에서 6to4 Prefix로의 변환표3-1

8888

IPv6 Security

Page 93: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

먼저다음과같이 tun6to4 인터페이스를활성화시킨다.

# /sbin/ip link set dev tun6to4 up

ifconfig 명령으로 시스템의 네트워크 인터페이스를 확인해 보면 (그림3-21)과같이tun6to4가생성된것을확인할수있다.

- 이미 계산한 Local 6to4 게이트웨이 주소를 tun6to4 인터페이스에추가tun6to4 인터페이스에 로컬 6to4 주소를 추가하는 방법은 다음과같다.

# /sbin/ip -6 addr add <local 6to4 address>/16 devtun6to4

사용예# /sbin/ip -6 addr add 2002:D3F1:53AB::1/16 devtun6to4

위와 같이 설정하게 되면, tun6to4 인터페이스에 (그림 3-22)와같이 6to4 IPv6 주소가입력된것을확인할수있다.

tun6to4 인터페이스의활성화그림3-21

8899

IPv6 Security

3

Page 94: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

● 6to4 라우팅설정내부적으로 6to4 터널링 인터페이스가 활성화되고, 주소까지 추

가되었더라도 외부와 통신을 위한 라우팅 설정을 하지 않으면Global IPv6 네트워크와 연결이 되지 않는다. 6to4 라우팅 설정은ip 명령을사용한다.

# /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 devtun6to4 metric 1

위 명령에서 192.88.99.1은 IPv4 애니캐스트 주소로서, 자신이속한 네트워크에서 가장 가까운 6to4 릴레이(라우터)를 찾아서 통신을 하게 된다. 만약, 애니캐스트 주소를 이용하지 않고, 별도로 자신이 원하는 6to4 릴레이(라우터)를 설정하려면 192.88.99.1 대신 해당6to4 릴레이(라우터)의 IPv4 주소를입력하면된다.

# /sbin/ip -6 route add 2000::/3 via :: 203.254.38.130 devtun6to4 metric 1

● 6to4 터널링의테스트6to4 터널링의테스트는 (그림 3-23) 같이 ping6 명령을이용하

여테스트한다.

예) ping6 2001:2b8::1

tun6to4 인터페이스에로컬6to4 주소추가그림3-22

9900

IPv6 Security

Page 95: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

● 6to4 터널링의삭제6to4 터널링의삭제는 6to4 터널링의생성과마찬가지로 ip 명령

을사용한다.

▶ 6to4 터널링과관계된라우팅설정의제거

# /sbin/ip -6 route flush dev tun6to4

** 인터페이스만삭제되고라우팅설정이남아있게되면향후네트워크의오동작또는혼란이발생할수있다.

▶인터페이스비활성화

# /sbin/ip link set dev tun6to4 down

▶ 6to4 인터페이스의삭제

# /sbin/ip tunnel del tun6to4

최종적으로 ifconfig 명령을 이용하여 tun6to4 인터페이스의유무를확인한다.

9911

IPv6 Security

36to4 터널링의테스트그림3-23

Page 96: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

2. IPv6 필터링 설정

가. ip6tables 특징

(1) ip6tables 기능●패킷필터링

packet filtering은 Firewall에서 가장 기본적으로, 그리고 가장많이 사용되는 기능이다. ip6tables 에서는 소스 주소, 목적지 주소,소스포트, 목적지포트, tcp-flags 등다양한방법으로패킷필터링기능을 제공한다. 그리고 조건에 따라 패킷을 허용할 것인지(ACCETP), 차단하고출발지에메시지를보낼것인지(REJECT), 차단하고출발지에아무런메시지도보내지않을것인지(DROP) 등 기본적으로 3개의 체인(Chain)을 제공한다. 2계층에서 MAC 주소로패킷을 제어할 수 있으며, 패킷을 발생시킨 사용자별로도 패킷을 제어할수있다.

●로깅기능다양한 조건에 매칭하는 패킷에 대해서 관리자가 원하는 대로 로

그를남길수있다.

●지원하지않는기능현재 대부분의 Firewall에서는 기본적으로 상태추적 기능

(stateful inspection)을 제공하고있다. 리눅스에서도 iptables에서는상태추적기능을제공하고있으나, ip6tables에서는아직까지상태추적기능을제공하고있지않다.

(2) ip6tables 설치ip6tables 모듈의설치는아래명령을입력하면된다.# modprobe ip6_tables

ip6tables의기능을점검하려면아래명령을입력하면된다.# [! -f /proc/net/ip6_tables_names] && echo “Currentkernel doesn’t support ‘ip6tables’firewalling (IPv6)!”

9922

IPv6 Security

Page 97: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

나. ip6tables의명령어설명ip6tables 명령어는일반적으로다음과같은용법을사용한다.# ip6tables [-t table] 명령어 [매칭옵션] target

[표 3-2]는각각의옵션및명령어들을설명한표이다.

9933

IPv6 Security

3구분 설명

ip6tables는 기본적으로 두개의 table이 존재한다. 하나는 filter table이고[-t table] 다른 하나는 mangle table이다. t 옵션을 명시하지 않으면, 기본적으로

filter table이 사용된다.

A --append : 체인의 제일 마지막에 룰이 추가된다.D --delete : 기존의 보안정책에서 불필요한 룰이나, 잘못된 룰을 삭제한다.I --insert : A 명령어와 같이 룰을 추가하는 것이지만, --append

명령어와는 다르게 룰을 해당 체인의 맨 처음에 추가한다.

명령어 L --list : 현재 설정되어 있는 보안정책의 목록을 보여준다.F --flush : 보안정책을 삭제하는 명령어이다. --delete와 달리 지정한

체인에 대한 모든 룰을 삭제한다.N -new-chain : 세개의 체인 이외의 새로운 체인을 생성한다.X --delete-chain : 지정한 체인을 삭제하는 명령어이다.P --policy : 지정한 체인에 대한 기본적인 정책을 설정하는 명령어이다.Z --zero : 각 체인에 대한 카운터 값들을 초기화한다.

-p(rotocol) : tcp, udp, icmpv6 와 같은 protocol을 지정한다.-s(ource) : 패킷의 소스 주소를 의미한다.-d(estination) : 목적지 주소를 지정한다.-i, -o : 인터페이스를 지정하는 옵션이다. i는 들어오는 인터페이스,

o는 나가는 인터페이스를 의미한다.

[매칭 옵션] --sport : 패킷의 소스포트를 지정한다.--dport : 패킷의 목적지포트를 지정한다.--tcp-flags : 특정한 tcp-flags를 지정하여 매칭되는 패킷을 제어하는

옵션이다.--syn : tcp-flags 중 syn 패킷에 대해서만 제어할 수 있는 옵션이다.--icmpv6-type : icmpv6 type에 대한 옵션을 지정한다.--limit : 지정한 시간동안의 최대 매칭 횟수를 지정한다.

-j LOG : LOG target은 매칭되는 패킷에 대해서 로그를 나기도록 한다.-j ACCEPT : 매칭되는 패킷을 허용한다.

target -j DROP : 매칭되는 패킷을 차단한다.-j REJECT : 매칭되는 패킷을 차단하는 것은 DROP과 동일하지만,

패킷을 보낸 출발지에 대해 지정된 패킷을 전송한다.

ip6tables 옵션 및 명령어 설명표3-2

Page 98: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

다. ip6tables의기본설정모든 IPv6 netfilter 엔트리를확인하려면아래명령을입력한다.

# ip6tables -L(간단히)

# ip6tables -n -v --line-numbers -L(자세히)

명시된 filter의목록을확인하려면아래명령을입력한다.

# ip6tables -n -v --line-numbers -L INPUT

입력 filter에서옵션을사용하여로그규칙을삽입하려면아래명령을입력한다.

# ip6tables --table filter --append INPUT -j LOG --log-prefix “INPUT:”--log-level 7

입력 filter에서옵션을사용하여폐기규칙을삽입하려면아래명령을입력한다.

# ip6tables --table filter --append INPUT -j DROP

번호를이용해서규칙을제거하려면아래명령을입력한다.

# ip6tables --table filter --delete INPUT 1

라. ICMPv6와관련된설정ICMPv6를허용하고자할때, 구버전의커널(패치안된커널버

전 2.4.5와 iptables-1.2.2)을 사용한다면 어떠한 ICMPv6 type도명시할필요가없다.

▶터널링을통해서내부로들어오는ICMPv6를허용하고자할때

9944

IPv6 Security

Page 99: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

# ip6tables -A INPUT -i sit+ -p icmpv6 -j ACCEPT

▶터널링을통해서외부로나가는 ICMPv6를허용하고자할때

# ip6tables -A OUTPUT -o sit+ -p icmpv6 -j ACCEPT

더새로운버전의커널인경우 ICMPv6 type을명시해도된다.

# ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j ACCEPT

마. SSH와관련된설정특정 IPv6 호스트로부터 SSH 연결을 허용하고자 할 때 다음과

같은명령어를입력한다.

▶ 3ffe:ffff:100::1/128 로부터SSH 연결을허용하고자할때

# ip6tables -A INPUT -i sit+ -p tcp -s 3ffe:ffff:100::1/128 --sport 512:65535 --dport 22 -j ACCEPT

▶응답패킷을허용하고자할때

# ip6tables -A OUTPUT -o sit+ -p tcp -d 3ffe:ffff:100::1/128 --dport 512:65535

9955

IPv6 Security

3

Page 100: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

바. 터널링과관련된설정터널링된 IPv6-in-IPv4 패킷을 허용하기 위해, IPv6 Firewall

에허용규칙을설정해야한다.

▶ ppp0 인터페이스 상에서 내부로 들어오는 IPv6-in-IPv4를허용하고자할때

# ip6tables -A INPUT -i ppp0 -p ipv6 -j ACCEPT

▶ ppp0 인터페이스 상에서 외부로 나가는 IPv6-in-IPv4를 허용하고자할때

# ip6tables -A OUTPUT -o ppp0 -p ipv6 -j ACCEPT

▶인터페이스 ppp0 상에서터널링의종단호스트 1.2.3.4로부터내부로들어오는 IPv6-in-IPv4를허용하고자할때

# ip6tables -A INPUT -i ppp0 -p ipv6 -s 1.2.3.4 -j ACCEPT

▶인터페이스 ppp0 상에서 터널링의 종단 호스트 1.2.3.4로 나가는 IPv6-in-IPv4를허용하고자할때

# ip6tables -A OUTPUT -o ppp0 -p ipv6 -d 1.2.3.4 -j ACCEPT

9966

IPv6 Security

Page 101: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

사. TCP 연결과관련된설정보안성을향상시키기위해서내부로들어오는TCP 연결요청을

차단하기위한규칙설정은반드시필요하다.

▶같은 네트워크상의 호스트로 향하는 TCP 연결 요청을 차단하고자할때

# ip6tables -I INPUT -i sit+ -p tcp --syn -j DROP

▶라우터로보호받고있는호스트로향하는TCP 연결요청을차단하고자할때

# ip6tables -I FORWARD -i sit+ -p tcp --syn -j DROP

아. 보안정책설정예제

▶다음은 호스트 A(2001:220:1032:16:204:23ff:fec1:d3ef)로들어오는 ICMPv6 패킷을차단하는보안정책을설정했을때,호스트 B(2001:220:1032:16:207:e9ff:fe04:8b68)에서 호스트A로ping6 테스트를수행한결과이다((그림 3-24) 참조).

- 명령어: # ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j DROP

9977

IPv6 Security

3

ICMPv6 패킷차단테스트1그림3-24

Page 102: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

▶다음은 호스트 A(2001:220:1032:16:204:23ff:fec1:d3ef)에서나가는 ICMPv6 패킷을차단하는보안정책을설정했을때, 호스트A에서호스트B(2001:220:1032:16:207:e9ff:fe04:8b68)로ping6 테스트를수행한결과이다((그림3-25) 참조).

- 명령어: # ip6tables -A OUTPUT -p icmpv6 --icmpv6-type echo-request -j DROP

3. IPSec 설정

가. 지원버전리눅스 커널 버전 2.6.9 이상에서는 IPv4와 IPv6 에서 native

IPSec을지원한다. 또한리눅스에서 IPSec은 USAGI 프로젝트를통해서 구현됐다. IPSec에서 비 키의 교환을 위해 사용되는 IKE 프로토콜은‘racoon’과‘pluto’라는두개의서로다른 IKE 데몬을이용한다. 두 데몬은 설정과 사용법이 각각 다르다. 다음은 그 세부내용을 설명한다. 본절에서 사용된 예제에서는 호스트 A(2001::a)와호스트 B(2001::b)가 IPSec을통해서서로암호통신을하는경우를

9988

IPv6 Security

ICMPv6 패킷차단테스트2그림3-25

Page 103: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

가정한다. IKE 프로토콜을 통해 양 호스트가 비 키 교환이 끝나게되면, 암호 통신을 위한 패킷 교환 시 양쪽 호스트는 ESP를 사용하게된다. 또한 IKE 프로토콜이수행되는동안호스트 A와호스트 B간에 서로 공유하고 있는 비 키를 사용하여 상호 인증을 수행하게된다.

나. IKE 데몬“racoon”IKE 데몬“racoon”은 KAME 프로젝트에서 유래되어, 리눅스에

포팅되었다. 리눅스 배포판에는 ”ipsec-tools”패키지 내에 이 데몬을포함하고있다.

(1) “setkey”툴을이용한 IPSec SA/SP 데이터베이스설정“setkey”는 커널을 위한 보안 정책(Security Policy, SP)을 정의

할때사용한다.

●트랜스포트모드상에서종단간암호화연결설정의예- 파일위치: /etc/racoon/setkey.sh

●터널모드상에서종단간암호화연결설정의예제- 파일위치: /etc/racoon/setkey.sh

9999

IPv6 Security

3

#!/sbin/setkey -f

flush;

spdflush;

spdadd 2001::a 2001::b any -P out ipsec esp/transport//requrie;

spdadd 2001::b 2001::a any -P in ipsec esp/transport//requrie;

Page 104: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(2) IKE 데몬“racoon”설정“racoon”데몬 설정을 위해서는 ”setkey”를 사용하여 보안 정책

을설정한‘racoon.conf’파일이필요하다.다음은설정파일을사용하여“racoon”데몬을설정한예이다.- 파일위치: /etc/racoon/racoon.conf

110000

IPv6 Security

#!/sbin/setkey -f

flush;

spdflush;

spdadd 2001::a 2001::b any -P out ipsec

esp/transport/2001::a-2001::b/requrie;

spdadd 2001::b 2001::a any -P in ipsec

esp/transport/2001::b-2001::a/requrie;

# Racoon IKE daemon configuration file.

# See ‘man racoon.conf’for a description of the format and entries.

path include “/etc/racoon”;

path pre_shared_key “/etc/racoon/psk.txt”;

listen

{

isakmp 2001::a

}

remote 2001::b

{

exchange_mode main;

lifetime time 24 hour;

proposal

{

encryption_algorithm 3des;

hash_algorithm md5;

authentication_method pre_shared_key;

dh_group 2;

}

}

Page 105: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

또한 사전에 미리 공유된 비 키를 설정하는 예는 다음과 같다.호스트 A와 B는 pre-shared key 파일을 똑같이 저장하고 있어야하며, 호스트A의 pre-shared key는호스트B의 identifier를사용하고, 호스트 B의 pre-shared key는호스트A의 identifier를사용해야한다. 또한 IPSec이잘동작하기위해서는pre-shared key 파일의허가권(permission)은 적절히설정되어야한다. (예, # chmod600 /etc/racoon/psk.txt)

- 파일위치: 호스트A(2001::a)의 /etc/racoon/psk.txt

(3) IKE 데몬“racoon”을이용한 IPSec 실행racoon 설정이 끝나면 데몬을 시작해야 한다. 다음은 성공적인

IKE 1단계(ISAKMP-SA)와 2단계(IPSec-SA) 협상 과정을 보여주는예이다.

110011

IPv6 Security

3# gateway-to-gateway

sainfo address 2001::a any address 2001::b any

{

lifetime time 1 hour;

encryption_algorithm 3des;

authentication_algorithm hmac_md5;

compression_algorithm deflate;

}

sainfo address 2001::b any address 2001::a any

{

lifetime time 1 hour;

encryption_algorithm 3des;

authentication_algorithm hmac_md5;

compression_algorithm deflate;

}

# file for pre_shared keys used for IKE authentication

# format is: ‘identifier’‘key’

2001::b kisa

Page 106: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

호스트A,B 모두 racoon 데몬을실행한후 IPSec 설정과통신이올바르게 수행되는지를 확인하기 위해 호스트 A에서 호스트 B로IPv6 ping(ping6)을했을때‘tcpdump’로패킷이교환되는내용을보는예이다.

(4) Red Hat Enterprise Linux 4의 IPSec 설정예Red Hat Enterprise Linux 4(커널버전 2.6.9)시스템을사용하

는 호스트들은 GUI 형태로 IPSec 설정을 할수 있는 기능을 제공하고 있다. 예를 들어 호스트 A(2001::a)와 호스트 B(2001::b)가IPSec 터널을통하여연결하고자한다.

110022

IPv6 Security

# racoon -F -v -f /etc/racoon/racoon.conf

Foreground mode.

2005-12-28 20:07:11 INFO: @(#)ipsec-tools 0.5.2

(http::/ipsec-toolssourceforge.net)

2005-12-28 20:07:11 INFO: @(#)This product linked OpenSSL 0.9.7a Feb 19

2003 (http::/www.openssl.org/)

2005-12-28 20:07:11 INFO: 2001::a[500] used as isakmp port (fd=5)

2005-12-28 20:08:02 INFO: IPsec-SA request for 2001::b queued due to no

phase1 found.

2005-12-28 20:08:02 INFO: initiate new phase 1 negotiation:

2001::a[500] ⇔ 2001::b[500]

2005-12-28 20:08:02 INFO: begin Identity Protection mode.

2005-12-28 20:08:18 INFO: ISAKMP-SA established 2001::a[500]

-2001::b[500] spi:da3d358998ac:accd3089d3390def

2005-12-28 20:08:18 INFO: initiate new phase 2 negotiation:

2001:3f9:800:87::2[0] ⇔ 2001::b[0]

2005-12-28 20:08:25 INFO: IPsec-SA established: ESP/Tunnel 2001::b →

2001::a spi=2345325 (0xf5affd)

2005-12-28 20:08:18 INFO: IPsec-Sa established: ESP/Tunnel 2001::a →

2001::b spi=2753293 (0xfc330b)

20:40:33.34278 2001::a > 2001::b ESP(spi=0x09a5349, seq=0x3)

20:40:33.54355 2001::b > 2001::a ESP(spi=0x0ba3cdc5, seq=0x3)

Page 107: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

IPSec 연결을위해다음과같은정보를수집해야한다.▶양쪽호스트의 IP 주소▶ IPSec 연결을식별하고다른장치나연결(예, multicast_IPsec)

로부터구분할수있게해주는IPSec 고유이름▶고정암호키또는 racoon이자동으로생성한암호키▶연결을 초기화하고 세션 중 암호키를 교환하는데 사용되는 미

리공유된인증키(preshared key)

다음은 Red Hat Enterprise Linux 4에서 제공하는 GUI형태의IPSec 설정의 예이다. 다음과 같이 호스트 A(2001::a)의 네트워크설정 화면(실행 경로: 프로그램 → 시스템 설정 → 네트워크)에서IPSec을설정할수있는탭을볼수있다.

110033

IPv6 Security

3

Page 108: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

다음은새로만들기를선택한후순서대로진행하면된다.

다음은 IPSec 연결을 식별하고 다른 장치나 연결(예,multicast_IPsec)로부터이 IPSec 연결을구분할수있게해주는고유이름인별명(Alias name)을입력한다.

110044

IPv6 Security

Page 109: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

다음은 IPSec 연결 모드(Transport 모드, Tunnel 모드) 중에서transport 모드로연결하는과정이다.

암호화 모드는 고정 키를 사용하는 수동 암호화 모드와 racoon데몬을통한자동암호화모드가있다. 다음은이중에서 racoon 데몬을사용하는예이다.

110055

IPv6 Security

3

Page 110: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

다음은 IPSec 연결을 할 원격 호스트 B(2001::b)의 주소를 입력한다.

다음은 키 인증을 사용하기 위해 호스트 A와 호스트 B가 공유할인증키를 설정하는 부분이다. 생성 버튼을 클릭해서 임의로 넣어주거나다음과같이고정키(kisa)를입력할수있다.

110066

IPv6 Security

Page 111: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

마지막으로 설정한 부분의 내역을 확인할 수 있다. 적용 버튼을클릭함으로써하나의 IPSec 프로파일이생성된다.

IPSec 프로파일을사용하기위해서는다음과같이활성화를해야한다.

위와같은과정은마찬가지로호스트B에서도똑같이적용된다.

110077

IPv6 Security

3

Page 112: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

다음은 호스트 B와 호스트 간 IPSec 연결을 위해 사용된 호스트A의 ifcfg 파일이다.

- 파일위치: /etc/sysconfig/network-scripts/ifcfg-multicast_IPsec

호스트 A는 DST 부분을 호스트 B의 주소로 입력하고, 호스트 B는 호스트 A의 주소로 입력한다. 이 연결은 부팅시 시작되도록(ONBOOT=yes) 설정되었으며, 이미 공유된 키(preshared key) 인증방식(IKE_METHOD=PSK)을사용한다.

공유된 키 파일은 양 호스트들이 상대 호스트를 인증하는데 필요하다. 이파일의내용은양호스트에서동일해야하며루트사용자만이이파일을읽거나수정할수있다.

- 파일위치: /etc/sysconfig/network-scripts/keys-multicast_IPsec

다음은 원격 호스트로 1 단계 IPSec 연결을 하는데 사용되는 설정파일의예이다. 이파일은 IPSec 터널이활성화되면자동으로생성되므로직접수정해서는안된다.

- 파일위치: /etc/racoon/2001::b.conf

110088

IPv6 Security

DST=2001::b

TYPE=IPSEC

ONBOOT=yes

IKE_METHOD=PSK

IKE_PSK=kisa

Page 113: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

IPSec 실행을 위한 racoon 설정 파일은 /etc/racoon/2001::b.conf 문장을 제외한 모든 부분이 똑같아야 한다. 다음은 호스트A의 racoon 설정파일의예를나타낸다.

- 파일위치: /etc/racoon/racoon.conf

110099

IPv6 Security

3remote 2001::b

{

exchange_mode aggressive, main;

my_identifier address;

proposal {

encryption_algorithm 3des;

hash_algorithm sha1;

authentication_method pre_shared_key;

dh_group 2;

}

}

# Racoon IKE daemon configuration file.

# See ‘man racoon.conf’for a description of the format and entries

path include “/etc/rcoon”;

path pre_shared_key “/etc/racoon/psk.txt”;

path certificate “/etc/racoon/certs”;

sainfo anonymous

{

pfs_group 2;

lifetime time 1 hour;

encryption_algorithm 3des, blowfish 448, rijndael;

authentication_algorithm hmac_sha1, hmac_md5;

compression_algorithm deflate;

}

include “/etc/racoon/2001::b.conf”

Page 114: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

이 기본 racoon.conf 파일에는 IPSec 설정, 기존 공유 키 파일및 인증서의 지정된 경로가 포함된다. sainfo anonymous 항목은IPSec 호스트 간 2 단계 SA-IPSec 연결 속성 (사용된 암호화 알고리즘포함) 및키교환방식을설명한다.

연결을시작하려면호스트를재부팅하거나각호스트에서 root로로그인한후다음명령을실행하면된다.

IPSec 연결을검사하려면 tcpdump 유틸리티를실행하여호스트간 (네트워크 간)에 전송되는 네트워크 패킷이 IPSec을 사용하여 암호화되었는지 확인할 수 있다. 패킷은 AH 헤더를 포함해야 하며ESP 패킷으로 보내져야 한다. ESP는 패킷이 암호화되었다는 것을의미한다.

다. IKE 데몬“pluto”IKE 데몬“pluto”는 S/WAN 프로젝트의 산출물 속에 포함되어

있다. S/WAN 프로젝트는 FreeS/WAN으로 시작했지만,FreeS/WAN은 2004년도에 중지되었다. 현재는 strongSwan과OpenSwan으로나뉘어수행하고있다.“racoon”과의 주요한 차이점은 단지 하나의 설정 파일만 사용된

다는 점과 부팅 후 자동 설정을 위한 초기화 스크립트가 존재한다는것이다.

(1) IKE 데몬“pluto”설정IKE 데몬“pluto”설정에 사용되는 설정 파일은 IPv4에서와 거

의유사하며, 단지하나의옵션만사용된다. 다음은”pluto”데몬설정을수행한예이다.

- 파일위치: /etc/ipsec.conf

111100

IPv6 Security

/sbin/ifup multicast_IPsec

15:23:26.746712 IP 2001::a > 2001::b: AH(spi=0x03e100, seq=0x37):

ESP(spi=0x09c1243, seq=0x37)

Page 115: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

다음은미리공유된비 키에대한정의의예는다음과같다.

(2) IKE 데몬“pluto”를이용한 IPSec 실행Openswan의설치성공후 IPSec을실행한다.

이후 다른 호스트와 연결을 실행할 때, 다음과 같이“IPSec SAestablished”라는말이나오면모든과정이끝난것이다.

111111

IPv6 Security

3

2001::a 2001::b : PSK “kisa”

# /etc/rc.d/init.d/ipsec start

# /etc/ipsec.conf - Openswan IPsec configuration file

#

# Manual: ipsec.conf.5

version 2.0 # conform to second version of ipsec.conf specification

# basic configuration

config setup

# Degub-logging controls: “none”for (almost) none, “all”for lots.

# klipsdebug=none

# plutodebug=”control parsing”

#Disable Opportunistic Encryption

include /etc/ipsec.d/examples/no_oe.conf

conn ipv6-p1-p2

connaddrfamily=ipv6 # Important for IPv6!

left=2001::a

right=2001::b

authby=kisa

esp=aes128-modp1024

type=transport

compress=no

auto=add

Page 116: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

111122

IPv6 Security

# ipsec auto --up ipv6-peer1-peer2

104 “ipv6-p1-p2”#1: STATE_MAIN_I1: initiate

106 “ipv6-p1-p2”#1: STATE_MAIN_I2: sent MI2, expecting MR2

108 “ipv6-p1-p2”#1: STATE_MAIN_I3: sent MI3, expecting MR3

004 “ipv6-p1-p2”#1: STATE_MAIN_I4: ISAKMP SA established

112 “ipv6-p1-p2”#2: STATE_QUICK_I1: initiate

004 “ipv6-p1-p2”#2: STATE_QUICK_I2: sent QI2, IPsec SA

established (ESP ⇒ 0xa878db9 < 0xa234dce)

Page 117: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

본 절에서는 FreeBSD기반의 IPv6 라우터 및 호스트의 설정 방법에대해알아보자.

1. FreeBSD에서 IPv6 설정

FreeBSD 5.4는 설치 도중, IPv6를 사용할지를 질의한다. 설치후에는, 아래와 같이 인터페이스에 할당된 IPv6 주소를 확인할 수있다.

※ 설명을 위한 참고 그림은 FreeBSD 5.4 기준

가. IPv6 주소확인

ifconfig 명령어를 사용하면 IPv6 주소를 확인할 수 있다. grep명령어를통해필터링하면출력결과는보다분명해진다.

IPv6 모듈적재및활성화여부확인

# ifconfig | grep inet6

IPv6 주소확인그림3-26

111133

IPv6 SecurityFree BSD 제 절2 3

Page 118: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(그림 3-26)에서 IPv6가 활성화되어 있음을 알 수 있다. 단,IPv6 주소가 fe80:: 으로시작하는 IPv6 Link-local 주소로랜구간을넘어선통신은불가능한상태이다.

사용자의 네트워크 환경이 IPv6 주소 자동설정(auto-configuration)을지원하거나다른방식의주소설정을사용할경우 (그림 3-3)와는다른결과가보일수있다.

나. 로벌 IPv6 주소의자동설정

/stand/sysinstall이라는 프로그램을 이용하면 보다 손쉽게IPv6 설정을 할 수 있다. /stand/sysinstall은 FreeBSD의 설정에사용되며, 소프트웨어설치, 사용자 관리, 네트워킹 설정, 터미널 관리, 디스크레이블관리등의다양한용도로쓰인다. 해당프로그램을사용하기위해서는 root 권한이필요하다.

/stand/sysinstall를 구동시킨뒤‘Configure’항목을 선택한다.항목간의이동은 TAB키와이동키로가능하며, 선택은스페이스바를이용한다.

로벌 IPv6 주소의자동설정

# /stand/sysinstall

로벌IPv6 주소의자동설정1그림3-27

111144

IPv6 Security

Page 119: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

‘Configure’항목중에서‘Networking’항목을선택한다.

‘Networking’항목중에서‘Interfaces’항목을선택한다.

로벌IPv6 주소의자동설정2그림3-28

로벌IPv6 주소의자동설정3그림3-29

111155

IPv6 Security

3

Page 120: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

‘Interfaces’항목 중에서 설정을 원하는 네트워크 장비를 선택한다.

(그림 3-31)과같이 IPv6 설정여부를확인한다. IPv6를사용하기위해서는‘yes’를 선택하고 다음 단계로 진행하면, (그림 3-9)와 같이 시스템이 자동으로 RA(Router Advertisement) 메시지를 스캔한다. 이 RA 메시지는 라우터가 전송하며, IPv6 주소 자동 설정을위한프리픽스정보가포함되어있다. 본실험에서는RA메시지를통한자동설정이아닌수동설정을기준으로설명한다.

로벌IPv6 주소의자동설정4그림3-30

로벌IPv6 주소의자동설정5그림3-31

111166

IPv6 Security

Page 121: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

RA 서버탐색이 끝나면 DHCP 설정여부를 묻는데, 여기서는‘no’로 설정하고 다음 단계로 진행하면, IPv4 주소를 설정할 수 있는화면이보인다. IPv6 주소를설정하려면 /stand/sysinstall을 종료한후, ifconfig 명령을이용하여야한다.

로벌IPv6 주소의자동설정6그림3-32

로벌IPv6 주소의자동설정7그림3-33

111177

IPv6 Security

3

Page 122: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

이상의설정이끝나면인터페이스를활성화시킬것인지여부를 (그림 3-34)와 같이 묻는다. ‘yes’로 설정한뒤‘Exit’항목을 (그림 3-12, 13)과같이계속적으로선택하여/stand/sysinstall을종료한다.

로벌IPv6 주소의자동설정8그림3-34

로벌IPv6 주소의자동설정9그림3-35

111188

IPv6 Security

Page 123: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

다. 로벌 IPv6 주소의수동설정

IPv6 주소의수동설정은 ifconfig 명령을통해가능하다. 예를들어 lnc0라는 인터페이스에 로벌 IPv6 주소인‘2001::a/64’을 설정하려면 (그림 3-37)와같이수행하면된다.

로벌IPv6 주소의자동설정10그림3-36

로벌 IPv6 주소의자동설정예제

# ifconfig lnc0 inet6 add 2001::a/64

로벌IPv6 주소의수동설정그림3-37

111199

IPv6 Security

3

Page 124: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

ifconfig 명령으로 확인하면 프리픽스 길이가 64비트인 로벌IPv6 주소가설정되어있음을알수있다.

수정한 IPv6 주소를 적용하기 위해서는 FreeBSD를 재시작하거나 (그림 3-38)과같이’/etc/netstart’명령어를실행하면된다.

라. 6to4 터널(Tunnel) 가상인터페이스설정

IPv4기반의 네트워크를 일시에 IPv6로 대체하기에는 현실적인어려움이있어당분간 IPv4와 IPv6가 혼재된네트워크가사용될것으로 예상된다. 이러한 혼재된 네트워크 환경을 위한 전환기술 중의하나가IPv4/IPv6 터널링이며, 터널(Tunnel)을 설정하기 위해서는터널 가상(논리적) 인터페이스를 만들고, 프리픽스 할당 및 라우팅설정을 하여야 한다. 본 장에서는 6to4 터널링(Tunneling)의 구성하는방법을살펴보기로한다

IPv6 주소의적용그림3-38

112200

IPv6 Security

Page 125: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(1) 6to4 터널가상인터페이스생성

위의명령어를사용하면 (그림 3-39)와 같이 stf0 라는 이름으로6to4 터널가상인터페이스가생성된다.

(2) Local 6to4 게이트웨이주소를터널가상인터페이스에추가

6to4 터널링은 IPv6 주소를 생성하는 것이 아니고 프리픽스(Prefix)를생성하는것이기때문에6to4 Prefix가존재한다. 따라서6to4 터널을 이용하기 위해서는 시스템의 IPv4 주소를 이용하여6to4 네트워크에 사용할 프리픽스를 계산해야 한다. 6to4 프리픽스는 16진수로 변경한 IPv4 주소를 2002 뒤에 4자리씩 나열한 값이된다. 즉, IPv4 주소가 172.16.4.226을 사용한다면 6to4 프리픽스주소는 2002:AC.10.4.E2/16 가 된다. (10진수 172.16.4.226를 16진수로변환하면 AC.10.4.E2가 된다.)또한게이트웨이주소는 6to4프리픽스에 ::1을더한형태로생성한다. 위의내용을정리해보면다음과같다.

6to4 터널가상인터페이스생성그림3-39

6to4 터널가상인터페이스생성

# ifconfig stf0 create

112211

IPv6 Security

3

Page 126: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

[IPv4 주소가 172.16.4.226 인사용자]IPv4 주소의 16진수로변환- AC.10.4.E26to4 프리픽스- 2002:AC.10.4.E2/166to4 게이트웨이주소- 2002:AC.10.4.E2::1/16

이제계산한프리픽스를사용하여게이트웨이를설정할수있다.

6to4 게이트웨이주소는‘ifconfig’명령어를사용하여 (그림 3-40)과같이확인할수있다.

(3) 6to4 라우팅설정

외부Global IPv6 네트워크와연결하기위한마지막단계는라우팅설정이다.

6to4 인터페이스에로컬6to4 게이트웨이추가

# ifconfig 6to4_interface inet6 local_6to4_gateway_address prefixlen 16 alias

6to4 라우팅설정

# route add -inet6 default 6to4릴레이라우터주소

stf0 인터페이스에로컬6to4 게이트웨이추가그림3-40

112222

IPv6 Security

Page 127: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

6to4 릴레이 라우터의 IPv6 주소를 2001::b라고 가정하면 설정예는 (그림 3-41)과같다.

[6to4 라우팅 설정예]route add -inet6 default 2001::b

마. ping6 명령어

IPv6 주소를 사용하는 호스트는 ping6 명령을 이용하여 호스트의가용성을테스트할수있다. (그림 3-42)는 호스트 2001::a에서ping6 명령어를 사용하여 호스트 2001::b의 가용성을 테스트 한 결과이다. -c 옵션을사용하면전송할패킷의수를지정할수있다.

IPv6 디폴트게이트웨이그림3-41

112233

IPv6 Security

3

Page 128: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

바. IPv6 라우터의설정

(1) Kernel Network Information Table의설정

FreeBSD 호스트를 IPv6 라우터로 사용하기 위해서는 게이트웨이 기능을 활성화하고, 각 인터페이스에 네트워크 세그먼트별로IPv6 프리픽스를결정하여야한다. 구체적으로네트워크설정파일인/etc/rc.conf에 다음의 엔트리들을 포함시켜야 한다. 단, IPv6 라우터가세그먼트2001:1:1:1/64와 2001:1:1:2/64를각각 eth0, eth1 2개의인터페이스로분리한다고가정하자.

ping6 테스트그림3-42

ipv6_enable = “YES” # IPv6 기능의활성화

ipv6_network_interfaces=”eth0 eth1”

ipv6_prefix_eth0=”2001:1:1:1”# 세그먼트별로광고할프리픽스

ipv6_prefix_eth1=”2001:1:1:2”# 세그먼트별로광고할프리픽스

ipv6_ifconfig_eth0=”2001:1:1:1::1 prefixlen 64”

ipv6_ifconfig_eth1=”2001:1:1:1::2 prefixlen 64”

ipv6_gateway_enable=”YES”# 라우터로사용

rtadvd_enable=”YES” # IPv6 라우터광고데몬의활성화

112244

IPv6 Security

Page 129: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

(2) 라우터의설정및동작검사

라우터를재부팅하고 ifconfig, netstat 명령등을통해네트워크인터페이스가 제대로 설정되었는지 확인한다. 또한, ping6 등의 유틸리티를이용하여 IPv6 네트워킹기능이정상으로동작하는지확인한다.

일반적으로 IPv6에서는 프리픽스 광고 기능을 사용한다. 따라서세그먼트내의호스트들은별도로설정할필요가없다.

2. IPv6 필터링 설정

가. IPFW 활성화

IPFW(IPFIREWALL)은 FreeBSD 에서보편적으로사용되는 IP필터링, 트래픽조정도구로관련모듈을동적으로로딩하거나, 커널설정파일에옵션을설정하고커널을다시시작하는방법으로활성활할수있다. 본 절에서는동적활성화에초점을두어기술하 다. 참고로 IPv6 트래픽을제어하는모듈의이름은 ip6fw이다.

※ 본문 중 대문자로 쓰인 IPFW은 Firewall 자체를, 소문자로 쓰인 ipfw는

FreeBSD 명령어를 의미함

FreeBSD에서는 kldstat라는 유틸리티를 사용하여 커널에 동적으로연결된모듈들을 (그림 3-43)과같이살펴볼수있다.

동적모듈의확인

# kldstat

112255

IPv6 Security

3

Page 130: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

동적으로 IPFW을활성화시키려면 kldload라는유틸리티를사용하여야 한다. kldload는 모듈을 동적으로 커널에 올리는 역할을 하며 (그림 3-44)와같이사용할수있다.

IPFW이활성화되는순간해당시스템으로의모든접근시도가차단된다. 그러므로 원격에서 IPFW을 활성화하면 그 순간 해당 시스템과의접속이끊기게됨에주의해야한다. 본예제에서는이러한상황을고려하지않고설명한다.

동적모듈의확인(Firewall 모듈활성화이전)그림3-43

IPv6 Firewall 모듈의로딩그림3-44

IPFW : 동적로딩

# kldload ip6fw

112266

IPv6 Security

Page 131: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

IPFW이 활성화된 상태에서 kldstat로 확인하면 (그림 3-45)와같이 ip6fw 모듈이추가되었음을알수있다.

IPFW을 비활성화하려면 (그림 3-46)과 같이 kldunload 명령을이용하여 ip6fw 모듈을제거하면된다.

동적모듈의확인(Firewall 모듈활성화이후)그림3-45

동적모듈의제거그림3-46

ip6fw 동적모듈의제거

# kldunload ip6fw

동적모듈의확인

# kldstat

112277

IPv6 Security

3

Page 132: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

나. IPFW 명령어

IPFW의 Firewall 룰은 명령어 ipfw를 이용하여 추가/삭제/재설정/열람할수있다. 명령어를요약하면 [표 3-3]와같다.

ipfw의열람명령을이용하면 (그림 3-47)과 같이현재설정되어있는룰셋을살펴볼수있다.

IP 프로토콜전부가차단되어있음을알수있다. 이렇게 IP 프로토콜이 차단된 상태의 호스트(2001::a)에 (그림 3-48)과 같이 ssh접속을시도해보면해당호스트가다운되어있다는메시지가나온다.

명령어 구분 기능

추가/삭제(addition/deletion) 패킷을 받아들이고, 거부하고, 기록하는 방법을 제어하는규칙 추가/삭제

열람(listing) 룰 셋의 내용과 패킷 카운터 조사

전체 삭제(flushing) 룰 셋의 모든 엔트리 일괄 삭제

재설정 (clearing) 어카운팅 엔트리를 초기화

IPFW 명령어의 구분표3-3

룰셋의열람

# ipf6w show

Firewall 룰셋열람(설정이전)그림3-47

112288

IPv6 Security

Page 133: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

따라서 네트워킹이 가능토록 하기 위해서는 룰을 추가하여 정당한트래픽이통과할수있도록설정해야한다.

다. IPFW 룰의추가/삭제

IPFW 룰의추가/삭제를위한명령어는아래와같은형식을갖는다.

※‘[ ]’내부의 구문은 선택적으로 사용할 수 있음

ssh 접속

# ssh 2001::a

접속시도(설정이전)그림3-48

IPFW 룰의추가/삭제

# ipfw [-cq] 명령 [인덱스] 동작 [log] 프로토콜주소 [옵션]

112299

IPv6 Security

3

Page 134: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

Rule 추가/삭제와관련된파라미터는 [표3-4]와같다.※ [옵션]의 일부는 생략되었음

예를 들어 IPv6 주소 2001::a를 찾는 호스트가 2001::b로부터ssh(tcp 포트 22) 접속요청을허용하도록 IPFW의룰셋을설정하려면 (그림 3-49)와 같이 명령하면 된다. 해당 룰셋번호는 편의상00100로설정하 다.

구분 설명

[-c] - rule의 설정 및 출력을 간결한 형태로 가능하게하는 옵션[-q] - action의 결과로 출력되는 문자열 소거

명령 add : Firewall 룰 추가delete : Firewall 룰 삭제

[인덱스] 룰을 특정한 인덱스 위치에 두려고 할 때 해당 인덱스를 명시

allow : 패킷을 허용

동작 deny : 송신자에게 통보없이 패킷 폐기reject : 패킷을 폐기하고 송신자에게 그 사실을 통보count : 패킷 허용/폐기없이 카운터만 갱신

[log] 대응되는 룰이 IPFIREWALL_VERBOSE로 컴파일된 경우에 시스템 콘솔에 출력

all : 모든 IP 패킷에 대응

프로토콜 icmp : ICMP 패킷에 대응tcp : TCP 패킷에 대응udp : UDP 패킷에 대응

주소 from <주소/넷마스크>[포트] to <주소/넷마스크>[포트] [via <인터페이스>]

frag : 데이터그램의 첫번째 조각이 아닌 패킷에 대응in : 들어오는 패킷에만 대응

[옵션] out : 나가는 패킷에만 대응established : 패킷이 이미 확립된 TCP 연결(예: RST나 ACK비트가 지정된)의 일부인 경우에 대응setup : TCP 연결 확립 시도를 하는 패킷에 대응

IPFW 파라미터 설명표3-4

113300

IPv6 Security

예제 : b -> a 로의 ssh 접속허용

# ip6fw add 00100 allow tcp from 2001::b to 2001::a 22

Page 135: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

ssh는 서버와 클라이언트가 대화식(interactive)으로 동작한다.즉, 2001:a에서 2001:b로 향하는 트래픽도 존재하므로 여기에 대해서도 IPFW 룰셋을정의해야한다. 이때는 1024번이상의임의의포트가 사용될 수 있으므로 (그림 007)과 같이 모든 포트를 허용해야한다. 특정한 포트를 기재하지 않으면 모든 포트를 지칭한다. 해당룰셋번호는편의상00200로설정하 다.

ip6fw의확인명령을이용하면 (그림 3-51)과같이 IPFW의룰셋이변경되었음을알수있다.

예제 : a -> b 트래픽의허용

# ip6fw add 00200 allow tcp from 2001::a to 2001::b

ssh 접속허용( b->a 접속요청)그림3-49

트래픽허용( a->b 접속요청)그림3-50

113311

IPv6 Security

3

Page 136: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

이렇게 IPFW의 룰셋을 조정한 후에는 (그림 3-52)와 같이 ssh접속이가능하다.

룰셋의열람

# ip6fw show

Firewall 룰셋열람(설정이후)그림3-51

ssh 접속

# ssh 2001::a

ssh 접속성공(설정이후)그림3-52

113322

IPv6 Security

Page 137: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

그러나 호스트 2001::a의 IPFW룰셋에는 ICMP6가 허용되어있지않으므로 (그림 3-53)에서와같이ping6로는호스트의상태를알수없다.

Firewall 룰을 삭제하려면 룰셋번호를 이용하여 삭제한다. 예를들어‘ip6fw add 00200 allow tcp from 2001::a to 2001::b’를삭제하려면 (그림 3-54)와같이룰셋번호를명시하여명령어를구성한다.

ping6

# ping6 2001::a

예제 : Firewall 룰의삭제

# ip6fw delete 00200

Firewall에의해차단된ICMP6 패킷그림3-53

Firewall 룰의삭제그림3-54

113333

IPv6 Security

3

Page 138: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

ip6fw의 열람 명령을 이용하면 (그림 3-55)와 같이 IPFW의00200 룰이삭제되었음을알수있다.

3. IPSec 설정

FreeBSD의 IPsec은 IPv4 와 IPv6 를 지원하는 KAME(http://www.kame.net/) 프로젝트를기반으로한다.

IPsec 는 ESP(Encapsulated Security Payload)와 AH(Authentication Header)라는 두 개의 서브 프로토콜로 이루어진다. 이 중ESP는대칭암호화알고리즘으로패킷의페이로드를암호화하여보호한다. AH는 암호화된 체크섬을 계산하고 IP 패킷 헤더 필드를 해싱하여불법적인패킷캡쳐및변조로부터 IP 패킷헤더를보호한다.ESP 와 AH는 환경에 따라 같이 사용하기도하고 따로 사용할 수도있다.

IPsec 는두호스트사이의트래픽을직접암호화할수있고안전한통신을위해두개의서브넷에터널모드(Tunnel Mode) 라는“가상 터널”을 생성할 수 있다. 후자는 일반적으로 가상 사설 망

113344

IPv6 Security

룰셋의열람

# ip6fw show

Firewall 룰셋확인(룰삭제이후)그림3-55

Page 139: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

113355

IPv6 Security

3(Virtual Private Network (VPN))으로 더 알려져 있다. FreeBSD에서의 IPSec 설정은 레드헷 리눅스 시스템과 동일하게 racoon을통해가능하며상세설정내용은본안내서의 3장 1절의 3. IPSec 설정의내용을참조하길바란다.

Page 140: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

IPv6는 IPv4에비해향상된보안기능을제공하고있으며, IPSec의기능을최대한으로활용하는경우, 많은보안공격을예방할수있다. 다만, IPv6에서의보안이슈는 IPv4에서와같이공격자가악의적인 의도를 갖고 메시지 변조, 위장 등 비정상적인 행위를 통한 공격에노출되어있으며, 이를 해결하기위해서는자체 IPSec 및 필터링기능등을최대한활용하고, Firewall, IDS 등의 부가적인보안장비를 활용하여 예방할 필요가 있다. 또한 응용계층에서의 보안문제는IPv6 네트워크계층에서모두해결할수없으므로계층별보안솔루션을이용하여사전에예방하는것이중요하다.

현재, 제품별로 IPsec 기능이 제한적으로 지원되는 경우가 많으며, 향후 IPsec 키관리 등 표준화에 대한 진전과 함께 IPsec 서비스가점차안정적으로제공될것으로예상된다.

본 운 안내서에서는 상용 및 PC기반 IPv6 라우터의 ACL 및IPSec 설정방법을설명하 다. 라우터단에서의대응으로 IPv6 주소및 ICMP 메시지타입등에대한필터링, IPSec의사용등을통해보안공격을예방할수있으며, 확장헤더, hop-by-hop 옵션헤더그리고 터널링 패킷을 이용한 보안공격은 IPv6기반의 Firewall, IDS 등을통해해결할수있을것이다.

운 보안 안내서를 개발하면서 좀 더 충실한 내용으로 구성하려고 했지만 IPv6 IPSec 관련자료의 부족 및 윈도우즈, 리눅스,FreeBSD 등의 실험에서 나타난 IPSec의 제한적인 지원, 운 체제버전별 설정방법의 미묘한 차이, 구현된 IPSec 관련 모듈의 계속적인 변경 등으로 인해 충분한 설명이 부족한 부분도 있다. 이러한 부분은향후추가적인자료의수집및실험을통해보완해나갈예정이다. 끝으로, 본 운 안내서를통해, 안전한 IPv6 운 을위한첫발걸음이될수있기를바란다.

4제4 장결론

113366

IPv6 Security

Page 141: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

113377

IPv6 Security약 어

ACL Access Control List

AH Authentication Header

CA Certificate Authority

ESP Encapsulating Security Payload

IKE Internet Key Exchange Protocol

IPSec Internet Protocol Security

IPv4 Internet Protocol version 4

IPv6 Internet Protocol version 6

ISAKMP Internet Security Association and Key ManagementProtocol

RA Server Router Advertisement Server

RPF Reverse-Path-Forwarding

SSH Secure SHellSQLStructured Query Language

TCP Transmission Control Protocol

UDP User Datagram Protocol

URL Uniform Resource LocatorUSAGIUniverSAlplayGround for Ipv6

VPN Virtual Private Network

Page 142: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

113388

IPv6 Security

참고문헌

[1] IPv6보안기술안내서,”한국인터넷진흥원, 2010.2.

[2] CISCO, “Implementing Security for IPv6”,http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/ipv6_c/sa_secv6.pdf

[3] Martine Dunmore, “IPv6 Deployment Guide,”6NET Consortium,2005.10.

[4] CISCO, “Implementing Traffic Filters and Firewalls for IPv6Security”,http://www.cisco.com/en/US/products/sw/iosswrel/ps5187/products_configuration_guide_chapter09186a0080573bf9.html

[5] Russel Lusingnan et al, “Managing CICSO Network Security :Building Rock-Solid Networks,”SYNGRESS, 2000.

[6] Juniper Networks,http://juniper.net/security/index.html?from=HomePage-Header-to-JSecurity

[7] 6WIND, “6WINDGate User’s Guide,”http://www.modacom.co.kr, 2005.

[8] Peter Bieringer, “Linux IPv6 HOWTO”, Revision Release 0.49,2005

[9] USAGI Project(UniverSAl playGround for Ipv6) - Linux IPv6Development Project, http://linux-ipv6.org

[10] KAME Project, http://www.kame.net

[11] Vsix, http://www.vsix.net

[12] IPv6 포럼코리아기술문서2001-003

Page 143: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

113399

IPv6 Security참고문헌

[13] “한 FreeBSD 핸드북“, http://krFreeBSD.org

[14] KREONET IPv6 통합사이트, http://www.ipv6.re.kr

[15] Michael Lucas, “ABSOLUTE BSD”, 2002

Page 144: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4
Page 145: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

본안내서의작성을위하여다음과같은분들께서수고하셨습니다.

2010년 2월

총괄책임자 한국인터넷진흥원 단 장 원유재인 터 넷 정 책 단

선임연구원 신동명융합보호R&D팀 책임연구원 윤미연기업보안관리팀 선임연구원 오규철융합보호R&D팀 책임연구원 지승구

주임연구원 김중만위촉연구원 현호재

Page 146: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

분류 안내서·해설서 해당 명 발간년월 상 수

인터넷진흥

DNS 설정 안내서 시스템 리 ‘09년 IT시스템 리자

인터넷주소분쟁해결 안내서 도메인 매년발간offline 일반

모바일 RFID코드 OID기반 RFID코드 용 안내서 무선인터넷 '09.8 IT기업개발자

13.56MHz 역의 OID 용을 한 미들웨어 개발 안내서 무선인터넷 ‘09.12 IT기업개발자

공공기 IPv6 용 안내서 IP ‘08.12 IT시스템 리자

인터넷이용

활성화

본인확인제 안내서 인터넷윤리 ‘09.2 일반․업무 계자

본인확인제 만화 안내서 인터넷윤리 ‘09. 일반

BcN 정보보호 안내서 인터넷서비스보호

‘07./’10.1 IT시스템 리자

정보보호시스템

침해사고 분석 차 안내서 해킹 응 ‘10.1 IT시스템 리자 고

웹서버구축 보안 검 안내서

웹보안지원 ‘10.1 IT시스템 리자 고웹어 리 이션 보안 안내서

홈페이지 개발보안 안내서

무선랜 보안 안내서 해킹 응 ‘08.10/’10.1 일반

침해사고 응 (CERT) 구축/운 안내서 상황 제 ‘07.9 업무 계자

WebKnight를활용한 IIS 웹서버 보안 강화 안내서

웹보안지원 ‘09.6 IT시스템 리자WebKnight 로그 분석 안내서

ModSecurity를 활용한 아 치 웹서버 보안 강화 안내서

보안서버구축 안내서 개인정보보호 ‘08.7 IT시스템 리자

정보보호인증 IT보안성 평가․인증 안내서 공공서비스보호 ‘09.12 일반․업무 계자

기업정보보호

정보보호 안 진단 해설서 기업보안 리 '08.4/'10.1 업무 계자

정보보호 안 진단 업무 안내서 기업보안 리 '10.1 업무 계자

정보보호 리체계 안내서 기업보안 리 ‘09.12 일반

신규서비스

정보보호

패스워드 선택 이용 안내서 융합보호R&D '10.1 일반

암호이용 안내서 융합보호R&D '07.12/'10.1 일반

IPv6운 보안 안내서 융합보호R&D ‘06.12 IT시스템 리자

IPv6보안기술 안내서 융합보호R&D ‘05. 일반

와이 로 보안기술 안내서 융합보호R&D '06.8 IT시스템 리자

암호 알고리즘 키 길이 이용 안내서 융합보호R&D ‘07 IT시스템 리자

(기업 기 의 IT 정보자산 보호를 한) 암호정책

수립 기 안내서융합보호R&D ‘07 IT기업개발자

(정보의 안 한 장과 리를 한) 보조기억매체 이용

안내서융합보호R&D ‘09 일반

웹사이트 회원탈퇴 기능 구 안내서 융합보호R&D ‘06 IT시스템 리자

개인정보의 기술 ․ 리 보호조치 기 해설서 개인정보보호기획 ‘09.9 업무 계자

치정보의 보호 이용 등에 한 법률 해설서개인정보보호

기획 ‘08.12 업무 계자

치정보보호를 한 리 ·기술 보호조치 권고 해설서 개인정보보호기획

‘08.11/‘10.1 업무 계자

개인정보 웹사이트 개발․운 을 한 개인정보 안내서개인정보보호

기술 ‘09.11IT기업

개발자․ 리자

I-PIN 2.0 도입 안내서 개인정보보호기술 ‘09.7 업무 계자

김 리, 개인정보보호 달인되기 이용자권익보호 ‘09.8 업무 계자

기업의 개인정보 향평가 수행을 한 안내서 이용자권익보호 ‘09.1 업무 계자

스팸 사업자를 한 불법스팸 방지 안내서 스팸 응 ‘08.9 일반․업무 계자

인력양성

지식정보보안 신규일자리 창출사업 세부시행 안내서 KISA아카데미 ‘09. 업무 계자

총40종

《 한국인터넷진흥원(KISA) 안내서·해설서 시리즈 》

Page 147: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4

IPv6 운 보안 안내서

(라우터 편)

2010년 2월 인쇄

2010년 2월 발행

발행처: 한국인터넷진흥원

서울특별시 송 구 가락동 79-3번지

동빌딩 한국인터넷진흥원

Tel: (02) 405-4118

인쇄처: 한올

Tel: (02) 2279-8494

<비매품>

■ 본 안내서 내용의 무단 재를 하며,

가공․인용할 때에는 반드시 한국인터넷진흥원

『IPv6 운 보안 안내서』라고 출처를 밝 야

합니다.

Page 148: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4
Page 149: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4
Page 150: ¶ó¿ìÅÍÇ¥Áö77 - KISA · 2016. 2. 25. · 제·개정 이력 순번 제·개정일 변경내용 발간팀 연락처 1 2010.1.1 제정 융합보호r&d팀 405-6311 2 3 4