이 문서에서는 Secure Firewall Threat Defense 및 ASA(Adaptive Security Appliance)에 대한 컨트롤 플레인 액세스 규칙을 구성하는 프로세스에 대해 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
일반적으로 트래픽은 방화벽을 통과하며 데이터 인터페이스 간에 라우팅됩니다. 경우에 따라 보안 방화벽을 '향하는' 트래픽을 거부하는 것이 좋습니다. Cisco 보안 방화벽은 제어 평면 ACL(Access Control List)을 사용하여 'to-the-box' 트래픽을 제한할 수 있습니다. 제어 평면 ACL이 보안 방화벽에 대한 VPN(Site-to-Site 또는 Remote Access VPN) 터널을 설정할 수 있는 피어를 제어하는 데 유용할 수 있는 경우의 예입니다.
일반적으로 트래픽은 한 인터페이스(인바운드)에서 다른 인터페이스(아웃바운드)로 방화벽을 통과하며, 이를 through-the-box 트래픽이라고 하며 ACP(Access Control Policies) 및 프리필터 규칙 모두에 의해 관리됩니다.
이미지 1. Through-the-box 트래픽 예
트래픽이 FTD 인터페이스(Site-to-Site 또는 Remote Access VPN)로 직접 전달되는 경우가 있습니다. 이를 to-the-box 트래픽이라고 하며 해당 특정 인터페이스의 컨트롤 플레인에 의해 관리됩니다.
이미지 2. To-the-box 트래픽 예다음 예에서는 특정 국가의 IP 주소 집합이 FTD RAVPN에 로그인을 시도하여 VPN을 통해 네트워크에 강제로 로그인하려고 합니다. 이러한 VPN 무작위 대입 공격으로부터 FTD를 보호하는 최상의 옵션은 외부 FTD 인터페이스에 대한 이러한 연결을 차단하도록 컨트롤 플레인 ACL을 구성하는 것입니다.
이는 외부 FTD 인터페이스에 대한 수신 VPN 무작위 대입 공격을 차단하기 위해 제어 평면 ACL을 구성하기 위해 FMC에서 준수해야 하는 절차입니다.
1단계. HTTPS를 통해 FMC GUI(Graphic User Interface)를 열고 다음 크리덴셜을 사용하여 로그인합니다.
이미지 3. FMC 로그인 페이지
2단계. 확장 ACL을 생성해야 합니다. 이를 위해 Objects(개체) > Object Management(개체 관리)로 이동합니다.
이미지 4. 객체 관리
2.1단계. 왼쪽 패널에서 Access List(액세스 목록) > Extended(확장)로 이동하여 확장 ACL을 생성합니다.
이미지 5. 확장 ACL 메뉴
2.2단계. Add Extended Access List(확장 액세스 목록 추가)를 선택합니다.
이미지 6. 확장 ACL 추가
2.3단계. 확장 ACL의 이름을 입력한 다음 Add(추가) 버튼을 클릭하여 ACE(액세스 제어 항목)를 생성합니다.
이미지 7. 확장 ACL 항목
2.4단계. ACE 작업을 Block(차단)으로 변경하고, FTD에 거부해야 하는 트래픽과 일치하도록 소스 네트워크를 추가하고, 목적지 네트워크를 Any(임의)로 유지한 후 Add(추가) 버튼을 클릭하여 ACE 항목을 완료합니다.
이 예에서 구성된 ACE 항목은 192.168.1.0/24 서브넷에서 오는 VPN 무차별 대입 공격을 차단합니다.
이미지 8. 거부된 네트워크
2.5단계. ACE 항목을 더 추가해야 하는 경우 Add(추가) 버튼을 다시 클릭하고 2.4단계를 반복합니다. 그런 다음 Save(저장) 버튼을 클릭하여 ACL 컨피그레이션을 완료합니다.
이미지 9. 완료된 확장 ACL 항목
3단계. 그런 다음 제어 평면 ACL을 외부 FTD 인터페이스에 적용하도록 Flex-Config 객체를 구성해야 합니다. 왼쪽 패널로 이동하여 FlexConfig > FlexConfig Object 옵션을 선택합니다.
이미지 10. FlexConfig 개체 메뉴
3.1단계. Add FlexConfig Object(FlexConfig 개체 추가)를 클릭합니다.
이미지 11. Flexconfig 개체 추가
3.2단계. FlexConfig 개체의 이름을 추가하고 ACL 정책 개체를 삽입합니다. Insert(삽입) > Insert Policy Object(정책 개체 삽입) > Extended ACL Object(확장 ACL 개체)를 선택합니다.
이미지 12. FlexConfig 개체 변수
3.3단계. ACL 객체 변수의 이름을 추가하고 2.3단계에서 생성된 확장 ACL을 선택한 후, Save(저장) 버튼을 클릭합니다.
이미지 13. FlexConfig 개체 변수 ACL 할당
3.4단계. 외부 인터페이스에 대한 인바운드로 컨트롤 플레인 ACL을 구성합니다.
명령줄 구문:
access-group "variable name starting with $ symbol" in interface "interface-name" control-plane
이는 다음 명령 예제로 변환되며, 2.3단계 VAR-ACL-UNWANTED-COUNTRY에서 생성된 ACL 변수를 사용합니다.
access-group $VAR-ACL-UNWANTED-COUNTRY in interface outside control-plane
FlexConfig 개체 창을 구성하는 방법은 다음과 같습니다. 그런 다음 Save(저장) 버튼을 선택하여 FlexConfig 개체를 완료합니다.
이미지 14. Flexconfig 개체 완료 명령줄
4단계. FTD에 FlexConfig 개체 컨피그레이션을 적용해야 합니다. Devices(디바이스) > FlexConfig(FlexConfig)로 이동합니다.
이미지 15. FlexConfig Policy 메뉴
4.1단계. New Policy(새 정책)를 클릭합니다. FTD에 대해 생성된 FlexConfig가 없으면 기존 FlexConfig 정책을 수정합니다.
이미지 16. FlexConfig 정책 생성
4.2단계. 새 FlexConfig 정책의 이름을 추가하고 생성된 컨트롤 플레인 ACL을 적용할 FTD를 선택합니다.
이미지 17. FlexConfig 정책 디바이스 할당
4.3단계. 왼쪽 패널에서 3.2단계에서 생성한 FlexConfig 객체를 검색한 다음 창 가운데에 있는 오른쪽 화살표를 클릭하여 FlexConfig 정책에 추가합니다. 그런 다음 Save(저장) 버튼을 클릭합니다.
이미지 18. FlexConfig 정책 개체 할당
5단계. Deploy(구축) > Advanced Deploy(고급 구축)로 이동하여 FTD에 컨피그레이션 변경 사항을 구축합니다.
이미지 19. FTD 고급 구축
5.1단계. FlexConfig 정책을 적용할 FTD를 선택합니다. 모든 것이 올바르면 Deploy(구축)를 클릭합니다.
이미지 20. FTD 구축 검증
5.2단계. 다음으로, Deployment Confirmation(구축 확인) 창이 표시되고, 구축을 추적하기 위한 코멘트를 추가하고, Deploy(구축)로 진행합니다.
이미지 21. FTD 구축 설명
5.3단계. FlexConfig 변경 내용을 배포할 때 경고 메시지가 표시될 수 있습니다. 정책 컨피그레이션이 정확하다고 완전히 확신하는 경우에만 Deploy(구축)를 클릭합니다.
이미지 22. FTD 배포 Flexconfig 경고
5.4단계. FTD에 대한 정책 구축이 성공적인지 확인합니다.
이미지 23. FTD 구축 성공
6단계. FTD에 대해 새 컨트롤 플레인 ACL을 생성하거나 현재 사용 중인 기존 컨트롤 플레인 ACL을 편집한 경우 컨피그레이션 변경 사항을 강조 표시하는 것이 중요합니다. 이는 FTD에 이미 설정된 연결에는 적용되지 않습니다. FTD에 대한 활성 연결 시도를 수동으로 지우고, FTD의 CLI에 연결하고, 활성 연결을 지워야 합니다.
특정 호스트 IP 주소에 대한 활성 연결을 지우려면
> clear conn address 192.168.1.10 all
전체 서브넷 네트워크에 대한 활성 연결을 지우려면
> clear conn address 192.168.1.0 netmask 255.255.255.0 all
IP 주소 범위에 대한 활성 연결을 지우려면
> clear conn address 192.168.1.1-192.168.1.10 all
이는 외부 FTD 인터페이스에 대한 수신 VPN 무작위 대입 공격을 차단하기 위해 제어 평면 ACL을 구성하기 위해 FDM과 함께 따라야 하는 절차입니다.
1단계. HTTPS를 통해 FDM GUI를 열고 접속 정보로 로그인합니다.
이미지 24. FDM 로그인 페이지
2단계. 객체 네트워크를 생성해야 합니다. Objects(개체)로 이동합니다.
이미지 25. FDM 기본 대시보드
2.1단계. 왼쪽 패널에서 Networks를 선택한 다음 '+' 버튼을 클릭하여 새 네트워크 객체를 만듭니다.
이미지 26. 객체 생성
2.2단계. 네트워크 객체의 이름을 추가하고, 객체의 네트워크 유형을 선택하고, FTD에 거부해야 하는 트래픽과 일치하도록 IP 주소, 네트워크 주소 또는 IP 범위를 추가합니다. 그런 다음 확인 버튼을 클릭하여 개체 네트워크를 완료합니다.
이 예에서 구성된 개체 네트워크는 192.168.1.0/24 서브넷에서 오는 VPN 무차별 대입 공격을 차단하기 위한 것입니다.
이미지 27. 네트워크 개체 추가
3단계. 그런 다음 확장 ACL을 생성한 다음 상단 메뉴의 Device 탭으로 이동해야 합니다.
이미지 28. 장치 설정 페이지
3.1단계. 아래로 스크롤하여 Advanced Configuration(고급 컨피그레이션) 사각형에서 View Configuration(컨피그레이션 보기)을 선택합니다.
이미지 29. FDM 고급 구성
3.2단계. 그런 다음 왼쪽 패널에서 Smart CLI > Objects로 이동하고 CREATE SMART CLI OBJECT(SMART CLI 개체 만들기)를 클릭합니다.
이미지 30. Smart CLI 객체
3.3단계. 확장 ACL의 이름을 추가합니다. 생성하려면 CLI 템플릿 드롭다운 메뉴에서 확장 액세스 목록을 선택하고 2.2단계에서 생성한 네트워크 객체를 사용하여 필요한 ACE를 구성합니다. 그런 다음 확인 버튼을 눌러 ACL을 완료합니다.
이미지 31. 확장 ACL 생성
4단계. 다음으로, FlexConfig 객체를 생성한 다음 왼쪽 패널로 이동하여 FlexConfig > FlexConfig Objects를 선택한 다음 CREATE FLEXCONFIG OBJECT(FLEXCONFIG OBJECT 생성)를 클릭합니다.
,
이미지 32. FlexConfig 개체
4.1단계. FlexConfig 객체의 이름을 추가하여 컨트롤 플레인 ACL을 생성하고 외부 인터페이스에 대한 인바운드로 구성합니다.
명령줄 구문:
access-group "ACL-name" in interface "interface-name" control-plane
이는 3.3단계 ACL-UNWANTED-COUNTRY에서 생성된 확장 ACL을 사용하는 다음 명령 예로 변환됩니다.
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
이것이 FlexConfig 개체 창으로 구성할 수 있는 방법입니다. OK(확인) 버튼을 선택하여 FlexConfig 객체를 완료합니다.
이미지 33. FlexConfig 개체 만들기
5단계. FlexConfig 정책을 생성합니다. Flexconfig > FlexConfig Policy(FlexConfig 정책)로 이동하여 "+" 버튼을 클릭하고 4.1단계에서 생성한 FlexConfig 객체를 선택합니다.
이미지 34. FlexConfig 정책
5.1단계. FlexConfig 미리 보기에 생성된 컨트롤 플레인 ACL에 대한 올바른 컨피그레이션이 표시되는지 확인하고 Save(저장) 버튼을 클릭합니다.
이미지 35. FlexConfig 정책 미리 보기
6단계. VPN 무차별 대입 공격으로부터 보호할 FTD에 컨피그레이션 변경 사항을 구축합니다. 그런 다음 상단 메뉴에서 Deployment(구축) 버튼을 클릭하고 구축할 컨피그레이션 변경 사항이 올바른지 확인한 다음 DEPLOY NOW(지금 구축)를 클릭합니다.
이미지 36. 배포 보류 중
6.1단계. 정책 배포에 성공했는지 확인합니다.
이미지 37. 구축 성공
7단계. FTD에 대해 새 컨트롤 플레인 ACL을 생성하거나 현재 사용 중인 기존 컨트롤 플레인 ACL을 편집한 경우 컨피그레이션 변경 사항을 강조 표시하는 것이 중요합니다. 이는 FTD에 이미 설정된 연결에는 적용되지 않습니다. FTD에 대한 활성 연결 시도를 수동으로 지우고, FTD의 CLI에 연결하고, 활성 연결을 지워야 합니다.
특정 호스트 IP 주소에 대한 활성 연결을 지우려면
> clear conn address 192.168.1.10 all
전체 서브넷 네트워크에 대한 활성 연결을 지우려면
> clear conn address 192.168.1.0 netmask 255.255.255.0 all
IP 주소 범위에 대한 활성 연결을 지우려면
> clear conn address 192.168.1.1-192.168.1.10 all
이는 ASA CLI에서 준수해야 하는 절차이며, 외부 인터페이스에 대한 수신 VPN 무차별 대입 공격을 차단하도록 컨트롤 플레인 ACL을 구성하기 위한 것입니다.
1단계. CLI를 통해 보안 방화벽 ASA에 로그인하고 configure terminal 명령에 대한 액세스 권한을 확보합니다.
asa# configure terminal
2단계. 확장 ACL을 구성하려면 다음 명령을 실행합니다. 그러면 ASA에 대해 차단해야 하는 트래픽에 대한 호스트 IP 또는 네트워크 주소가 차단됩니다.
이 예에서는 ACL-UNWANTED-COUNTRY라는 새 ACL을 만들고 구성된 ACE 항목이 192.168.1.0/24 서브넷에서 오는 VPN 무차별 대입 공격을 차단합니다.
asa(config)# access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any
3단계. 다음 access-group 명령을 실행하여 ACL-UNWANTED-COUNTRY ACL을 외부 ASA 인터페이스의 컨트롤 플레인 ACL로 구성합니다.
asa(config)# access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
4단계. 새 제어 평면 ACL을 생성하거나 현재 사용 중인 기존 제어 평면 ACL을 편집한 경우 컨피그레이션 변경 사항을 강조 표시하는 것이 중요합니다. 이는 이미 설정된 ASA 연결에는 적용되지 않습니다. ASA에 대한 활성 연결 시도를 수동으로 지우고 활성 연결을 지워야 합니다.
특정 호스트 IP 주소에 대한 활성 연결을 지우려면
asa# clear conn address 192.168.1.10 all
전체 서브넷 네트워크에 대한 활성 연결을 지우려면
asa# clear conn address 192.168.1.0 netmask 255.255.255.0 all
IP 주소 범위에 대한 활성 연결을 지우려면
asa# clear conn address 192.168.1.1-192.168.1.10 all
보안 방화벽에 대한 즉각적인 차단 공격의 경우 shun 명령을 실행할 수 있습니다. Shun 명령을 사용하면 공격 호스트로부터의 연결을 차단하고 shun 명령에 대한 자세한 내용을 검토할 수 있습니다.
Shun 명령 구문:
shun source_ip [ dest_ip source_port dest_port [ protocol]] [ vlan vlan_id]
shun을 비활성화하려면 이 명령의 no 형식을 실행합니다.
no shun source_ip [ vlan vlan_id]
호스트 IP 주소를 차단하려면 보안 방화벽에 대해 이 예제로 진행합니다. 이 예에서는 shun 명령을 사용하여 소스 IP 주소 192.168.1.10에서 오는 VPN 무차별 대입 공격을 차단합니다.
1단계. CLI를 통해 FTD에 로그인하고 shun 명령을 실행합니다.
> shun 192.168.1.10
Shun 192.168.1.10 added in context: single_vf
Shun 192.168.1.10 successful
2단계. show 명령을 실행하여 FTD에서 차단 IP 주소를 확인하고 IP 주소당 차단 히트 수를 모니터링할 수 있습니다.
> show shun shun (outside) 192.168.1.10 0.0.0.0 0 0 0
> show shun statistics diagnostic=OFF, cnt=0 outside=ON, cnt=0 Shun 192.168.1.10 cnt=0, time=(0:00:28)
1단계. CLI를 통해 ASA에 로그인하고 shun 명령을 적용합니다.
asa# shun 192.168.1.10
Shun 192.168.1.10 added in context: single_vf
Shun 192.168.1.10 successful
2단계. show 명령을 실행하여 ASA에서 shun IP 주소를 확인하고 IP 주소당 shun 히트 수를 모니터링할 수 있습니다.
asa# show shun shun (outside) 192.168.1.10 0.0.0.0 0 0 0
asa# show shun statistics outside=ON, cnt=0 inside=OFF, cnt=0 dmz=OFF, cnt=0 outside1=OFF, cnt=0 mgmt=OFF, cnt=0 Shun 192.168.1.10 cnt=0, time=(0:01:39)
보안 방화벽에 대한 제어 평면 ACL 컨피그레이션이 제대로 되어 있는지 확인하려면 다음 단계를 진행합니다.
1단계. CLI를 통해 보안 방화벽에 로그인하고 다음 명령을 실행하여 컨트롤 플레인 ACL 컨피그레이션이 적용되었는지 확인합니다.
FMC 관리 FTD의 출력 예:
> show running-config access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any
> show running-config access-group
***OUTPUT OMITTED FOR BREVITY***
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
FDM 관리 FTD의 출력 예:
> show running-config object id OBJ-NET-UNWANTED-COUNTRY
object network OBJ-NET-UNWANTED-COUNTRY
subnet 192.168.1.0 255.255.255.0
> show running-config access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any4 log default
> show running-config access-group
***OUTPUT OMITTED FOR BREVITY***
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
ASA의 출력 예:
asa# show running-config access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY extended deny ip 192.168.1.0 255.255.255.0 any
asa# show running-config access-group
***OUTPUT OMITTED FOR BREVITY***
access-group ACL-UNWANTED-COUNTRY in interface outside control-plane
2단계. 컨트롤 플레인 ACL이 필요한 트래픽을 차단하고 있는지 확인하려면 packet-tracer 명령을 실행하여 보안 방화벽의 외부 인터페이스에 대한 수신 TCP 443 연결을 시뮬레이션합니다. 그런 다음 show access-list <acl-name> 명령을 실행하면 보안 방화벽에 대한 VPN 무차별 강제 연결이 제어 평면 ACL에 의해 차단될 때마다 ACL 히트 수가 증가할 수 있습니다.
이 예에서 packet-tracer 명령은 호스트 192.168.1.10에서 소싱되고 보안 방화벽의 외부 IP 주소로 전달되는 수신 TCP 443 연결을 시뮬레이션합니다. packet-tracer 출력은 트래픽이 삭제되고 있음을 확인하고 show access-list 출력은 적소에 있는 컨트롤 플레인 ACL에 대한 적중 횟수 증가를 표시합니다.
FTD의 출력 예
> packet-tracer input outside tcp 192.168.1.10 1234 10.3.3.251 443 Phase: 1 Type: ACCESS-LIST Subtype: log Result: DROP Elapsed time: 21700 ns Config: Additional Information: Result: input-interface: outside(vrfid:0) input-status: up input-line-status: up Action: drop Time Taken: 21700 ns Drop-reason: (acl-drop) Flow is denied by configured rule, Drop-location: frame 0x00005623c7f324e7 flow (NA)/NA
> show access-list ACL-UNWANTED-COUNTRY
access-list ACL-UNWANTED-COUNTRY; 1 elements; name hash: 0x42732b1f
access-list ACL-UNWANTED-COUNTRY line 1 extended deny ip 192.168.1.0 255.255.255.0 any (hitcnt=1) 0x142f69bf
asa# packet-tracer input outside tcp 192.168.1.10 1234 10.3.3.5 443 Phase: 1 Type: ACCESS-LIST Subtype: Result: ALLOW Elapsed time: 19688 ns Config: Implicit Rule Additional Information: MAC Access list Phase: 2 Type: ACCESS-LIST Subtype: log Result: DROP Elapsed time: 17833 ns Config: Additional Information: Result: input-interface: outside input-status: up input-line-status: up Action: drop Time Taken: 37521 ns Drop-reason: (acl-drop) Flow is denied by configured rule, Drop-location: frame 0x0000556e6808cac8 flow (NA)/NA asa# show access-list ACL-UNWANTED-COUNTRY access-list ACL-UNWANTED-COUNTRY; 1 elements; name hash: 0x42732b1f access-list ACL-UNWANTED-COUNTRY line 1 extended deny ip 192.168.1.0 255.255.255.0 any (hitcnt=1) 0x9b4d26ac
| 개정 | 게시 날짜 | 의견 |
|---|---|---|
3.0 |
01-Jul-2026
|
대체 텍스트, 맞춤법, 문법, 문장 구조, 간격 및 CCW 알림 업데이트 |
2.0 |
10-Apr-2025
|
서식, 대체 텍스트, 고정 머리글, DEI 언어 |
1.0 |
21-Dec-2023
|
최초 릴리스 |