이 문서에서는 WSA(Web Security Appliance)를 ISE(Identity Services Engine)와 통합하는 방법에 대해 설명합니다. ISE 버전 1.3에서는 pxGrid라는 새로운 API를 지원합니다. 이 현대적이고 유연한 프로토콜은 인증, 암호화 및 권한(그룹)을 지원하므로 다른 보안 솔루션과 손쉽게 통합할 수 있습니다.
WSA 버전 8.7은 pxGrid 프로토콜을 지원하며 ISE에서 컨텍스트 ID 정보를 검색할 수 있습니다. 따라서 WSA에서는 ISE에서 검색된 TrustSec SGT(Security Group Tag) 그룹을 기반으로 정책을 구축할 수 있습니다.
Cisco는 Cisco ISE 컨피그레이션에 대한 경험이 있고 다음 항목에 대한 기본 지식을 갖춘 것을 권장합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
TrustSec SGT 태그는 기업 네트워크에 액세스하는 모든 사용자 유형에 대한 인증 서버로 사용되는 ISE에 의해 할당됩니다. 여기에는 802.1x 또는 ISE 게스트 포털을 통해 인증하는 유선/무선 사용자가 포함됩니다. 또한 인증에 ISE를 사용하는 원격 VPN 사용자도 포함됩니다.
WSA의 경우 사용자가 네트워크에 액세스한 방식은 중요하지 않습니다.
이 예에서는 원격 VPN 사용자가 ASA-VPN에서 세션을 종료하는 경우를 보여줍니다. 해당 사용자에게 특정 SGT 태그가 할당되었습니다. 인터넷으로 향하는 모든 HTTP 트래픽은 ASA-FW(방화벽)에서 가로채고 WSA로 리디렉션되어 검사됩니다. WSA는 ID 프로필을 사용하여 SGT 태그를 기반으로 사용자를 분류하고 이를 기반으로 액세스 또는 암호 해독 정책을 구축할 수 있습니다.
자세한 흐름은 다음과 같습니다.
TrustSec용으로 구성된 VPN 게이트웨이입니다. 자세한 구성은 이 문서의 범위를 벗어납니다. 다음 예를 참조하십시오.
ASA 방화벽은 WSA로의 WCCP 리디렉션을 담당합니다. 이 디바이스는 TrustSec을 인식하지 못합니다.
interface GigabitEthernet0/0
nameif outside
security-level 100
ip address 172.16.33.110 255.255.255.0
interface GigabitEthernet0/1
nameif inside
security-level 100
ip address 172.16.32.110 255.255.255.0
access-list wccp-routers extended permit ip host 172.16.32.204 any
access-list wccp-redirect extended deny tcp any host 172.16.32.204
access-list wccp-redirect extended permit tcp any any eq www
access-list wccp-redirect extended permit tcp any any eq https
wccp 90 redirect-list wccp-redirect group-list wccp-routers
wccp interface inside 90 redirect in
ISE는 TrustSec 구축의 중앙 지점입니다. 네트워크에 액세스하고 인증하는 모든 사용자에게 SGT 태그를 할당합니다. 기본 구성에 필요한 단계가 이 섹션에 나와 있습니다.
Policy(정책) > Results(결과) > Security Group Access(보안 그룹 액세스) > Security Groups(보안 그룹)를 선택하고 SGT를 생성합니다.
Policy(정책) > Authorization(권한 부여)을 선택하고 원격 VPN 액세스를 위한 규칙을 생성합니다. ASA-VPN을 통해 설정된 모든 VPN 연결은 전체 액세스(PermitAccess)를 얻고 SGT 태그 2(IT)가 할당됩니다.
TrustSec 도메인에 ASA-VPN을 추가하려면 프록시 자동 컨피그레이션(PAC) 파일을 수동으로 생성해야 합니다. 해당 파일은 ASA에서 가져옵니다.
이는 Administration(관리) > Network Devices(네트워크 디바이스)에서 구성할 수 있습니다. ASA가 추가되면 TrustSec 설정으로 스크롤하여 PAC 파일을 생성합니다. 에 대한 세부 정보는 별도의 (참조된) 문서에 설명되어 있습니다.
pxGrid 역할을 활성화하려면 Administration(관리) > Deployment(구축)를 선택합니다.
pxGrid 프로토콜은 클라이언트와 서버 모두에 대해 인증서 인증을 사용합니다. ISE와 WSA 모두에 대해 올바른 인증서를 구성하는 것은 매우 중요합니다. 두 인증서 모두 Subject(주체)의 FQDN(Fully Qualified Domain Name)과 클라이언트 인증 및 서버 인증을 위한 x509 확장을 포함해야 합니다. 또한 ISE와 WSA 모두에 대해 올바른 DNS A 레코드가 생성되고 해당 FQDN과 일치하는지 확인합니다.
두 인증서가 모두 다른 CA(Certificate Authority)에 의해 서명된 경우 해당 CA를 신뢰할 수 있는 저장소에 포함하는 것이 중요합니다.
인증서를 구성하려면 Administration(관리) > Certificates(인증서)를 선택합니다.
ISE는 각 역할에 대해 CSR(Certificate Signing Request)을 생성할 수 있습니다. pxGrid 역할의 경우 CSR을 내보내고 외부 CA로 서명합니다.
이 예에서는 Microsoft CA가 이 템플릿과 함께 사용되었습니다.
최종 결과는 다음과 같을 수 있습니다.
172.16.31.202를 가리키는 ise14.example.com 및 pxgrid.example.com에 대한 DNS A 레코드를 만드는 것을 잊지 마십시오.
기본적으로 ISE는 pxGrid 가입자를 자동으로 등록하지 않습니다. 관리자가 수동으로 승인해야 합니다. WSA 통합을 위해 해당 설정을 변경해야 합니다.
관리 > pxGrid 서비스를 선택하고 자동 등록 활성화를 설정합니다.
이 예에서 WSA는 관리 인터페이스, 투명 모드 및 ASA로부터의 리디렉션만으로 구성됩니다.
WSA에서 모든 인증서에 서명하려면 CA를 신뢰해야 합니다. CA 인증서를 추가하려면 Network(네트워크) > Certificate Management(인증서 관리)를 선택합니다.
또한 WSA에서 pxGrid에 인증하기 위해 사용할 인증서를 생성해야 합니다. CSR을 생성하고 올바른 CA 템플릿(ISE-pxgrid)으로 서명하고 다시 가져오려면 Network(네트워크) > Identity Services Engine(ISE(Identity Services Engine) > WSA Client certificate(WSA 클라이언트 인증서)를 선택합니다.
또한 "ISE Admin Certificate(ISE 관리 인증서)" 및 "ISE pxGrid Certificate(ISE pxGrid 인증서)"의 경우 CA 인증서를 가져옵니다(ISE에서 제공하는 pxGrid 인증서를 신뢰하기 위해).
ISE에 대한 연결을 테스트하려면 Network(네트워크) > Identity Services Engine을 선택합니다.
ISE에 대한 새 프로필을 추가하려면 Web Security Manager(웹 보안 관리자) > Identification profiles(식별 프로필)를 선택합니다. "식별 및 인증"에 "ISE로 투명하게 사용자 식별"을 사용합니다.
새 정책을 추가하려면 Web Security Manager(웹 보안 관리자) > Access Policies(액세스 정책)를 선택합니다. 멤버십은 ISE 프로필을 사용합니다.
선택한 그룹 및 사용자의 경우 SGT 태그 2가 추가됩니다(IT).
정책은 SGT IT에 속한 사용자의 모든 스포츠 사이트에 대한 액세스를 거부합니다.
구성이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
VPN 사용자는 ASA-VPN을 향해 VPN 세션을 시작합니다.
ASA-VPN은 인증에 ISE를 사용합니다. ISE는 세션을 생성하고 SGT 태그 2(IT)를 할당합니다.
인증에 성공하면 ASA-VPN은 SGT 태그 2를 사용하여 VPN 세션을 생성합니다(Cisco-av-pair의 Radius Access-Accept에서 반환됨).
asa-vpn# show vpn-sessiondb anyconnect
Session Type: AnyConnect
Username : cisco Index : 2
Assigned IP : 172.16.32.50 Public IP : 192.168.10.67
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Essentials
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1
Bytes Tx : 12979961 Bytes Rx : 1866781
Group Policy : POLICY Tunnel Group : SSLVPN
Login Time : 21:13:26 UTC Tue May 5 2015
Duration : 6h:08m:03s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : ac1020640000200055493276
Security Grp : 2:IT
ASA-VPN과 ASA-FW 간의 링크가 TrustSec을 활성화하지 않았기 때문에 ASA-VPN은 해당 트래픽에 대해 태그가 지정되지 않은 프레임을 보냅니다(CMD/TrustSec 필드가 삽입된 이더넷 프레임을 GRE 캡슐화할 수 없음).
이 단계에서 WSA는 IP 주소, 사용자 이름 및 SGT 간의 매핑을 (pxGrid 프로토콜을 통해) 수신해야 합니다.
VPN 사용자는 sport.pl에 대한 연결을 시작하며, 이는 ASA-FW에 의해 가로채기됩니다.
asa-fw# show wccp
Global WCCP information:
Router information:
Router Identifier: 172.16.33.110
Protocol Version: 2.0
Service Identifier: 90
Number of Cache Engines: 1
Number of routers: 1
Total Packets Redirected: 562
Redirect access-list: wccp-redirect
Total Connections Denied Redirect: 0
Total Packets Unassigned: 0
Group access-list: wccp-routers
Total Messages Denied to Group: 0
Total Authentication failures: 0
Total Bypassed Packets Received: 0
asa-fw# show access-list wccp-redirect
access-list wccp-redirect; 3 elements; name hash: 0x9bab8633
access-list wccp-redirect line 1 extended deny tcp any host 172.16.32.204 (hitcnt=0)
0xfd875b28
access-list wccp-redirect line 2 extended permit tcp any any eq www (hitcnt=562)
0x028ab2b9
access-list wccp-redirect line 3 extended permit tcp any any eq https (hitcnt=0)
0xe202a11e
GRE에서 WSA로 터널링됩니다(WCCP 라우터 ID가 구성된 가장 높은 IP 주소임).
asa-fw# show capture
capture CAP type raw-data interface inside [Capturing - 70065 bytes]
match gre any any
asa-fw# show capture CAP
525 packets captured
1: 03:21:45.035657 172.16.33.110 > 172.16.32.204: ip-proto-47, length 60
2: 03:21:45.038709 172.16.33.110 > 172.16.32.204: ip-proto-47, length 48
3: 03:21:45.039960 172.16.33.110 > 172.16.32.204: ip-proto-47, length 640
WSA는 TCP 핸드셰이크를 계속하고 GET 요청을 처리합니다. 그 결과 PolicyForIT라는 정책이 적중하고 트래픽이 차단됩니다.
이는 WSA 보고서에 의해 확인되었습니다.
ISE에 사용자 이름이 표시됩니다.
이 섹션에서는 설정 문제 해결을 위해 사용할 수 있는 정보를 제공합니다.
WSA가 올바르게 초기화되지 않은 경우(인증서) ISE 연결 실패를 테스트합니다.
ISE pxgrid-cm.log 보고서는 다음과 같습니다.
[2015-05-06T16:26:51Z] [INFO ] [cm-1.jabber-172-16-31-202]
[TCPSocketStream::_doSSLHandshake] [] Failure performing SSL handshake: 1
실패 이유는 Wireshark에서 확인할 수 있습니다.
pxGrid에서 사용되는 XMPP(Extensible Messaging and Presence Protocol) 교환을 보호하는 데 사용되는 SSL 세션의 경우, 클라이언트가 서버에서 제공하는 알 수 없는 인증서 체인으로 인한 SSL 실패를 보고합니다.
올바른 시나리오를 위해 ISE pxgrid-controller.log는 다음을 로깅합니다.
2015-05-06 18:40:09,153 INFO [Thread-7][] cisco.pxgrid.controller.sasl.SaslWatcher
-:::::- Handling authentication for user name wsa.example.com-test_client
또한 ISE GUI에서는 WSA를 올바른 기능을 갖춘 가입자로 표시합니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
30-Jul-2015 |
최초 릴리스 |