문제
Cisco Secure Firewall Firepower 플랫폼(버전 7.6.4, 7.7 및 10.0.0)에서 여러 SSH 세션이 동일한 디바이스에 대해 활성 상태인 경우, CLISH CLI를 사용하여 한 세션에서 장기 실행 명령(예: 연속 ping)을 실행하면 다른 CLI 명령이 다른 세션 또는 CLISH에서 완료되는 것을 차단합니다. 예를 들어, 관리자가 하나의 SSH CLISH 세션에서 연속 ping을 시작하고 다른 CLISH 세션에서 show 명령을 실행하려고 하면 장기 실행 명령이 완료되거나 중단될 때까지 후속 명령이 중단됩니다. 특정 버전에서는 장기 실행 ping을 CLISH에서 중단할 수 없으므로 CLISH 또는 배포 잠금이 발생합니다. expert 모드 또는 LINA 엔진을 직접 사용하면(시스템 지원 진단 CLI 작업을 통해) 차단합니다.
환경
- Cisco Secure Firewall Firepower 하드웨어 플랫폼 1000, 1200 및 4200 시리즈
- 소프트웨어 버전: 7.6.4, 7.7, 10.0.0
- 동일한 디바이스에 대한 여러 SSH 세션(동일한 사용자 또는 서로 다른 사용자)
- CLI 인터페이스 클릭
- Expert 모드 및 LINA 진단 CLI 사용
- 다음 명령을 사용하여 테스트했습니다.
ping, traceroute, show sip, show ip, show conn, ¶show xlate
- FPR1010, FPR1200 및 FPR4200 어플라이언스에서 재현되는 문제
- 관련 결함: CSCws82823, CSCwb84748
해결
문제는 다음과 같은 증상을 나타냅니다.
- 서로 다르거나 동일한 사용자 자격 증명을 사용하여 디바이스에 대한 2개의 SSH 세션을 설정합니다.
- 세션 1에서 FTD CLISH 프롬프트에서 높은 반복 카운트로 장기 실행 ping을 실행합니다.
> ping 1.1.1.1 repeat 2000
주의: 테스트할 경우 2000과 같은 작은 수의 숫자를 사용하여 테스트하면 완료하는 데 몇 시간이 걸릴 수 있습니다.
참고: CLISH의 ping/traceroute에는 LINA CLI에서 직접 표시되는 진행률 문자가 표시되지 않습니다.
- 세션 2에서 CLISH에서 "show sip"와 같은 다른 LINA 명령을 실행하려고 합니다.
> show sip
- 세션 2의 명령은 세션 1의 ping이 완료되거나 중단될 때까지 완료되지 않습니다.
이 해결 방법은 다음과 같습니다.
- CLISH 작동 중지 및 배포 지연을 방지하려면 Ctrl+C를 사용하여 초기 연장 명령을 중단합니다.
- 영향을 받는 버전에서는 Ctrl+C 또는 SSH 세션을 닫아 CLISH에서 장기 실행 ping을 중단할 수 없습니다.
- 시도하면 백엔드 프로세스가 계속되고 CLISH는 다른 LINA 명령에 대해 잠긴 상태로 유지됩니다.
- 그러한 상태에서 FTD가 발견되거나 FTD가 고정된 상태로 지속된 ping을 수행하는 것으로 의심되면 FTD를 재부팅하여 복구해야 합니다.
- CLISH/배포 잠금을 방지하려면 LINA 엔진을 사용하여 LINA 명령을 직접 실행합니다. 이 방법에서는 결함이 있는 동작이 나타나지 않습니다.
> system support diagnostic-cli
firepower# ping 1.1.1.1 repeat 2000
- LINA 진단 CLI를 통해 실행되는 명령은 다른 세션에서 CLISH 또는 배포 프로세스를 차단하지 않습니다. 그러나 시스템 지원 diagnostic-cli는 세션당 CLI 사용자를 하나만 허용합니다.
추가 고려 사항 및 관찰:
- Traceroute 명령은 일반적으로 CLISH에서 중단될 수 있지만, 다른 세션에서 새 LINA 명령에 대해 일시적인 지연(~3분)이 발생할 수 있습니다.
- 두 프로세스에서 모두 동기식 메서드를 사용하고 완료(최대 10분)를 기다리므로 CLISH에서 장기 실행 ping이 활성화되어 있으면 Secure Firewall Management Center 또는 Device Manager에서 시작된 구축 작업이 지연되거나 차단될 수 있습니다.
- 이러한 차단 동작은 동기식 프로세스 작업을 위한 설계에 의한 것이지만, 중단 불능은 결함에 의해 도입되었다.
원인
근본 원인은 CLISH의 특정 CLI 명령에서 실수로 필수 코드를 제거한 결함(Cisco Bug ID CSCws82823)입니다. 이로 인해 LINA 엔진이 장기 실행 명령을 제대로 인식하고 관리할 수 없습니다. 이로 인해 Ctrl+C 중단 기능이 손실되고 CLISH가 잠기면서 장기 실행 명령이 완료될 때까지 다른 명령 및 배포 작업을 차단했습니다. 이러한 차단 동작은 CLISH 명령 처리의 동기식 특성에 기인합니다.
관련 콘텐츠