이 문서에서는 2026년 2월 25일자 PSIRT 권고 사항을 기반으로 SD-WAN의 중요한 보안 취약성을 식별하고 수정하는 단계를 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
자세한 배경 정보 및 최신 업데이트는 공식 PSIRT 자문 페이지를 참조하십시오.
이러한 권고 사항은 다음 링크에서 확인할 수 있습니다.
이러한 결함은 다음 PSIRT 권고에 의해 해결됩니다.
참고: 모든 SD-WAN 구축은 취약하며 즉각적인 조치가 필요합니다. 그러나 모든 시스템이 보안 침해의 증거를 보이는 것은 아닙니다.
필요한 조치: Cisco TAC 케이스를 열어 이 보안 권고 사항을 해결합니다.
TAC는 다음과 같은 경우에 사용할 수 있습니다.
필수: TAC 케이스를 열기 전에 모든 제어 구성 요소에서 admin-tech 파일을 수집합니다. 이는 TAC에서 환경을 평가하는 데 필수적입니다.
컬렉션:
참고: admin-tech 생성의 경우 Log and Tech options를 선택합니다. 코어가 필요하지 않습니다.
참고: vSmart admin-techs는 동시에 실행할 수 없습니다. 한 번에 하나씩 수집하십시오. Managers 및 Validator에 대한 Admin-techs는 임의의 순서로 수집할 수 있습니다.
SD-WAN 환경에서 관리 기술 수집 및 TAC 케이스에 업로드
참고: TAC에서는 이러한 파일을 분석하여 여러분의 환경을 평가하고 적절한 교정 경로를 안내합니다.
admin-tech 파일을 공유할 수 없는 경우 수동 확인 단계를 사용할 수 있습니다. 이러한 단계는 문서화하고 TAC과 공유해야 하는 예비 지표를 제공합니다.
자세한 절차는 이 문서 끝에 있는 "수동 확인 단계" 섹션을 참조하십시오. 모든 조사 결과를 문서화하고 지원 사례에서 TAC에 제공하십시오.
1단계에서 모든 관리 기술 파일을 수집한 후 Cisco TAC 지원 케이스를 엽니다.
필요한 작업:
주의: TAC는 시스템 상태를 확인하고 적절한 다음 단계를 권장합니다.
TAC 지침 없이 추가 단계 시도 안 함
TAC는 업로드된 admin-tech 파일을 분석하고 시스템의 상태를 확인합니다.
이 시간 동안:
TAC에서는 평가를 기반으로 적절한 교정 프로세스를 안내합니다. TAC에서 제공하는 모든 지침을 완료합니다.
TAC에서 보안 침해 증거가 없다고 확인될 경우, 고정 소프트웨어 버전으로 업그레이드하십시오. 이 문서의 Fixed Software Versions(고정 소프트웨어 버전) 테이블에서 적절한 버전을 선택하고 이 섹션에 연결된 업그레이드 가이드를 참조하십시오.
경고: 업그레이드는 현재 주요 릴리스 내에 있어야 합니다. 명시적인 TAC 지침 없이 더 높은 주요 릴리스로 업그레이드하지 마십시오.
vManage GUI 또는 CLI를 사용하여 SD-WAN 컨트롤러 업그레이드
TAC에서 IoC(Indicators of Compromise, 보안 침해 지표)가 있다고 확인하면 TAC에서 제공하는 모든 지침을 완료합니다.
이러한 소프트웨어 릴리스에는 식별된 취약성에 대한 수정 사항이 포함되어 있습니다.
| 현재 버전에 적용 | 고정 버전 | 사용 가능한 소프트웨어 |
|---|---|---|
| 20.3, 20.6, 20.9 | 20.9.8.2 * | vManage, vSmart 및 vBond의 20.9.8.2 업그레이드 이미지 |
| 20.12에서 20.10, 20.11, 20.12.5 이하 | 20.12.5.3 | vManage, vSmart 및 vBond의 20.12.5.3 업그레이드 이미지 |
| 20.12.6 | 20.12.6.1 | vManage, vSmart 및 vBond의 20.12.6.1 업그레이드 이미지 |
| 20.13, 20.14, 20.15.x | 20.15.4.2 | vManage, vSmart 및 vBond의 20.15.4.2 업그레이드 이미지 |
| 20.16, 20.17, 20.18.x | 20.18.2.1 | vManage, vSmart 및 vBond의 20.18.2.1 업그레이드 이미지 |
참고: CDCS(Cisco-Hosted Cluster) 고객의 경우 20.15.405도 고정 릴리스입니다. 이는 특별히 Cisco 호스팅 클러스터 구축에 적용되며 표준 업그레이드 경로와 별도로 처리됩니다.
* 릴리스 20.9 이전 버전인 경우: 해당 릴리스(20.9.8.2)의 고정 소프트웨어는 2027년 2월에 제공됩니다. 더 높은 주요 릴리스(20.12, 20.15, 20.18)로 업그레이드하는 대신 현재 주요 릴리스 내에서 남아 20.9.8.2 릴리스를 기다리는 것이 좋습니다. 현재 20.9보다 낮은 버전인 경우 20.9.8.2에서 업그레이드할 때까지 기다립니다. 계속해서 TAC와 협력하고 27/27 다시 방문하여 사용 가능한 소프트웨어 링크를 확인합니다.
중요 참조:
참고: Admin-tech 수집이 기본 설정 및 권장 방법입니다. 절대적으로 관리 기술 파일을 수집하고 공유할 수 없는 경우에만 수동 확인을 사용하십시오. admin-tech 파일을 수집할 수 없는 경우 다음 수동 단계를 사용하여 TAC에 대한 예비 지표를 수집합니다.
참고:
요건: 이러한 단계는 모든 제어 구성 요소에서 수행해야 합니다.
1단계: 유효한 vManage 시스템 IP 식별
각 vSmart 컨트롤러에 액세스하여 다음을 실행합니다.
west-vsmart# show control connections | inc "vmanage|PEER|IP"
출력 예:
PEER PEER
PEER PEER PEER SITE DOMAIN PRIV PEER PUB PEER
INDEX TYPE PROT SYSTEM IP ID ID PRIVATE IP PORT PUBLIC IP PORT ORGANIZATION REMOTE COLOR STATE UPTIME
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0 vmanage dtls 10.1.0.18 101018 0 10.1.10.18 12346 10.1.10.18 12346 calo-auto-lab default up 5:17:27:22
2단계: 정규식 문자열 작성(vBond 및 vSmart만 해당)
1단계의 모든 시스템 IP를 OR regex 패턴으로 결합합니다.
system-ip1|system-ip2|...|system-ipn
2b단계: vManage 시스템을 위한 추가 단계
vManage 자체에서 이러한 명령을 실행하는 경우 regex에 localhost IP(127.0.0.1), local system IP, 모든 cluster IP 및 VPN 0 transport interface IP를 추가합니다.
system-ip1|system-ip2|...|system-ipn|127.0.0.1|
로컬 vManage 시스템 IP를 찾으려면 다음을 사용합니다.
show control local-properties
VPN 0 전송 인터페이스 IP 및 클러스터 IP를 찾으려면 다음을 사용합니다.
show interface | tab
3단계: 확인 명령 실행
2단계에서 REGEX를 regex 문자열로 대체하여 이 명령을 실행합니다.
west-vsmart# vs
west-vsmart:~$ zgrep "Accepted publickey for vmanage-admin from " /var/log/auth.log* | grep -vE "\s(REGEX)\s"
참고: 이 명령은 예기치 않은 소스의 vmanage-admin 로그인만 표시하도록 인증 로그를 필터링합니다. 합법적인 로그인은 vManage 관련 IP에서만 시작해야 합니다.
4단계: TAC용 결과 및 문서 해석
NO 출력이 표시되면
로그 라인이 인쇄되는 경우:
이 명령은 컨트롤러 syslog 파일에서 모든 peer-type 및 peer-system-ip 쌍을 추출하여 검토할 목록으로 출력합니다. 의심스러운 항목은 자동으로 플래그하지 않습니다. 출력을 검사하고 각 피어 시스템 IP가 SD-WAN 인프라의 알려진 합법적인 부분인지 확인해야 합니다. 모든 컨트롤 구성 요소(컨트롤러, 관리자 및 검사기)에서 이 명령을 실행합니다.
1단계: 각 제어 구성 요소에서 명령을 실행합니다.
먼저 vshell에 액세스하여 로그 디렉토리로 이동합니다.
vs
cd /var/log
그런 다음 다음 다음 명령을 실행합니다.
awk '{
match($0, /peer-type:([a-zA-Z0-9]+)[^ ]* peer-system-ip:([0-9.:]+)/, arr);
if(arr[1] && arr[2]) print "(" arr[1] ", " arr[2] ")";
}' vsyslog* | sort | uniq
2단계: TAC용 결과 및 문서 해석
출력에 알려진 vManage/vSmart/vBond 시스템 IP만 표시되는 경우:
출력에 인식할 수 없는 피어 시스템 IP가 포함된 경우:
1단계: 제공 사항
로그 파일: /var/log/nms/containers/service-proxy/serviceproxy-access.log
로그 라인 예:
[2026-03-04T01:45:06.239Z] "GET /reports/data/opt/data/containers/config/data-collection-agent/.dca HTTP/1.1" 200 - 0 32 1 - "" "python-requests/2.32.5" "ae076862-2244-45a6-844f-bc2af970e570" "192.168.2.3" "127.0.0.1:8080"
참고: IOC3는 HTTP 상태 코드를 게이팅 조건으로 사용하지 않습니다. 모든 접근 시도가 기록됩니다. 상태 코드는 분석가의 해석과 관련이 있지만(예: HTTP 200은 파일 읽기에 성공했음을 나타냄) 200개가 아닌 응답은 탐구적인 시도로 남아 있으므로 평가해야 합니다.
2단계: 수동 검색 명령
From Terminal(터미널에서) - 추출된 admin-tech 번들 내에서 검색합니다.
zgrep -r "data-collection-agent/.dca" var/log/nms/containers/service-proxy/serviceproxy-access.log*
참고: 합법적인 DCA 관리에는 알려진 관리자 IP 주소의 .dca URI가 포함될 수 있습니다. 에스컬레이션하기 전에 항상 알려진 관리자 소스에 대해 소스 IP 주소를 검증합니다. 각 하위 유형에 대해 인식되지 않는 소스 IP를 의심스러운 것으로 취급합니다.
참고: IOC4는 vManage 디바이스에만 적용됩니다. 통과../통과를 통해 파일을 쓰는 모든 SmartLicensingManager 로그 항목은 결과에 관계없이 플래그가 지정됩니다. 로그에 쓰기 항목이 있는 경우 쓰기가 발생했습니다.
1단계: 제공 사항
로그 파일: /var/log/nms/vmanage-server.log
로그 라인 예:
06-Mar-2026 02:16:34,029 UTC INFO [285fcdc0-30fa-4ca0-8e06-6953a095a59a] [LAB-TEST-1] [SmartLicensingManager] (default task-11229) |57501bad-32a7-4f52-8f54-8547dcd7403e| Time taken to write file ../../../../../../../../../../../var/lib/wildfly/standalone/deployments/cmd.gz.war = 2 ms to directory /opt/data/app-server/software/package/license/ack
04-Mar-2026 15:40:02,683 IST INFO [ca0e641b-acc7-42a6-b39b-bf3d28be0bcb] [LAB-TEST-1] [SmartLicensingManager] (default task-1235) |default| Time taken to write file ../../../../../../../../../../../var/lib/wildfly/standalone/deployments/sysv.gz.war = 0 ms to directory /opt/data/app-server/software/package/license/ack
27-Feb-2026 08:49:27,169 IST INFO [d9976a9d-071e-4e07-a3ef-4e90019cae12] [LAB-TEST-1] [SmartLicensingManager] (default task-809) |default| Time taken to write file ../../../../../../../../../../../var/lib/wildfly/standalone/deployments/authscp.gz.war = 0 ms to directory /opt/data/app-server/software/package/license/ack
주의: 예에 표시된 파일 이름(예: cmd.gz.war)은 예시용입니다. 실제 사례에서는 다른 파일 이름을 사용할 수 있습니다. 식별된 모든 고유한 통과 파일 이름을 각각 삭제된 페이로드를 나타내므로 기록합니다.
2단계: 수동 검색 명령
From Terminal(터미널에서) - 추출된 admin-tech 번들 내에서 검색합니다.
grep -rE "SmartLicensingManager.*Time taken to write file \.\.\/" var/log/nms/vmanage-server.log*
회전된/압축된 로그 포함:
zgrep -E "SmartLicensingManager.*Time taken to write file \.\.\/" var/log/nms/vmanage-server.log*
관련 컨텍스트 라인을 캡처하려면(업로드 API 처리 및 이벤트 쓰기)
grep -rE "SmartLicensingManager.*(write file|is processing|stringUrl|Failed to download).*/wildfly" var/log/nms/vmanage-server.log*
주의: 보안이 침해된 환경에서 나타나는 파일 확장명은 다를 수 있습니다. 예제 및 검색 패턴은 일반적인 시나리오를 다루지만 포괄적이지는 않습니다.
1단계: 제공 사항
로그 파일: /var/log/nms/containers/service-proxy/serviceproxy-access.log
*.gz/*.jsp URI 패턴에 대한 POST 요청은 플래그됩니다. HTTP 상태가 심각도를 결정합니다.
| HTTP 상태 | 의미 | 보안 침해가 확인되었습니까? |
|---|---|---|
| 200 | 서버에서 webshell을 실행했습니다. 페이로드가 활성 상태입니다. | 예 - 확인된 보안 침해 |
로그 라인 예:
[2026-03-04T08:03:33.295Z] "POST /cmd.gz/cmd.jsp HTTP/1.1" 200 - 6 63 78 - "" "python-requests/2.32.5" "9d842c1a-b96f-4d04-ac3d-542ec3dd734b" "192.168.2.3" "127.0.0.1:8080"
2단계: 수동 검색 명령
From Terminal(터미널에서) - 추출된 admin-tech 번들 내에서 검색합니다.
grep -rE '"POST /[^"]+\.gz/[^"]+\.jsp HTTP' var/log/nms/containers/service-proxy/serviceproxy-access.log*
회전된/압축된 로그 포함:
zgrep -E '"POST /[^"]+\.gz/[^"]+\.jsp HTTP' var/log/nms/containers/service-proxy/serviceproxy-access.log*
확인된 실행(HTTP 200)을 200개가 아닌 시도와 분리하려면
# HTTP 200 only - confirmed webshell execution:
grep -rE '"POST /[^"]+\.gz/[^"]+\.jsp HTTP[^"]*" 200' var/log/nms/containers/service-proxy/serviceproxy-access.log*
참고: 모든 고유한 소스 IP, 총 요청 수, HTTP 200 응답 수를 문서화합니다. Cisco TAC에 보고하십시오.
Q: 이 보안 권고 사항을 해결하기 위한 첫 번째 단계는 무엇입니까?
A : 모든 제어 구성 요소에서 admin-tech 파일을 수집하고 TAC 케이스를 열어 파일을 업로드합니다. TAC에서 환경을 평가하고 다음 단계에 대한 지침을 제공합니다.
Q. 어떤 버전으로 업그레이드해야 합니까?
A. 최대한 빨리 가장 가까운 고정형으로 업그레이드해 주세요.
Q: 모든 제어 구성 요소에서 admin-techs를 수집해야 합니까?
A : 예. TAC에서는 환경 평가를 제대로 수행하려면 모든 컨트롤러(vSmart, 한 번에 하나씩 수집됨), 모든 관리자(vManage) 및 모든 검증자(vBond)의 관리 기술 파일이 필요합니다.
Q: TAC는 내 시스템이 손상되었는지 어떻게 판단합니까?
A : TAC는 전문 툴을 사용하여 관리 기술 파일을 분석하여 보안 침해 지표를 위한 환경을 평가합니다.
Q: 보안 침해 지표가 식별되면 어떻게 됩니까?
A : TAC에서 해당 환경에 맞는 다음 단계 및 지침을 논의하기 위해 연락합니다. Cisco는 사용자를 대신하여 교정을 수행하지 않습니다. TAC는 진행에 필요한 지침을 제공합니다.
Q: 사용할 고정 소프트웨어 버전을 어떻게 알 수 있습니까?
A : 이 문서의 Fixed Software Versions 테이블을 참조하십시오. TAC에서 고객의 특정 환경에 적합한 버전을 확인합니다.
Q: TAC에서 내 관리자-기술을 분석하기 전에 업그레이드를 시작할 수 있습니까?
A : 아니요. TAC에서 평가를 완료하고 지침을 제공한 후 교정 작업을 수행합니다.
Q: 치료 중에 다운타임이 발생합니까?
A : 구축 아키텍처 및 교정 경로에 따라 영향이 달라집니다. TAC에서는 프로세스 중 서비스 영향을 최소화하는 데 대한 지침을 제공합니다.
Q: PSIRT 픽스는 20.15.5 릴리스와 기타 향후 릴리스에 포함되어 있습니까?
A : 예, 20.15.5 및 기타 향후 릴리스에 수정 사항이 포함되어 있습니다. 그러나 이 문서에 설명된 취약성을 완화하기 위한 업그레이드의 우선 순위를 즉시 지정해야 합니다. (기다리지 마십시오!)
Q: 보안 침해 지표가 발견되지 않을 경우 모든 컨트롤러를 업그레이드해야 합니까?
A : 예. 모든 SD-WAN 제어 구성 요소(vManage, vSmart 및 vBond)를 고정 소프트웨어 버전으로 업그레이드해야 합니다. 컨트롤러 하위 집합만 업그레이드하는 것으로는 충분하지 않습니다.
Q: 클라우드 호스팅 SD-WAN 오버레이가 있습니다. 업그레이드할 수 있는 옵션은 무엇입니까?
A : 클라우드 호스팅 오버레이의 경우 고객은 두 가지 옵션을 사용할 수 있습니다.
원하는 유지 보수 기간을 위해 대기 TAC 케이스를 엽니다. 업그레이드에 문제가 발생할 경우 TAC를 통해 지원을 받을 수 있습니다.
Q: 에지 라우터도 업그레이드해야 합니까?
A : Cisco IOS XE 디바이스는 이 권고의 영향을 받지 않습니다.
Q: Cisco 호스팅 오버레이입니다. ACL을 수정하거나 SSP에 대한 작업을 수행해야 합니까?
A : 모든 Cisco 호스팅 고객은 SSP에 표시된 자체 Allowed Inbound Rules를 검토하고 사용자 측의 필요한 접두사만 허용하도록 확인하는 것이 좋습니다. 이 규칙은 관리 액세스용이며 에지 라우터에는 적용되지 않습니다. SSP > Overlay Details(오버레이 세부사항) > Allow Inbound rules(인바운드 허용 규칙)에서 검토하십시오. 포트 22, 830은 외부에서 클라우드 호스팅 컨트롤러로 Cisco에 의한 Day 0 프로비저닝에서 항상 기본적으로 차단되었습니다.
Q: CDCS/공유 테넌트에 있습니다. 어떤 버전으로 업그레이드할 예정입니까?
A : 현재 버전을 기준으로 공유 테넌트 또는 CDCS 클러스터는 현재 업그레이드 예정이거나 이미 고정 버전으로 업그레이드된 상태입니다. 다음은 공유 테넌트 및 CDCS 고정 릴리스입니다.
1. 조기 도입 클러스터 => 20.18.2.1(표준 릴리스와 동일)
2. 릴리스 클러스터 => 20.15.405 권장(PSIRT 픽스가 있는 CDCS 특정 버전)
CDCS 고객은 이 PSIRT를 해결하기 위해 어떤 조치도 효과적으로 취할 필요가 없습니다.
Q: SD-WAN 오버레이의 취약성을 줄이기 위한 일반적인 모범 사례 또는 방법은 무엇입니까?
A : SD-WAN 오버레이의 취약점을 줄이기 위한 모범 사례 및 권장 사항은 Cisco Catalyst SD-WAN 강화 가이드를 참조하십시오.
Q: 시스템의 "루트" 사용자로부터 로그를 확인합니다. 이게 무슨 상관이야?
A : 그 당시 시스템에서 무슨 일이 일어나고 있는지 확인해 보세요. 이러한 로그는 완전히 예상할 수 있습니다. 예를 들어, admin-techs가 생성될 때 "루트" 사용자의 시스템 로그인 변경 로그가 표시됩니다. 재부팅 중에 "루트" 사용자에서도 로그를 볼 수 있습니다.
Feb 28 23:03:44 Manager01 SYSMGR[863]: %Viptela-Manager01-sysmgrd-6-INFO-1400002: Notification: system-login-change severity-level:minor host-name:"Manager01" system-ip: user-name:"root" user-id:245 generated-at:2-28-2026T23:3:44
Feb 28 23:03:47 Manager01 SYSMGR[863]: %Viptela-Manager01-sysmgrd-6-INFO-1400002: Notification: system-login-change severity-level:minor host-name:"Manager01" system-ip: user-name:"root" user-id:248 generated-at:2-28-2026T23:3:47
Q: 이미 보안 침해 지표가 없이 업그레이드되었습니다. 3월 17일 새로운 IOC가 발표되고 난 후, 나는 무엇을 해야 하는가?
A : fixed로 나열된 소프트웨어는 이 문서에서 다룬 두 가지 권고 사항에 나열된 CVE를 악용하려는 추가 시도에 대한 보호를 포함합니다. 업그레이드는 향후 익스플로잇을 차단하지만, 업그레이드 이전에 발생한 기존 익스플로잇은 여전히 존재할 수 있습니다. 고객은 Cisco 버그 ID CSCws52722의 버그 검색 툴 페이지에 내장된 셀프 서비스 "버그 적용 가능성 확인"을 사용하여 제어 구성 요소에서 관리자-기술을 다시 검색하는 것이 좋습니다. 필요한 경우 고객은 TAC 케이스를 열고 이 문서에 설명된 프로세스를 반복하여 새로운 IOC를 기반으로 관리-기술을 재검사할 수 있습니다. b
| 개정 | 게시 날짜 | 의견 |
|---|---|---|
5.0 |
19-Mar-2026
|
확인 단계 3-5 추가 |
4.0 |
01-Mar-2026
|
Q&A 업데이트 |
3.0 |
27-Feb-2026
|
20.9.8.2가 제공됩니다. |
2.0 |
26-Feb-2026
|
업데이트된 Q&A |
1.0 |
25-Feb-2026
|
최초 릴리스 |