Cisco ASA 장비는 Tunnel 구축 시 IPSec과 ISAKMP 터널링 표준을 사용한다.
Tunneling에 대한 자세한 내용은 이전 포스팅 참고
2020/09/27 - [기초지식/네트워크] - Tunneling
ISAKMP와 IKE
ISAKMP(Internet Security Associationand Key Management Protocol)
말 그대로 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 공식 홈페이지를 참고.
필요 시 본 포스팅에 추가 예정.
# 참고
www.cisco.com/c/en/us/td/docs/security/asa/asa72/configuration/guide/conf_gd/vpngrp.html#wp1113843
'보안장비 > FW_ASA' 카테고리의 다른 글
Cisco ASA - NAT 설정하기 (0) | 2020.10.01 |
---|---|
Cisco ASA - packet flow, 정책 설정 (0) | 2020.10.01 |