Cisco VPN 연동 가이드
이 가이드는 CISCO VPN제품과 네트워크 접근제어 시스템인 Genian NAC의 연동을 위한 설정 방법에 대한 가이드입니다.
가이드 개요
CISCO VPN은 VPN접속용 소프트웨어 AnyConnect를 사용자에게 제공하여, VPN 게이트웨이로 접속하여 인증과정을 거친 후, 내부네트워크로 접속할 수 있도록 합니다.
Genian NAC는 내부보안 관리를 위해 내부네트워크에 존재하는 단말에 대하여 가시성확보, 사용자 권한별 네트워크 접근제어, 단말의 보안정합성 제어방안을 제공합니다.
각각의 솔루션이 제공하는 기능을 연동하여, VPN접속자에게 Genian NAC의 기능으로 구현된 보안정책에 만족하는지 체크 후 VPN접속을 허용하기 위하여 본 연동을 진행하였습니다.
연동의 목적
Genian NAC와 CISCO VPN의 연동은 다음을 목적으로 합니다.
VPN 접속단말의 보안정합성 체크
VPN 접속단말은 VPN-Gateway가 제공하는 부분에만 한정하여 정보가 수집됩니다. 그러나 Genian NAC와 연동시, Genian NAC가 접속단말의 정합성 정보를 제공합니다.
VPN 접속단말의 보안정합성 결과에 따른 제어
CISCO VPN과 Genian NAC의 연동으로 VPN접속단말이 내부 네트워크로 진입하기 이전에 보안정합성을 판단하여 위협이 존재할 시, 네트워크 접속을 차단합니다.
접속 당시 보안정합성이 통과되어 접속한 단말에 대해서도 정합성 위반시, 정합성을 다시 확보 할 수 있도록 네트워크를 차단 후, 보안정합성을 확보하도록 합니다.
연동의 시나리오 소개
[최초 접속 시]
사용자가 CISCO AnyConnect 를 이용하여 CISCO VPN Gateway 로 접속 시도
CISCO VPN Gateway 는 사용자 인증서버로 Genian NAC 의 RADIUS 로 지정 및 차단정책적용(접속단말은 CWP 만 접속가능)
Genian NAC 는 접속단말에 NAC Agent 설치시도 및 단말의 보안정합성 만족여부 체크
보안정합성 만족 시, AllowAll 정책을 부여할 것을 CISCO VPN Gateway 로 전송(CoA)
=> VPN 접속단말의 네트워크 진입
[접속중인 단말이 보안정합성 위반시]
Genian NAC 의 Agent 가 접속단말의 보안정합성 체크 및 Genian NAC Policy-Center 로 위반정보 전송
Genian NAC 는 정합성위반에 따른 차단정책적용
차단정책을 적용할 것을 CISCO VPN Gateway 로 전송(CoA)
=> 세션이 종료되며, 최초 접속시의 (3)단계로 이동하여 이 후 과정을 거치게 됨
사전준비 사항
Genian NAC RADIUS 와 CISCO VPN Gateway 간 Secret Key 정하기
본 가이드에서 제시하는 연동의 구성은 CISCO VPN Gateway 의 인증서버가 Genian NAC(RADIUS)가 되어 접속을 시도하는 모든 VPN User 는 Genian NAC RADIUS 로 인증을 받도록 구성됩니다.
두 장비 간의 안전한 연결을 위해 Secret Key 를 활용하도록 합니다.
CISCO VPN Gateway 사전준비
Change of Authorization(CoA)가 지원되는 VPN 버전을 확인합니다.
권장버전은 다음과 같습니다.
장비 명
버전
참고
CISCO ASA
9.12(4)이상
VPN Gateway
CISCO ASDM
7.13(1)이상
CISCO 관리도구
Networking 사전 준비사항
Genian NAC Policy Center 와 CISCO VPN Gateway 간의 통신을 확인합니다.
기본 포트는 다음과 같습니다.
서비스명
Port
용도
RADIUS
1812(UDP)
Authentication protocol
RADIUS
1813(UDP)
Accounting protocol
CoA
3799(UDP)
CoA(change of authorization)
연동을 위한 CISCO VPN 설정
(CISCO VPN Gateway 의 설정은 Adaptive Security Device Manager(ASDM)을 이용하였습니다)
Step 1: 정책 만들기
ASDM에서 Configuration > ACL Manager로 이동하여, Add를 클릭하여 다음과 같은 2개의 정책을 생성합니다.
정책이름
출발지
목적지
허용서비스
AllowAll
VPN 접속단말중, Genian NAC인증을 거친 단말
업무용 네트워크, 인프라
업무용 서비스포트
Redirect
모든 VPN 접속자
Genian NAC의 안내페이지만 접속가능
http, https
AllowAll 정책: VPN 접속단말이 Genian NAC에 설정된 보안정합성을 준수하면 해당정책(Allow)을 부여 받습니다.
Redirect 정책: VPN 최초 접속 시와 보안정합성 위반시 적용될 Redirect 룰입니다. 이 정책에 의해서 VPN으로 접속한 단말과 보안정합성을 위반한 단말은 모든 접속시도가 Redirect되어 Genian NAC의 CWP(사용자 안내페이지)로만 접속됩니다.
Step 2: 외부 인증서버(Authentication Server)연동 설정
Configuration > Remote Access VPN > Network(Client) Access > AnyConnect Connection Profiles로 이동하여 Access interfaces 지정합니다.
설정 항목
설정 값
참고
Access interfaces
Enable CISCO AnyConnect VPN Client
Outside
SSL Access Enable
순서대로, Basic 메뉴에서 Authentication에서 다음과 같이 설정합니다.
설정 항목
설정 값
참고
Method
AAA
AAA Server Group
GNAC
Advanced 메뉴에서 Accounting에서 Server Group은 GNAC으로 설정합니다.
Step 3: CoA (Change of Authorization)설정
Configuration > Remote access VPN > AAA/LocalUsers > AAA Server Groups로 이동하여, GNAC서버 그룹을 만들어 줍니다. 다음과 같이 설정 해 줍니다.
설정 항목
설정 값
참고
Server Group
GNAC
고정 값
Protocol
RADIUS
고정 값
Accounting Mode
Single
Single 선택
Reactivation Mode
Depletion
Depletion 선택
Dead Time
10
'10' 입력
Max Failed Attempts
3
'3' 입력
Enable dynamic authorization
체크
체크
dynamic Authorization Port
3799
ISE Policy Enforcement
연동을 위한 Genian NAC 설정
Step 1: VPN 접속단말 관리를 위한 노드그룹 만들기
정책 > 그룹 > 노드 로 이동하여, 생성 을 클릭하여, 다음 3개 의 노드그룹을 만들어 줍니다.
VPN을 통해서 접속하는 단말을 상태별로 관리하기 위한 노드그룹을 만듭니다.(Genian NAC에서 노드그룹은 노드의 관리단위입니다.)
VPN으로 접속한 노드그룹(VPN access policy) 노드그룹 만들기
VPN을 통해서 접속한 모든단말을 대상으로 지정하는 그룹입니다. 다음과 같은 조건으로 만들어 줍니다.
설정 항목
설정 값
참고
조건연산
‘(AND) 아래의 모든조건을 만족하면’ 선택
조건설정 > 추가 > 접속장치/접속포트
‘연결방식이 같으면’, ‘가상 IF’ 각각 선택
조건설정 > 추가 > 인증사용자
‘인증타입’, ‘RADIUS 인증’ 각각 선택
VPN접속노드용 보안정합성을 충족하는 노드그룹(VPN Compliance) 만들기
VPN 접속단말을 대상으로 적용할 보안정합성 점검요소를 확인하기 위한 노드그룹으로 본 가이드에서는 Genian NAC의 에이전트 동작상태와 백신정보 존재여부를 예)로 들어 설명합니다. 보안정합성 요건은 각사의 VPN 접속사용자에 대한 보안정책의 요건들을 추가하시기 바랍니다.
설정 항목
설정 값
참고
조건연산
‘(AND) 아래의 모든조건을 만족하면’ 선택
조건설정 > 추가 > 노드그룹
‘속하면’, ‘VPN access policy’ 각각 선택
조건설정 > 추가 > 에이전트상태
‘동작상태’, ‘Up’ 각각 선택
보안정합성 점검요소 1
조건설정 > 추가 > 백신정보
‘백신정보 존재여부’, ‘존재함’ 각각 선택
보안정합성 점검요소 2
VPN접속단말용 보안정합성을 충족하지않는 노드그룹(VPN NonCompliance) 만들기
VPN 접속단말 중, 보안정합성에 위배되는 단말을 제어하기 위한 그룹을 만들어 줍니다.
설정 항목
설정 값
참고
조건연산
‘(AND) 아래의 모든조건을 만족하면’ 선택
조건설정 > 추가 > 노드그룹
‘속하면’, ‘VPN access policy’ 각각 선택
조건설정 > 추가 > 노드그룹
‘속하지 않으면’, ‘VPN Compliance’ 각각 선택
Step 2: VPN접속단말 관리를 위한 제어정책 만들기
정책 > 제어정책 으로 이동하여, 생성 을 클릭하여, 다음 2개 의 노드그룹을 만들어 줍니다.
Genian NAC는 접속단말의 네트워크 사용권한을 할당하기 위해서 제어정책을 활용합니다. VPN 보안정합성에 따라 다른 권한을 부여하기 위해서 각각의 제어정책을 생성해 줍니다. (Genian NAC의 정책은 순서대로 적용받습니다)
보안정합성 미검증 제어정책 만들기
VPN으로 접속한 최초접속자와 접속중이던 사용자가 보안정합성에 위배되는 행위를 하였을 때, 적용받는 정책으로 Genian NAC의 안내페이지(CWP)로만 접속이 허용됩니다.
다음과 같이 설정해 줍니다.(보안정합성이 확보된 단말 정책보다 상단에 설정합니다)
설정 항목
설정 값
세부 설정
노드그룹 설정
VPN Non-Compliance
다음 2개의 조건을 모두만족 해야함.(1.VPN access policy 노드그룹에 속함 2.VPN Compliance 그룹에 속하지 않음)
권한설정
PERM-DNS
Genian NAC CWP만 접속허용 권한
RADIUS CoA 설정
'On'선택
CoA 사용
CoA Commands
Reauthenticate host(CISCO VSA)
재인증 요청
VPN 보안정합성 검증 제어정책 만들기
VPN으로 접속한 단말의 보안정합성 검증이 완료된 후, 정상적인 네트워크 활용을 위한 정책을 만들어줍니다.
아래와 같이 설정해 줍니다.
설정 항목
설정 값
세부 설정
노드그룹 설정
VPN Compliance
다음 3개의 조건을 모두만족 해야함.(1.VPN access policy 노드그룹에 속함 2.NAC 에이전트가 동작중이어야 함 3.백신정보 존재함)
권한설정
PERM-ALL
네트워크 접근권한 설정
RADIUS CoA 설정
'On'선택
CoA 사용
CoA Commands
Use vendor-specific-attribute(VSA)
참고. CoA 는 제조사에 따라 다름
Vendor-SpecificAttribute
Cisco-AVPair=ACS:CsicoSecureDefined-ACL=AllowAll
참고. 앞서 CISCO ASA 에서 설정한 AllowAll 을 적용하도록 함
참고: 보안적합성이 검증되어 아래정책을 적용받는 단말이 보안위배 사항이 발생하면, 다시 보안정합성 미검증 정책이 부여됩니다.
Step 3: RADIUS 정책 만들기
정책 > RADIUS 정책 으로 이동하여, 기본설정이 적용된 적용을 활용합니다.
VPN 접속시, 사용자의 인증을 위한 RADIUS서버를 설정하는 과정입니다.
연동기능을 활용하기 위해서는 기본제공하는 RADIUS 정책 중에서 VPN_NonCompliant 정책과 VPN_Compliant 정책의 두개만 설정하면 됩니다.
RADIUS 정책: VPN_NonCompliant 정책 수정하기
최초로 접속한 VPN 사용자와 VPN 사용자중 보안정합성을 위반한 사용자를 위한 RADIUS 정책을 기본 제공되는 정책을 아래와 같이 수정/추가해 줍니다. (권장설정은 입력되어있음)
다음과 같이 조건을 설정합니다.
속성
조건
값
참고
NAS-Port-Type
속성값이 같으면
Virtual
Calling-Station-id
노드그룹에 포함되면
컴플라이언스 위반노드
기본제공 노드그룹
조건연산
‘(AND) 모든조건을 만족하면’ 선택
다음과 같이 정책을 설정합니다. (조건에 부합하는 경우에 해당정책의 적용을 받습니다)
정책이름
값
참고
Cisco-AVPair (url-redirect-acl)
속성값이 같으면
Cisco-AVPair (url-redirect)
https://a.b.c.d/CWP2 (정책서버 ip/cwp2)
해당정책으로 인해 접속단말의 기본접속 URL 은 Genian NAC의 CWP로 지정됨
RADIUS 정책: VPN_Compliant 정책 수정하기
보안정합성을 조건을 만족하는 사용자의 RADIUS 정책을 아래와 같이 기본 제공되는 정책을 수정합니다. (권장설정은 입력되어있음)
다음과 같이 조건을 설정합니다.
속성
조건
값
참고
NAS-Port-Type
속성값이 같으면
Virtual
Calling-Station-id
노드그룹에 포함되지 않으면
컴플라이언스 위반노드
조건에 주의
조건연산
‘(AND) 모든조건을 만족하면’ 선택
다음과 같이 정책을 설정합니다. (조건에 부합하는 경우에 해당정책의 적용을 받습니다)
정책이름
값
참고
Filter-id
AllowAll
보안정합성이 확보된 접속단말을 네트워크 사용허용
Step 4: RADIUS 서비스 만들기
정책 > 서비스 > RADIUS 서버 로 이동하여 설정합니다.
VPN 접속시, 사용자의 인증을 위한 RADIUS서비스를 설정하는 과정입니다.
RADIUS Secret 설정
클라이언트 설정 > 추가를 클릭하여 다음과 같이 설정합니다. (RADIUS 서버 접속 사전 설정)
설정 항목
설정 값
참고
이름
CISCO-VPN
CISCO VPN 접속 Client
IP/Subnet
192.168.50.0/24
접속 IP 주소/서브넷
CoA 포트번호
3799
기본 값은 3799(변경가능)
인증키
Secret-key
CISCO ASA 와 공유키
본 가이드에서는 CISCO ASA VPN을 통해서 접속하는 구성이므로 CISCO VPN, Network Access Server(NSA)에 대한 설정을 합니다.
이하 RADIUS 서버에 대한 설정은 기본설정 값을 활용해도 됩니다.
CISCO VPN과 Genian NAC의 연동설정 완료
CISCO VPN과 Genian NAC의 연동을 위한 설정이 완료되었습니다.
정상 동작여부의 테스트를 위해서,
VPN 접속단말이 최초 접속시의 노드그룹과 보안정합성 검증여부 확인 시의 노드그룹 이 변경 된 것을 확인하도록합니다. 노드그룹이 변경된다면 연동설정이 정상적으로 적용되어 있는 상태입니다.
확인 방법은
정책 > 제어정책 에서 VPN 접속단말이 적용받는 제어정책 을 확인하셔도 되고,
관리 > 노드 에서 VPN 접속단말의 그룹 , 적용받는 정책 이 변경된 것을 확인할 수 있습니다.
작업이 완료되었습니다.