추가공부필요한사항
- IPsec은 3계층에서 동작
- 패킷구조
- IKE Phase1역할 (ISAKMP SA) - secure tunnel을 생성하는 목적 (phase2에서 교환할 negotiation 메시지를 위해)
- IKE Phase2역할 (IPsec SA) - 실제 SA negotiation을 보호 (data를 보호하기위한)
- MM_NO_STATE (Main Mode no-state) error
: crypto ipsec의 esp 설정을 peer (esp-des)와 다르게 설정한 후 터널링 상태 확인. MM_NO_STATE라고 나옴. (터널 패킷 전송 불가상태)
- IKE Phase1 Main mode (6단계)
- IKE Phase2 Quick mode (3단계)
================================================================
- 터널을 만드는 과정에서 사용되는 것이 IKE 프로토콜
- IKE (Internet Key Exchange) 란 SA를 셋업하기위해 사용되는 프로토콜
- 2가지 단계를 거쳐 SA를 생성하고 이를 바탕으로 암호화 통신
- Phase 1 IKE SA 설정 과정
: 목적 - Phase 2에서 SA관련 설정들이 안전하게 협상될 수 있도록 보안 채널 생성
: 모드 - Main mode, Aggressive mode
- Phase 2 IPsec SA 설정 과정
: 목적 - 실질적인 IPsec 연결을 하는 단계
: 모드 - Quick mode
- Phase 1 IKE SA 설정 과정
: 어떤 IKE SA설정들을 사용할 것인지 협상 (i.e. payload에 encryption(3DES), hash (MD5),
================================================================
IPsec VPN
- 본사, 지사 간의 보안통신에 가장 많이 사용
- 구성요소로 IKE (Internet Key Exchange), ISAKMP (Internet Security Association and Key Management Protocol), SA (Security Association), ESP (Encapsulation Security Payload), AH (Authentication Header) 등이 있음
- 비싼 전용 회선이 아닌 공인 인터넷(공인망)을 사용해 사설망과 사설망을 연결
- 인터넷 프로토콜의 취약점인 데이터 암호화 문제를 해결, 공인 인터넷 망을 지나가도 안전이 보장
IKE and ISAKMP
- ISAKMP는 데이터 암호화, 무결성, 인증 등의 일을 하는 절차를 명시한 프로토콜
- IKE는 ISAKMP가 명시한 각 절차에서 필요한 구체적인 프로토콜의 종류와 사용방법을 정의
- ISAKMP와 IKE가 비슷하여 혼동하는 경우가 많아 이 둘을 통합한 것이 IKEv2이며, Cisco에서는 IKEv1을 사용
IKE 동작 단계
- IKE 1단계 : 사용할 보안정책인 ISAKMP SA를 결정, 각 보안 알고리즘에서 사용할 임시키 생성, 상대장비 인증
- IKE 2단계 : 실제 데이터의 송수신을 위해 필요한 보안정책인 IPsec SA를 결정
SA (Security Association)
- 보안통신을 위해 필요한 여러가지 알고리즘 및 정책의 집합.
- ISAKMP SA : ISAKMP 보안정책의 집합
- IPsec SA : 실제 데이터를 IPsec으로 송수신하기 위한 보안정책 집합
ESP (Encapsulation Security Payload) & AH (Authentication Header)
- ESP & AH : 실제 데이터를 encapsulation (캡슐화)하고 보호하기위한 프로토콜
- ESP : 데이터 암호화와 무결성 확인 기능 존재
- AH : 암호화 제공하지않기때문에 많이 사용되지 않음
IPsec-GRE Tunneling 구현
- ACL 생성
로컬 네트워크(서울or제주) -> 반대쪽 라우터 게이트웨이
라우터 외부인터페이스 -> 반대쪽 라우터 게이트웨이
access-list 101 permit gre host 10.0.0.2 host 10.0.0.1
access-list 101 permit gre 172.16.0.0 0.0.0.255 host 10.0.0.1
access-list 101 permit gre host 10.0.0.1 host 10.0.0.2
access-list 101 permit gre 192.168.10.0 0.0.0.255 host 10.0.0.2
- ISAKMP Policy와 Key생성
crypto isakmp policy 10 // Jeju
authentication pre-share // 공유키방식 인증
crypto isakmp key cisco address 10.0.0.1 // key=cisco 양측 동일
crypto isakmp policy 10 // Seoul
authentication pre-share // 공유키방식 인증
crypto isakmp key cisco address 10.0.0.2 // key=cisco 양측 동일
- IPsec transform-set 생성
crypto ipsec transform-set tset esp-aes 256 // trans-form 생성
- crypto map 생성 후 인터페이스에 적용
crypto map tunnel-map 10 ipsec-isakmp
description Tunneling-IPsec // 주석
set peer 10.0.0.1 // 반대측 게이트웨이주소
set transform-set tset // 방금 설정한 transform
match address 101 // 방금 설정한 ACL
<IPsec을 구성하는 프로토콜 헤더와 알고리즘>
- AH(Authentication Header), ESP(Encapsulating Security Payload) : 인터넷 프로토콜의 설계에 패킷의 암호화가 반영되어있지않음. 보완을 위해 특정헤더를 추가함으로써 패킷을 인증/암호화하여 인터넷의 취약점 보완.
- DES, 3DES, AES : 터널 생성시 서로를 인증하기위한 인증서 / 데이터 패킷 암호화하는데 사용
- MD5, SHA : 패킷이 변질되지않았음을 증명(해시알고리즘)
- Diffie-Hellman : 키를 생성하기위한 알고리즘
<VPN 분류>
- VPN은 접속 방식, 터널링 프로토콜, 통신 계층, 운영 주체 기준에 따라 다양한 종류로 나뉨
- 접속 방식 분류 : Site to Site(IPsec VPN)와 Client to Site (SSL VPN)
- 터널링 프로토콜 분류 : PPTP/L2TP, IPsec, SSL VPN
- 통신계층 분류 : L2 / L3 / L4기반의 VPN
<Reference>
- ipsec 순서 설명잘되어있음
: https://networklessons.com/cisco/ccie-routing-switching/ipsec-internet-protocol-security#Message_1
: https://www.mustbegeek.com/configure-site-to-site-ipsec-vpn-tunnel-in-cisco-ios-router/
- VPN (설명잘되어있음) : https://blog.apnic.net/2020/07/29/how-to-ipsec-vpn-configuration/
- https://run-it.tistory.com/43
- https://aws-hyoh.tistory.com/163
- https://aws-hyoh.tistory.com/161
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kim10322&logNo=150048282557
- https://ssanggu.github.io/ch2/2.18-ipsec-site-to-site-vpn%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0/
'Routing&Switching' 카테고리의 다른 글
Route Redistribute (RIP - Static) (0) | 2021.09.10 |
---|---|
What is SSL / TLS (0) | 2021.08.23 |
GRE 터널 (0) | 2021.08.22 |
STP (Spanning Tree Protocol) & BDPU (0) | 2021.08.06 |
[GNS3] OSPF Distribute-List Filtering (0) | 2020.10.02 |