소개
이 문서에서는 Secure Firewall의 원격 액세스 VPN 서비스를 대상으로 하는 비밀번호 스프레이 공격을 방지하기 위해 고려해야 할 권장 사항을 설명합니다.
배경 정보
비밀번호 살포 공격은 공격자가 여러 계정에서 자주 사용하는 비밀번호 몇 개를 체계적으로 시도하여 여러 사용자 계정에 대한 무단 액세스를 시도하는 무차별 대입 공격의 일종입니다. 암호 살포 공격이 성공하면 민감한 정보에 대한 무단 액세스, 데이터 유출, 네트워크 무결성의 잠재적 침해로 이어질 수 있습니다
또한 이러한 공격은 액세스 확보에 실패한 경우에도 보안 방화벽의 컴퓨팅 리소스를 소비하고 유효한 사용자가 원격 액세스 VPN 서비스에 연결하는 것을 방지할 수 있습니다.
관찰된 동작
보안 방화벽이 원격 액세스 VPN 서비스의 비밀번호 스프레이 공격의 표적이 될 경우, syslog를 모니터링하고 특정 show 명령을 사용하여 이러한 공격을 식별할 수 있습니다. 가장 일반적인 행동은 다음과 같습니다.
거부된 인증 요청의 이례적인 양
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
권장 사항
다음 권장 사항을 고려하고 적용합니다.
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에 대한 위협 감지 기능 또는 강화 조치를 구성합니다.
RAVPN 연결에 미치는 영향을 줄이고 무차별 대입 공격의 발생 가능성을 줄이기 위해 다음 구성 옵션을 검토하고 적용할 수 있습니다.
옵션 1(권장): 원격 액세스 VPN 서비스에 대한 위협 탐지를 구성합니다.
원격 액세스 VPN 서비스에 대한 위협 탐지 기능을 사용하면 구성된 임계값을 초과하는 호스트(IP 주소)를 자동으로 차단하여 IP 주소의 차단을 수동으로 제거할 때까지 추가 시도를 방지하여 이러한 종류의 공격으로부터 보호할 수 있습니다.
이러한 위협 탐지 기능은 현재 다음에 나열된 Cisco Secure Firewall 버전에서 지원됩니다.
ASA 소프트웨어:
- 9.16 버전 기차 -> 이 특정 열차 내의 9.16(4)67 이상 버전에서 지원됩니다.
- 9.18 버전 기차 -> 이 특정 열차 내의 9.18(4)40 이상 버전에서 지원됩니다.
- 9.20 버전 열차 -> 이 특정 열차 내의 9.20(3) 이상 버전에서 지원됩니다.
- 9.22 버전 train -> 9.22(1.1) 이상 버전에서 지원됩니다.
FTD 소프트웨어:
- 7.0 버전 열차 -> 이 특정 열차 내의 7.0.6.3 이상 버전에서 지원됩니다.
- 7.6 버전 train -> 7.6.0 이상 버전에서 지원됩니다.
참고: 이러한 기능은 현재 버전 열차 7.1, 7.2, 7.3 또는 7.4에서 지원되지 않습니다. 이 문서는 사용 가능해지면 업데이트됩니다.
자세한 내용 및 컨피그레이션 지침은 다음 문서를 참조하십시오.
옵션 2: 원격 액세스 VPN에 대한 강화 조치를 적용합니다.
보안 방화벽 버전에서 원격 액세스 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: 악의적인 소스에서 연결 시도를 수동으로 차단합니다.
무단 소스로부터의 연결 시도를 방해하기 위해 아래 나열된 옵션 중 하나를 구현할 수 있습니다.
이는 악의적인 IP를 차단하기 위한 간단한 접근 방식이지만 수동으로 수행해야 합니다. 자세한 내용은 'shun' 명령을 사용하여 보안 방화벽의 공격을 차단하는 대체 컨피그레이션 섹션을 참조하십시오.
ASA/FTD에서 컨트롤 플레인 ACL을 구현하여 무단 공용 IP 주소를 필터링하고 이들이 원격 VPN 세션을 시작하지 못하도록 합니다. 보안 방화벽 위협 방어 및 ASA에 대한 컨트롤 플레인 액세스 제어 정책을 구성합니다.
참고: Cisco Talos는 이러한 공격과 관련된 IP 주소 및 자격 증명 목록을 게시했습니다. 해당 GitHub 리포지토리에 대한 링크는 자문 항목의 "IOC" 섹션에서 찾을 수 있습니다. 이 트래픽의 소스 IP 주소는 변경될 가능성이 있으므로 보안 로그(syslog)를 검토하여 문제가 되는 IP 주소를 식별해야 합니다. 식별되면 3가지 옵션 중 하나를 사용하여 차단할 수 있습니다.
관련 동작
Secure Firewall이 비밀번호 스프레이 공격의 표적이 되면서 발생할 수 있는 특정 증상이 있습니다. 이러한 문제를 해결하려면 이 문서에 제공된 권장 사항을 구현하는 것을 고려하십시오.
증상 1: Firewall Posture(HostScan)가 활성화된 경우 Cisco Secure Client(AnyConnect)와의 VPN 연결을 설정할 수 없음
Cisco Secure Client(AnyConnect)를 사용하여 RAVPN 연결을 설정하려고 할 때 간헐적으로 사용자에게 "연결을 완료할 수 없음"이라는 오류 메시지가 표시될 수 있습니다. Cisco Secure Desktop이 클라이언트에 설치되지 않았습니다.". 이 동작은 일반적으로 VPN 헤드엔드(Cisco Secure Firewall ASA 또는 FTD)에서 hostscan 토큰을 할당하지 못할 때 발생합니다. 특히, 이러한 할당 실패는 보안 방화벽 인프라를 대상으로 하는 무차별 대입 공격의 경우와 관련이 있으며 VPN 연결 프로세스가 성공적으로 완료되는 것을 방지합니다. 이 동작은 Cisco 버그 ID CSCwj45822를 통해 추적 및 해결되었습니다.
참고: 이 특정 동작은 사용된 Secure Client 또는 AnyConnect 버전에 관계없이 헤드엔드에서 방화벽 상태(HostScan)가 활성화된 경우에만 발생합니다.
VPN 헤드엔드 Cisco Secure Firewall ASA 또는 FTD에서 hostscan 토큰 할당 실패의 증상이 나타나는지 확인하려면 debug menu webvpn 187 0 명령을 실행합니다.
ASA# debug menu webvpn 187 0
Allocated Hostscan token = 1000
Hostscan token allocate failure = xxx - - - - > Increments
참고: 이 문제는 공격으로 인해 발생합니다. 이 동작은 Cisco 버그 ID CSCwj45822를 통해 추적 및 해결되었습니다.
이 문제를 해결하려면 이 문서에 제공된 권장 사항을 구현하는 것을 고려하십시오.
RAVPN을 위한 추가 강화 구현
RAVPN에 대한 인증서 기반 인증을 채택하는 등 원격 액세스 VPN 구축의 보안을 강화하기 위해 추가 변경이 필요한 추가 대응책을 고려할 수 있습니다. 자세한 구성 지침은 Implement Hardening Measures for Secure Client AnyConnect VPN 문서를 참조하십시오.
추가 정보