Secure Firewall ASA 디바이스 문제 해결
재부팅 후 ASA가 CDO에 다시 연결하지 못함
ASA를 재부팅한 후 CDO와 ASA가 연결되지 않으면 ASA가 CDO의 SDC(보안 디바이스 커넥터)에서 지원하지 않는 OpenSSL 암호 그룹을 사용하도록 대체되었기 때문일 수 있습니다. 이 문제 해결 항목은 해당 사례를 테스트하고 문제 해결 단계를 제공합니다.
증상
-
ASA가 재부팅되고 CDO와 ASA가 재연결에 실패합니다. CDO는 "다시 연결하지 못했습니다."라는 메시지를 표시합니다.
-
ASA 온보딩을 시도할 때 CDO는 다음 메시지를 표시합니다. <ASA_IP_Address>에 대한 인증서를 검색할 수 없습니다.
인증서 오류로 인해 ASA를 온보딩할 수 없음
환경: ASA가 클라이언트 측 인증서 인증으로 구성되었습니다.
해결책 : 클라이언트 측 인증서 인증을 비활성화합니다.
세부 정보: ASA는 자격 증명 기반 인증 및 클라이언트 측 인증서 인증을 지원합니다. CDO는 클라이언트 측 인증서 인증을 사용하는 ASA에 연결할 수 없습니다. ASA를 CDO에 온보딩하기 전에 다음 절차를 사용하여 클라이언트 인증서 인증이 활성화되어 있지 않은지 확인합니다.
Procedure
Step 1 |
터미널 창을 열고 SSH를 사용하여 ASA에 연결합니다. |
Step 2 |
전역 구성 모드를 시작합니다. |
Step 3 |
hostname (config)# 프롬프트에서 다음 명령을 입력합니다. no ssl certificate-authentication interfaceinterface-nameport 443 인터페이스 이름은 CDO가 연결하는 인터페이스의 이름입니다. |
ASA에서 사용하는 OpenSSL 암호 그룹 확인
이 절차를 사용하여 ASA에서 사용 중인 OpenSSL 암호화 제품군을 식별합니다. 명령 출력에 명명된 암호 제품군이 지원되는 암호 제품군 목록에 없는 경우 SDC에서 해당 암호 그룹을 지원하지 않으므로 ASA에서 암호 그룹을 업데이트해야 합니다.
Procedure
Step 1 |
SDC에 연결할 수 있는 컴퓨터에서 콘솔 창을 엽니다. |
||
Step 2 |
SSH를 사용하여 SDC에 연결합니다. CDO 또는 SDC와 같은 일반 사용자 또는 생성한 다른 사용자로 로그인할 수 있습니다. 루트로 로그인할 필요가 없습니다.
|
||
Step 3 |
명령 프롬프트에 다음을 입력합니다. openssl s_client -showcerts -connectASA_IP_Address:443 |
||
Step 4 |
명령 출력에서 다음 행을 찾으십시오.
이 예에서 ASA에서 사용 중인 암호화 제품군은 |
CDO의 보안 디바이스 커넥터가 지원하는 Cipher Suites
CDO의 보안 디바이스 커넥터는 가장 안전한 최신 암호만 허용하는 node.js를 사용합니다. 결과적으로 CDO의 SDC는 다음 암호 목록만 지원합니다.
-
ECDHE-RSA-AES128-GCM-SHA256
-
ECDHE-ECDSA-AES128-GCM-SHA256
-
ECDHE-RSA-AES256-GCM-SHA384
-
ECDHE-ECDSA-AES256-GCM-SHA384
-
DHE-RSA-AES128-GCM-SHA256
-
ECDHE-RSA-AES128-SHA256
-
DHE-RSA-AES128-SHA256
-
ECDHE-RSA-AES256-SHA384
-
DHE-RSA-AES256-SHA384
-
ECDHE-RSA-AES256-SHA256
-
DHE-RSA-AES256-SHA256
ASA에서 사용하는 암호 제품군이 이 목록에 없는 경우, SDC에서 지원하지 않으므로 ASA에서 암호 제품군을 업데이트해야 합니다.
ASA의 암호 그룹 업데이트
ASA에서 TLS 암호 그룹을 업데이트하려면 다음을 수행합니다.
Procedure
Step 1 |
SSH를 사용하여 ASA에 연결합니다. |
||
Step 2 |
ASA에 연결되면 권한을 전역 구성 모드로 승격합니다. 프롬프트는 다음과 같이 표시됩니다. asaname(config)# |
||
Step 3 |
프롬프트에서 다음과 유사한 명령을 입력합니다.
|
||
Step 4 |
명령을 제출한 후 프롬프트에서 write memory를 입력하여 로컬 구성을 저장합니다. 예: |
CLI 명령을 사용하여 ASA 문제 해결
이 섹션에서는 ASA 문제를 해결하고 기본 연결을 테스트하는 데 사용할 수 있는 몇 가지 중요한 명령에 대해 설명합니다. 다른 문제 해결 시나리오 및 CLI 명령에 대해 알아보려면 CLI 책 1: Cisco ASA Series 일반 작업 CLI 구성 가이드를 참조하십시오. '시스템 관리' 섹션에서 '테스트 및 문제 해결' 장으로 이동합니다.
각 ASA 디바이스에서 사용할 수 있는 CDO CLI 인터페이스를 사용하여 이러한 명령을 실행할 수 있습니다. CDO에서 CLI 인터페이스를 사용하는 방법에 대해 알아보려면 CDO 명령줄 인터페이스 사용을 참조하십시오.
NAT 정책 설정
NAT 설정을 결정하는 몇 가지 중요한 명령은 다음과 같습니다.
-
NAT 정책 통계를 확인하려면 show nat를 사용합니다.
-
할당된 주소와 포트를 포함한 NAT 풀과 할당된 횟수를 확인하려면 show nat pool을 사용합니다.
NAT와 관련된 추가 명령은 CLI 책 2: Cisco ASA Series Firewall CLI 구성 가이드를 참조하고 'NAT(Network Address Translation)' 장으로 이동하십시오.
기본 연결 테스트: 주소 ping하기
ASA CLI 인터페이스에서 ping <IP address> 명령을 사용하여 ASA 디바이스를 ping할 수 있습니다. 기존
라우팅 테이블 표시
라우팅 테이블의 항목을 보려면 show route 명령을 사용합니다.
ciscoasa# show route
ASA의 라우팅 테이블에 대한 출력 예:
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, V - VPN
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, + - replicated route
SI - Static InterVRF
마지막 수단의 게이트웨이는 네트워크 0.0.0.0에 대한 192.168.0.254입니다.
S* 0.0.0.0 0.0.0.0 [1/0] via 192.168.0.254, 관리
C 10.0.0.0 255.0.0.0 직접 연결, 외부
L 10.10.10.1 255.255.255.255 직접 연결, 외부
C 192.168.0.0 255.255.255.0 직접 연결, 관리
L 192.168.0.118 255.255.255.255 직접 연결, 관리
스위치 포트 모니터링
-
show interface
인터페이스 통계를 표시합니다.
-
show interface ip brief
인터페이스 IP 주소와 상태를 표시합니다.
-
show arp
동적, 정적 및 프록시 ARP 항목을 표시합니다. 동적 ARP 항목에는 ARP 항목의 기간(초)가 포함됩니다.
ARP 항목의 출력 예:
관리 10.10.32.129 0050.568a.977b 0
관리 10.10.32.136 0050.568a.5387 21
LANFAIL 20.20.21.1 0050.568a.4d70 96
outsi 10.10.16.6 0050.568a.e6d3 3881
outsi 10.10.16.1 0050.568a.977b 5551
ASA 원격 액세스 VPN 문제 해결
이 섹션에서는 ASA 디바이스에서 원격 액세스 VPN을 구성할 때 발생할 수 있는 몇 가지 문제 해결 문제에 대해 설명합니다.
RA VPN 모니터링 페이지에서 누락된 정보
이 문제는 Webvpn에 대해 외부 인터페이스가 활성화되지 않은 경우 발생할 수 있습니다.
해결 방법:
-
탐색창에서 Inventory(재고 목록)를 클릭합니다.
-
Devices(디바이스) 탭을 클릭한 다음 ASA 탭을 클릭합니다.
-
문제가 있는 RA VPN 헤드엔드 ASA 디바이스를 선택합니다.
-
오른쪽의 관리 창에서 Configuration(구성)를 클릭합니다.
-
Edit(편집)를 클릭하고 'webvpn'을 검색합니다.
-
Enter(엔터)를 누르고
enable
interface_name를 추가합니다. 여기서 interface_name은 원격 액세스 VPN 연결을 만들 때 사용자가 연결하는 외부 인터페이스의 이름입니다. 이 인터페이스는 대개 외부(인터넷 연결) 인터페이스이지만, 이 연결 프로파일을 사용하여 지원하려는 디바이스와 엔드 유저 간의 인터페이스를 선택하면 됩니다.예를 들면 다음과 같습니다.
webvpn
enable outside
-
Save(저장)를 클릭합니다.
-
디바이스에 구성을 미리 보고 배포합니다.
ASA 실시간 로깅
실시간 로깅을 사용하여 로깅된 데이터의 마지막 20초 또는 로깅된 데이터의 마지막 10KB 중 먼저 도달하는 한계에 도달하는 데이터를 표시합니다. CDO는 실시간 데이터를 검색할 때, ASDM의 기존 로깅 구성을 검토하고, 디버깅 수준 데이터를 요청하도록 변경한 다음, 로깅 구성을 구성으로 반환합니다. 로깅 CDO 디스플레이에는 ASDM에서 설정했을 수 있는 모든 로깅 필터가 반영됩니다.
변경 로그를 검토하면 CDO가 로깅을 수행하기 위해 보내는 명령을 볼 수 있습니다. 다음은 변경 로그 항목의 예입니다. 첫 번째 항목(하단)은 CDO가 로깅 활성화 명령으로 로깅을 "켜고" ASDM 로깅 수준을 디버깅으로 변경했음을 나타냅니다. 두 번째 항목(상단)은 로깅 구성이 이전 상태로 돌아갔음을 보여줍니다. no logging enable 명령으로 로깅이 "꺼지고" ASDM 로깅 수준이 정보로 돌아갔습니다.
ASA 실시간 로그 보기
Procedure
Step 1 |
Inventory(인벤토리) 페이지에서 Devices(장치 ) 탭을 클릭합니다. |
Step 2 |
적절한 디바이스 유형 탭을 클릭하고 실시간 데이터를 보려는 디바이스를 선택합니다. |
Step 3 |
Troubleshoot(문제 해결) 를 클릭합니다. |
Step 4 |
(선택 사항) 실시간 로그 보기를 클릭하기 전에 왼쪽 창에서 필터를 정의하여 로그 검색 결과를 구체화할 수 있습니다. |
Step 5 |
View Real-time Log(실시간 로그 보기)를 클릭합니다. CDO는 필터링 기준에 따라 실시간 로그 데이터를 검색하여 표시합니다. |
Step 6 |
기록된 데이터의 추가 20초 또는 기록된 데이터의 마지막 10KB를 보려면. View Real-Time Log(실시간 로그 보기)를 다시 클릭합니다. |
ASA 패킷 트레이서
패킷 트레이서를 사용하면 합성 패킷을 네트워크로 보내고 기존 라우팅 구성, NAT 규칙 및 정책 구성이 해당 패킷에 미치는 영향을 평가할 수 있습니다. 이 도구를 사용하여 다음과 같은 종류의 문제를 해결합니다.
-
사용자가 연결 가능해야 하는 리소스에 연결할 수 없다고 보고합니다.
-
사용자가 연결할 수 없어야 하는 리소스에 연결할 수 있다고 보고합니다.
-
정책을 테스트하여 예상대로 작동하는지 확인합니다.
패킷 트레이서는 실제 또는 가상의 라이브 온라인 ASA 디바이스에서 사용할 수 있습니다. 패킷 트레이서는 ASA 모델 디바이스에서 작동하지 않습니다. 패킷 트레이서는 ASA에 저장된 구성을 기반으로 패킷을 평가합니다. CDO의 준비된 변경 사항은 패킷 트레이서에 의해 평가되지 않습니다.
동기화된 ASA에서 패킷 트레이서를 실행하는 것이 모범 사례라고 생각합니다. 디바이스가 동기화되지 않은 경우 패킷 트레이서가 실행되지만 예기치 않은 결과가 발생할 수 있습니다. 예를 들어 CDO의 준비된 구성에서 규칙을 삭제하고 패킷 추적 중에 ASA에서 동일한 규칙이 트리거된 경우 CDO는 해당 규칙과 패킷의 상호 작용 결과를 표시할 수 없습니다.
ASA 패킷 트레이서 관련 문제 해결
패킷 트레이서는 ASA의 라우팅 구성, NAT 규칙 및 보안 정책을 통해 패킷을 보낼 때 각 단계에서 패킷의 상태를 표시합니다. 정책에서 패킷을 허용하면 녹색 확인 표시 가 나타납니다. 패킷이 거부되고 삭제되면 CDO는 빨간색 X 를 표시합니다.
패킷 트레이서는 패킷 추적 결과의 실시간 로그도 표시합니다. 아래 예에서 규칙이 tcp 패킷을 거부한 위치를 확인할 수 있습니다.
ASA 디바이스 보안 정책 문제 해결
Procedure
Step 1 |
Inventory(인벤토리) 페이지에서 ASA를 선택하고 Actions 창에서 Troubleshoot(문제 해결) 를 클릭합니다. |
Step 2 |
창에서 ASA를 통해 가상으로 전송할 인터페이스 및 패킷 유형을 선택합니다. |
Step 3 |
(선택 사항) Layer 2 CMD 헤더(Trustsec)에 보안 그룹 태그 값이 내장된 패킷을 추적하려면 SGT 번호를 확인하고 보안 그룹 태그 번호 0-65535를 입력합니다. |
Step 4 |
소스와 대상을 지정합니다. Cisco Trustsec을 사용하는 경우, IPv4 또는 IPv6 주소, 정규화된 도메인 이름(FQDN) 또는 보안 그룹 이름 또는 태그를 지정할 수 있습니다. 소스 주소의 경우, 또한 형식 Domain\username에 사용자 이름을 지정할 수 있습니다. |
Step 5 |
기타 프로토콜 특성 지정:
|
Step 6 |
Run Packet Tracer(패킷 추적기 실행)를 클릭합니다. |
Step 7 |
액세스 규칙 문제 해결
Procedure
Step 1 |
|
Step 2 |
ASA와 연결된 정책을 선택합니다. |
Step 3 |
네트워크 정책에서 문제를 해결할 규칙을 선택하고 세부 정보 창에서 문제 해결를 클릭합니다. 문제 해결 페이지의 값 패널에서 많은 필드가 선택한 규칙의 속성으로 미리 채워져 있습니다. |
Step 4 |
나머지 필수 필드에 정보를 입력합니다. 모든 필수 필드를 완료하면 Run Packet Tracer(패킷 트레이서 실행)가 활성화됩니다. |
Step 5 |
Run Packet Tracer(패킷 추적기 실행)를 클릭합니다. |
Step 6 |
NAT 규칙 문제 해결
Procedure
Step 1 |
Inventory(재고 목록) 페이지에서 ASA를 선택하고 작업 창에서 View NAT Rules(NAT 규칙 보기) 를 클릭합니다. |
Step 2 |
ASA를 선택하고 Actions 창에서 View NAT Rules(NAT 규칙 보기) 를 클릭합니다. |
Step 3 |
문제를 해결할 NAT 규칙 테이블에서 규칙을 선택하고 세부 정보 창에서 문제 해결 를 클릭합니다. 문제 해결 페이지의 값 패널에서 많은 필드가 선택한 규칙의 속성으로 미리 채워져 있습니다. |
Step 4 |
나머지 필수 필드에 정보를 입력합니다. 모든 필수 필드를 완료하면 Run Packet Tracer(패킷 트레이서 실행)가 활성화됩니다. |
Step 5 |
Run Packet Tracer(패킷 추적기 실행)를 클릭합니다. |
Step 6 |
2회 NAT 규칙 문제 해결
Procedure
Step 1 |
Inventory(재고 목록) 페이지에서 ASA를 선택하고 작업 창에서 View NAT Rules(NAT 규칙 보기) 를 클릭합니다. |
Step 2 |
문제를 해결할 NAT 규칙 테이블에서 규칙을 선택하고 세부 정보 창에서 문제 해결 를 클릭합니다. 양방향 Twice NAT 규칙의 경우 원본 패킷 변환 또는 대상 패킷 변환의 문제 해결을 선택하는 드롭다운이 열립니다. |
Step 3 |
나머지 필수 필드에 정보를 입력합니다. 모든 필수 필드를 완료하면 Run Packet Tracer(패킷 트레이서 실행)가 활성화됩니다. |
Step 4 |
Run Packet Tracer(패킷 추적기 실행)를 클릭합니다. |
패킷 트레이서 결과 분석
패킷이 삭제되었는지 또는 허용되었는지 여부는 패킷 추적 테이블의 행을 확장하고 해당 작업과 관련된 규칙 또는 로깅 정보를 읽어 그 이유를 알 수 있습니다. 아래 예에서 패킷 트레이서는 모든 소스에서 수신되고 모든 대상으로 이동하는 IP 패킷을 거부하는 규칙이 포함된 액세스 목록 정책을 식별했습니다. 원하는 작업이 아닌 경우 View in Network Policies(네트워크 정책에서 보기) 링크를 클릭하고 해당 규칙을 즉시 편집할 수 있습니다. 규칙을 편집한 후에는 구성 변경 사항을 ASA에 배포한 다음 패킷 트레이서를 다시 실행하여 예상한 액세스 결과를 얻습니다.
패킷 트레이서 결과와 함께 CDO는 ASA의 real-time logs(실시간 로그)를 표시합니다.
Cisco ASA Advisory cisco-sa-20180129-asa1
Cisco PSIRT(Product Security Incident Response Team)은 심각한 심각도의 ASA 및 Firepower 보안 취약점을 설명하는 cisco-sa-20180129-asa1 보안권고를 게시했습니다. 영향을 받는 ASA 및 Firepower 하드웨어, 소프트웨어 및 구성에 대한 자세한 설명은 전체 PSIRT 팀 권고를 읽어보십시오.
ASA가 권고의 영향을 받는다고 판단되면, CDO를 사용하여 ASA를 패치 버전으로 업그레이드할 수 있습니다. 다음 프로세스를 사용합니다.
Procedure
Step 1 |
영향을 받는 각 ASA에서 DNS 서버를 구성합니다. |
Step 2 |
필요한 소프트웨어 패치를 결정하려면 권고로 돌아갑니다. |
Step 3 |
CDO를 사용하여 ASA를 ASA 권고에 나열된 편집된 릴리스로 업그레이드하는 방법을 설명하는 항목에 대해서는 단일 ASA에서 ASA 및 ASDM 이미지 업그레이드을 참조하십시오. 업그레이드 사전 요구 사항부터 시작한 다음 개별 ASA 업그레이드, 활성-대기 구성에서 ASA 업그레이드 또는 대량 ASA 업그레이드에 대해 읽어보십시오. 편의를 위해 Cisco가 보고한 보안 권고의 요약은 다음과 같습니다. |
ASA 실행 구성 크기 확인
실행 중인 구성 파일의 크기를 확인하려면 다음 절차를 수행합니다.
Procedure
Step 1 |
다음 방법 중 하나로 ASA의 명령줄 인터페이스에 액세스합니다.
|
Step 2 |
프롬프트에서 |
Step 3 |
소스 파일 이름을 묻는 프롬프트가 표시되면 아무 것도 입력하지 않고 <Enter> 키를 누릅니다. |
Step 4 |
대상 파일 이름을 입력하라는 메시지가 표시되면 출력 파일의 이름을 입력합니다. ASA는 사용자가 지정한 파일의 실행 중인 구성을 복사한 후 권한 있는 EXEC 프롬프트로 돌아갑니다. |
Step 5 |
프롬프트에서 |
Step 6 |
길이 열을 확인합니다. 파일이 4718592바이트를 넘으면 4.5MB보다 큽니다. 다음은 샘플 명령 및 출력 집합입니다.
|
보안 디바이스 커넥터에 영향을 미치는 컨테이너 권한 상승 취약점: cisco-sa-20190215-runc
Cisco PSIRT(제품 보안 사고 대응 팀)는 Docker의 심각도가 높은 취약성에 대해 설명하는 보안 자문 cisco-sa-20190215-runc를 게시했습니다. 취약성에 대한 전체 설명은 전체 PSIRT 팀 자문을 참조하십시오.
이 취약성은 모든 CDO 고객에게 영향을 미칩니다.
-
CDO의 클라우드 배포 SDC(보안 디바이스 커넥터)를 사용하는 고객은 CDO 운영팀에서 교정 단계를 이미 수행했으므로 아무 작업도 수행할 필요가 없습니다.
-
온프레미스에 배포된 SDC를 사용하는 고객은 최신 Docker 버전을 사용하도록 SDC 호스트를 업그레이드해야 합니다. 다음 지침에 따라 이 작업을 수행할 수 있습니다.
CDO-표준 SDC 호스트 업데이트
CDO 이미지를 사용하여 SDC를 구축한 경우 이 지침을 사용합니다.
프로시저
단계 1 |
SSH 또는 하이퍼바이저 콘솔을 사용하여 SDC 호스트에 연결합니다. |
||
단계 2 |
다음 명령을 실행하여 Docker 서비스 버전을 확인합니다.
|
||
단계 3 |
최신 VM(가상 머신) 중 하나를 실행 중인 경우 다음과 같은 출력이 표시됩니다. 여기에서 이전 버전을 볼 수 있습니다. |
||
단계 4 |
다음 명령을 실행하여 Docker를 업데이트하고 서비스를 다시 시작하십시오.
|
||
단계 5 |
docker version 명령을 다시 실행하십시오. 다음 출력이 표시되어야 합니다.
|
||
단계 6 |
마쳤습니다. 이제 패치가 적용된 최신 버전의 Docker로 업그레이드되었습니다. |
사용자 지정 SDC 호스트 업데이트
자체 SDC 호스트를 생성한 경우 Docker 설치 방법에 따라 업데이트 지침을 따라야 합니다. CentOS, yum 및 Docker-ce(커뮤니티 에디션)를 사용한 경우 이전 절차가 작동합니다.
Docker-ee(엔터프라이즈 버전)를 설치했거나 다른 방법을 사용하여 Docker를 설치한 경우 Docker의 고정 버전이 다를 수 있습니다. Docker 페이지를 확인하여 설치할 올바른 버전(Docker 보안 업데이트 및 컨테이너 보안 모범 사례)을 결정할 수 있습니다.
버그 추적
Cisco는 이 취약성을 계속 평가하고 있으며 추가 정보가 제공되는 대로 권고를 업데이트할 것입니다. 권고가 최종으로 표시되면 관련 Cisco 버그에서 자세한 내용을 참조할 수 있습니다.
대규모 ASA 실행 구성 파일
CDO에서 행동
ASA가 온보딩에 실패하거나, CDO가 ASA의 실행 중인 구성 파일에 정의된 모든 구성을 표시하지 않거나, CDO가 변경 로그에 쓰지 못하는 등의 동작을 볼 수 있습니다.
가능한 원인
ASA의 실행 중인 구성 파일이 CDO에 대해 "너무 클" 수 있습니다.
ASA를 CDO에 온보딩하면 CDO는 ASA에서 실행 중인 구성 파일의 복사본을 데이터베이스에 저장합니다. 일반적으로 실행 중인 구성 파일이 너무 크거나(4.5MB 이상), 너무 많은 행(약 22,000행)을 포함하거나, 단일 액세스 그룹에 대한 액세스 목록 항목이 너무 많은 경우, CDO는 해당 디바이스를 예측 가능하게 관리할 수 없습니다.
실행 중인 구성 파일의 크기를 확인하려면 ASA 실행 중인 구성 크기 확인을 참조하십시오.
해결방법
보안 정책을 방해하지 않고 구성 파일의 크기를 안전하게 줄이는 데 도움이 필요하면 Cisco 어카운트 팀에 문의하십시오.