소개
이 문서에서는 비밀번호 스프레이 공격에서 파생된 보안 방화벽의 호스트 토큰 할당 오류를 방지하기 위해 고려해야 할 권장 사항에 대해 설명합니다.
배경 정보
Cisco Secure Client(AnyConnect)를 사용하여 RAVPN 연결을 설정하려고 할 때 간헐적으로 사용자에게 "연결을 완료할 수 없음"이라는 오류 메시지가 표시될 수 있습니다. Cisco Secure Desktop이 클라이언트에 설치되지 않았습니다.". 이 동작은 일반적으로 Cisco Secure Firewall ASA(Adaptive Security Appliance) 또는 FTD(Threat Defense)인 VPN 헤드엔드에서 호스트 스캔 토큰을 할당하지 못할 때 발생합니다. 특히, 이러한 할당 실패는 보안 방화벽 인프라를 대상으로 하는 무차별 대입 공격의 인스턴스와 관련이 있으며, 현재 Cisco 버그 ID CSCwj45822에 따라 가장 긴급하게 처리되고 있습니다.
관찰된 동작
Firewall Posture(HostScan)가 활성화된 경우 Cisco Secure Client(AnyConnect)와의 VPN 연결을 설정할 수 없음
Cisco Secure Client(AnyConnect)를 사용하여 VPN 연결을 설정하려고 할 때 간헐적으로 사용자에게 "연결을 완료할 수 없습니다. Cisco Secure Desktop이 클라이언트에 설치되어 있지 않습니다." 이 문제로 인해 VPN 연결 프로세스가 정상적으로 완료되지 않습니다.
참고: 이 특정 동작은 사용된 Secure Client 또는 AnyConnect 버전에 관계없이 헤드엔드에서 방화벽 상태(HostScan)가 활성화된 경우에만 발생합니다.
Hostscan 토큰 소모
VPN 헤드엔드 Cisco Secure Firewall ASA(Adaptive Security Appliance) 또는 FTD(Threat Defense)에서 hostscan 토큰 할당 실패의 증상이 나타납니다. 이를 확인하려면 debug 메뉴 webvpn 187 0 명령을 실행합니다.
ASA# debug menu webvpn 187 0
Allocated Hostscan token = 1000
Hostscan token allocate failure = xxx - - - - > Increments
참고: 이 문제는 공격으로 인해 발생합니다. 이 문제는 현재 Cisco 버그 ID CSCwj45822에 따라 매우 긴급하게 처리되고 있습니다.
비정상적인 양의 인증 요청
VPN 헤드엔드 Cisco Secure Firewall ASA 또는 FTD는 10만 또는 수백만 건의 거부된 인증 시도와 함께 비밀번호 분무 공격의 증상을 보여줍니다.
참고: 이러한 비정상적인 인증 시도는 LOCAL 데이터베이스 또는 외부 인증 서버로 향할 수 있습니다.
이를 탐지하는 가장 좋은 방법은 syslog를 확인하는 것입니다. 다음 ASA syslog ID 중 특이한 숫자를 찾습니다.
%ASA-6-113015: AAA user authentication Rejected : reason = User was not found : local database : user = admin : user IP = x.x.x.x
%ASA-6-113005: AAA user authentication Rejected : reason = Unspecified : server = x.x.x.x : user = ***** : user IP = x.x.x.x
%ASA-6-716039: Group <DfltGrpPolicy> User <admin> IP <x.x.x.x> Authentication: rejected, Session Type: WebVPN.
사용자 이름은 ASA에서 no logging hide username 명령이 구성될 때까지 항상 숨겨집니다.
참고: 이렇게 하면 IP를 위반하여 유효한 사용자가 생성되었는지 또는 알고 있는지 확인할 수 있습니다. 그러나 사용자 이름이 로그에 표시되므로 주의하십시오.
확인하려면 ASA 또는 FTD CLI(Command Line Interface)에 로그인하고 show aaa-server 명령을 실행한 다음 구성된 AAA 서버에 대해 시도하거나 거부된 인증 요청 수를 조사합니다.
ciscoasa# show aaa-server
Server Group: LDAP-SERVER - - - - - >>>> Sprays against external server
Server Protocol: ldap
Server Hostname: ldap-server.example.com
Server Address: 10.10.10.10
Server port: 636
Server status: ACTIVE, Last transaction at unknown
Number of pending requests 0
Average round trip time 0ms
Number of authentication requests 2228536 - - - - - >>>> Unusual increments
Number of authorization requests 0
Number of accounting requests 0
Number of retransmissions 0
Number of accepts 1312
Number of rejects 2225363 - - - - - >>>> Unusual increments / Unusual rejection rate
Number of challenges 0
Number of malformed responses 0
Number of bad authenticators 0
Number of timeouts 1
Number of unrecognized responses 0
권장 사항
현재 위험을 완전히 제거할 수 있는 단일 솔루션은 없지만, 발생 가능성을 줄이고 RAVPN 연결에 대한 무차별 대입 공격의 영향을 줄일 수 있도록 설계된 다음 권장 방법을 검토하고 적용할 수 있습니다.
1. 로깅 사용
로깅은 시스템 내에서 발생하는 이벤트를 기록하는 것과 관련된 사이버 보안의 중요한 부분입니다. 세부 로그가 없으면 이해의 공백이 생겨 공격 방법에 대한 명확한 분석이 방해된다. 다양한 네트워크 디바이스에서 네트워크 및 보안 인시던트의 상관관계 및 감사를 개선하려면 원격 syslog 서버에 대한 로깅을 활성화하는 것이 좋습니다.
로깅을 구성하는 방법에 대한 자세한 내용은 다음 플랫폼별 가이드를 참조하십시오.
Cisco ASA 소프트웨어:
- 보안 ASA 방화벽 사용 설명서
- Cisco Secure Firewall ASA Series General Operations CLI 컨피그레이션 가이드의 로깅 장
Cisco FTD 소프트웨어:
참고: 이 문서에 설명된 동작(113015, 113005 및 716039)을 확인하는 데 필요한 syslog 메시지 ID는 정보 레벨(6)에서 활성화되어야 합니다. 이러한 ID는 'auth' 및 'webvpn' 로깅 클래스에 속합니다.
2. 원격 액세스 VPN에 대한 강화 조치 적용
이러한 공격의 영향을 완화하려면 다음 강화 조치를 구현하십시오.
- DefaultWEBVPN 및 DefaultRAGroup 연결 프로파일에서 AAA 인증 비활성화(단계별: ASA) | FTD는 FMC에서 관리함).
- DefaultWEBVPNGroup 및 DefaultRAGroup에서 Secure Firewall Posture(Hostscan) 비활성화(단계별: ASA) | FTD는 FMC에서 관리함).
- 나머지 연결 프로파일에서 그룹 별칭 비활성화 및 그룹 URL 활성화(단계: ASA) | FTD는 FMC에서 관리함).
참고: 로컬 FDM(Firewall Device Management)을 통해 관리되는 FTD에 대한 지원이 필요한 경우 TAC(Technical Assistance Center)에 문의하여 전문가의 안내를 받으십시오.
자세한 내용은 Implement Hardening Measures for Secure Client AnyConnect VPN 가이드를 참조하십시오.
3. 악의적인 소스로부터 연결 시도 차단
무단 소스로부터의 연결 시도를 방해하기 위해 아래 나열된 옵션 중 하나를 구현할 수 있습니다.
인터페이스 레벨 ACL 구현
ASA/FTD에서 인터페이스 레벨 ACL을 구현하여 무단 공용 IP 주소를 필터링하고 원격 VPN 세션을 시작하지 못하게 합니다.
"shun" 명령 사용
이는 악의적인 IP를 차단하기 위한 간단한 접근 방식이지만 수동으로 수행해야 합니다. 자세한 내용은 'shun' 명령을 사용하여 보안 방화벽의 공격을 차단하는 대체 컨피그레이션 섹션을 참조하십시오.
컨트롤 플레인 ACL 구성
ASA/FTD에서 컨트롤 플레인 ACL을 구현하여 무단 공용 IP 주소를 필터링하고 이들이 원격 VPN 세션을 시작하지 못하도록 합니다. 보안 방화벽 위협 방어 및 ASA에 대한 컨트롤 플레인 액세스 제어 정책을 구성합니다.
참고: Cisco Talos는 이러한 공격과 관련된 IP 주소 및 자격 증명 목록을 게시했습니다. 해당 GitHub 리포지토리에 대한 링크는 자문 항목의 "IOC" 섹션에서 찾을 수 있습니다. 이 트래픽의 소스 IP 주소는 변경될 가능성이 있으므로 보안 로그(syslog)를 검토하여 문제가 되는 IP 주소를 식별해야 합니다. 식별되면 3가지 옵션 중 하나를 사용하여 차단할 수 있습니다.
RAVPN을 위한 추가 강화 구현
지금까지 제공된 권장 사항은 RAVPN 서비스에 대한 공격의 위험과 영향을 낮추는 데 목적이 있습니다. 그러나 RAVPN에 대한 인증서 기반 인증을 채택하는 등 원격 액세스 VPN 구축의 보안을 강화하기 위해 추가 변경이 필요한 추가 대응책을 고려할 수 있습니다. 자세한 구성 지침은 Implement Hardening Measures for Secure Client AnyConnect VPN 문서를 참조하십시오.
추가 정보