네트워크 구성
- ASA는 기본적으로 L3방화벽 즉 Router 모드로 동작한다.
- L3 방화벽 모드는 라우터와 동일하게 인터페이스마다 서로 다른 네트워크 대역의 IP 주소가 할당되어야 하고, 라우팅 구성이 필요하다.
- L2 방화벽인 Transparent 모드를 사용하게 되면 IP 정책과 Routing 구성을 변경하지 않고 기존 Topology에 방화벽을 추가하는 것이 가능하다.
- L2 방화벽 모드에서 L3 방화벽과 동일한 기능을 수행할 수 있다. (ACL / MPF / NAT / Routung 등)
- 추가적으로 L2 필터링 정책인 EtherType ACL로도 사용이 가능하다.
* Router(L3) 모드와 Transparent(L2) 모드는 Cisco에서 사용되는 용어이다.
L2 방화벽 장점
- 외부에서 방화벽의 존재를 파악하기가 어렵다.
- L3 방화벽의 경우 tracert 등의 명령어를 사용하여 외부에서 방화벽의 존재 유무를 파악하는 것이 가능하다.
ASA 방화벽 Transparent 모드로 변경
<ASA> en conf t firewall transparent |
- Router 모드로 다시 이동하기 위해서는 no firewall transparent 명령어를 입력하면 된다.
ASA L2 방화벽 기본 설정
bridge-group 1
연결할 BVI 번호를 1번으로 설정한다.
inspect icmp
Ping Test를 하기 위해서 ICMP 패킷 허용
<ASA> conf t firewall transparent hostname ASA enable password cisco123 int BVI 1 ip add 10.10.100.3 255.255.255.248 ! int g 0/0 desc ##HQ_INSIDE_NETWORK## nameif Inside security-level 100 bridge-group 1 no sh ! int g 0/1 desc ##HQ_OUTSIDE_NETWORK## nameif Outside security-level 0 bridge-group 1 no sh ! policy-map global_policy inspect icmp exit |
show birdge-group
show interface ip brief
- 관리 목적의 BVI IP가 인터페이스마다 설정되었다.
- ICMP에 대한 Inspect 구성후 Window_A에서 Outside 구간으로 Ping 테스트를 수행하면 외부와 통신이 실패한 것을 확인할 수 있다.
- DSW에 Default-Route경로가 없기 때문에 Window_A에서 외부로 통신이 되지 않는다.
- L2 방화벽을 설치한 뒤에 DSW와 CE 간의 OSPF Neighbor가 끊어진 것을 확인할 수 있다.
ASA 방화벽 로그 확인
<ASA> logging console 4 logging enable |
- OSPF Hello Packet이 차단되고 있다.
- 멀티캐스트는 기본적으로 차단되어있기 때문에 Inside → Outside로 가는 패킷도 차단되고 있다.
ASA ACL 설정
- ASA의 경우 Security-leve이 높은 쪽에서 낮은 방향으로 전송되는 유니캐스트 트래픽의 경우 기본적으로 허용된다.
- Multicast 트래픽의 경우 차단되기 때문에 위와 같이 관리자가 Access-list로 허용해야 한다.
- permit ospf host 10.10.100.1 any라고 입력할 경우 OSPF만 허용되고 나머지 트래픽들은 차단되기 때문에 모든 IP 패킷을 허용한다.
access-list Inside_IN permit ip any any
모든 ip 패킷을 허용하면 multicast 패킷도 허용한다.
<ASA> access-list Outside_IN permit ospf host 10.10.100.2 any access-list Outside_IN deny ip any any log 4 interval 120 access-group Outside_IN in interface Outside access-list Inside_IN permit ip any any access-group Inside_IN in interface Inside |
show ip ospf neighbor
- 정상적으로 CE 라우터와 ospf를 맺는다.
- Window_A에서 외부망으로 정상적으로 ICMP패킷이 이동한다.
- ASA의 Transparent(L2) 모드에서 NAT와 Static Route 설정이 가능하다.
- ASA에서 내부 IP 대역인 10.10.1.0/24 트래픽의 출발지 IP 주소를 공인 IP주소 211.100.10.1로 PAT 되도록 설정하려고 한다.
ip route 211.100.10.1 255.255.255.255 fa 0/0 10.10.100.3
ASA에게 응답을 전송해야 다시 원래 IP 주소로 변경하여 내부 출발지 장비에게 중계 처리가 가능하다.
<ASA> object network INSIDE_NET subnet 10.10.1.0 255.255.255.0 nat (Inside,Outside) dynamic 211.100.10.1 !
<CE> conf t int fa 0/0 no ip nat inside ! int fa 0/1 no ip nat outside ! no ip nat inside source list 1 int fa 0/1 overload no access-list 1 ip route 211.100.10.1 255.255.255.255 fa 0/0 10.10.100.3
<ISP> conf t ip route 211.100.10.1 255.255.255.255 fa 0/0 1.1.100.1 access-list 1 permit 211.100.10.1 실제 환경에서는 ISP구간은 우리가 설정할 수 있는 부분이 아니다. (실습환경이기 때문에 구성) |
CE 라우터 확인
- nat 경로가 삭제되고 Static Routing 경로가 하나 추가되었다.
ASA 방화벽 확인
- ASA에서 PAT 설정 후 Window_A에서 ping을 보내면 정상적으로 PAT 처리가 되고 응답 트래픽인 ASA까지 돌아오는 것을 확인할 수 있다.
- 응답 트래픽이 Inside 인터페이스로 최종적으로 Ping 테스트는 실패한다.
- ASA는 현재 L2 모드이고 10.10.1.0/24 대역에 대한 도달성이 없기 때문이다.
- 이를 해결하기 위해서 L2 모드로 동작중인 ASA에서 Static Routing을 구성해야 한다. (Dynamic Routing Protocol은 지원되지 않는다.)
Outside Interface
Inside Interface
ASA Static Routing 설정
<ASA> conf t |
Inside Interface
- 내부 ip로 변환되어 정상적으로 ICMP 패킷을 받아온다.
EtherType ACL 설정
라우터, 방화벽 장비에 IPv6 설정
access-list Outside_IN line 2 permit ip any6 any6
IPv6 패킷 허용
<DSW> <CE> access-list Outside_IN line 2 permit ip any6 any6 |
DSW IPv6 Ping 테스트
- 설정 후 DUAL Stack에 의해서 <DSW>와 <CE> 사이에서 IPv4 / IPv6 트래픽들이 정상적으로 전송되는 것을 확인할 수 있다.
- ASA에서 Ethertype ACL을 사용하여 Inside에서 Outside로 전송되는 IPv6 트래픽을 차단하려고 한다.
<ASA> access-list L2_Filter ethertype deny 0x86dd access-list L2_Filter ethertype permit any access-group L2_Filter in interface Inside ! |
DSW Ping 테스트
- ehtertype ACL을 적용하여 Ping이 전송되지 않는다.
ASA 방화벽 확인
- IPv6가 차단된 것을 로그로 확인할 수 있다.
방화벽 존재 여부 확인
- 공격자가 Target 장치까지 패킷이 전송되는 경로 중간에 방화벽이 존재하는지 파악하기 위해 tracert 등의 명령어를 사용할 수 있다.
- 이 경우 방화벽이 L3 Mode인 경우 공격자는 방화벽의 존재 여부를 파악하는 것이 가능하지만 방화벽이 L2모드인 경우 외부에서 방화벽의 존재를 파악하는 것은 쉽지 않다.
- Kali Linux 대신에 Window 구성후 tracert 10.10.1.1 명령어로 확인
<ASA> access-list Outside_IN line 3 permit ip host 2.2.2.1 any
<ISP> conf t ip route 10.10.1.0 255.255.255.0 fa 0/0 1.1.100.1 |
'Network > Cisco ASA' 카테고리의 다른 글
[Firewall] ASA Security-Context (0) | 2019.12.03 |
---|---|
[Firewall] ASA Failover (Active / Standby) (0) | 2019.12.02 |
[Firewall] ASA Twice NAT(Manual NAT) (0) | 2019.11.29 |
[Firewall] ASA Packet-tracer Test (0) | 2019.11.27 |
[Firewall] ASA Object / Object Group 설정 (0) | 2019.11.26 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊