말 그대로 host 간의 IPSec을 구축하는 과정에서의 협상 Protocol을 말하며, 총 2단계에 걸쳐 터널을 생성하게 된다.
1단계에서는 ISAKMP 협상 메시지를 보호하는 터널을 생성하고, 2단계에서는 데이터를 보호하는 터널을 생성하게 된다.
IKE(Internet Key Exchange)
ISAKMP를 통해 IPSec SA(Security Association)를 사용할 수 있도록 하며, peer인증 시 사용되는 암호화 키를 생성한다.
ASA 장비에서는 용도에 따라 사용되는 IKE version에 차이가 있다.
VPN Client와의 연결을 위한 용도로는 IKEv1을 사용하고, AnyConnect VPN Client 연결을 위한 용도로는 IKEv2를 사용한다.
peer: tunnel을 맺는 반대쪽 host라고 생각하면 된다.
장비 설정
1. IKE 정책 구성
만약 IKEv1 정책을 구성 시 DES 암호화, MD5 해시, RSA 인증 알고리즘 사용, Diffle-Hellman 그룹 5, SA 수명 4시간으로 설정한다면 Command는 아래와 같다. (각 옵션별 자세한 내용은 하단 'IKEv1, IKEv2 명령어 및 옵션 표' 참고)
IKEv1, IKEv2 명령어 및 옵션 표
IKEv1
명령어
옵션
설명
authentication
rsa-sig
각 IPSec Peer의 ID 설정을 위한인증 방법을 설정하는 명령어 - rsa-sig : RSA 서명 알고리즘에서 사용하는 인증 방법을 사용 - crack : 인증된 암호화 키에대한 시도 및 응답 - pre-share : 사전 공유 키 사용
crack
pre-share
encryption
des
Peer간 전송되는 데이터를 보호하는 대칭 암호화 알고리즘을 지정하는 명령어로, des: 56비트, 3des는 168비트의 DES를 뜻한다.
3des
hash
sha
데이터 무결성 보장을 위한 해시 알고리즘을 지정하는 명령어
md5
group
1
IPSec Peer가 사용하는 Diffle-Hellman 그룹의 식별자를 지정하는 명령어로, 숫자가 높을수록 보안적인 측면에서 우수하다. 그룹1: 768비트, 그룹2: 1024비트, 그룹3: 1536비트
2
5
lifetime
정수 값
SA의 lifetime을 지정한다. Default: 86400 (24시간=86400초)
IKEv2
integrity
sha
해시 알고리즘을 지정하는 명령어
md5
sha256 / sha384 / sha512
encryption
des
두 IPSec Peer의 전송 데이터를 보호하는 대칭 암호화 알고리즘을 지정하는 명령어
3des
aes / aes-192 / aes-256
aes-gcm / aes-gcm-192 / aes-gcm-256
prf
sha / sha256 / sha384 / sha512
키 요소를 생성하는데 사용되는 PRF(Pseudo Random Function) 알고리즘을 지정하는 명령어
md5
group
1 / 2 / 5 / 14 / 19 / 20 / 21 /24
IPSec Peer가 사용하는 Diffle-Hellman 그룹의 식별자를 지정하는 명령어로, 숫자가 높을수록 보안적인 측면에서 우수하다.
lifetime
정수 값
SA의 lifetime을 지정한다. Default: 86400 (24시간=86400초)
2. IKE 활성화
VPN 터널이 맺어질 때 사용되는 Interface(보통 outside interface) 에서 IKE 활성화하는 작업이 필요하며, 명령어는 아래와 같다.
3. 트래픽 암호화 방식 설정
트래픽의 보호를 위한 암호화 방식을 설정할 수 있으며 IKEv1, IKEv2 각각의 명령어는 아래와 같다.
아래 커맨드에서 [name]은 담당자가 지정하면 되며 [encryption]은 암호화 방식의 종류를,[authentication]은 해시 알고리즘의 종류를 정하면되는데, 관련 옵션은 아래 작성한 '트래픽 암호화 방식 설정 옵션 표'를 참고하면 된다.
3-1. IKEv1
3-2. IKEv2
트래픽 암호화 방식 설정 옵션 표
encryption
설명
authentication
설명
IKEv1
IKEv2
IKEv1
IKEv2
esp-aes
aes
128bit AES 사용
esp-md5-hmac
md5
MD5/HMAC-128 해시 알고리즘 사용
esp-aes-192
aes-192
192bit AES 사용
esp-sha-hmac
sha-1
SHA/HMAC-160 해시 알고리즘 사용
esp-aes-256
aes-256
256bit AES 사용
esp-none
인증을 사용하지 않음
esp-des
des
56bit DES-CBC 사용
esp-3des
3des
삼중 DES 알고리즘 사용
esp-null
null
암호화하지 않음
4. 터널 그룹 정의
터널 그룹 생성 및 설정
Cisco ASA 장비에는 기본 IPSec 원격 액세스 터널 그룹(DefaultRAGroup)과 LAN to LAN 터널 그룹(DefaultL2L)이 있다.
4-1. 터널 그룹을 생성하는 커맨드는 아래와 같으며 type 지정 시, 원격 액세스 터널의 경우 'ipsec-ra', L2L의 경우 'ipsec-l2l'로 설정하면 된다.
4-2. 인증방법을 설정할 때, general-attributes 명령어를 사용하면 된다. 생략된 추가 옵션은 가독성을 위해 생략하였으며, 최하단 '참고' 부분의 공식 사이트 참고
4-3. 터널 그룹에 대해 사용할 address pool을 설정하는 명령어는 아래와 같다.
4-4. IKEv1 연결에 대해 IPSec 속성을 입력하기 위한 명령어는 아래와 같다.
4-5. 사전 공유 키를 구성하는 명령어는 아래와 같다.(IKEv1만 해당됨)
5. 동적 암호화 맵 생성 및 설정
아래와 같이 동적 암호화 맵을 설정함으로써, IP를 알지 못하는 Peer와의 연결을 할 수 있다.
[IKEv1]
[IKEv2]
역방향 라우팅을 활성화하면, 연결된 client에 대해 routing 정보를 확인하여 RIP 또는 OSPF를 통해 네트워크에 알린다.
이 외에도 설정 VPN 설정을 위한 추가 옵션들이 존재하며, 추가 옵션들에 대해서는 아래 Cisco 공식 홈페이지를 참고.