ASA 방화벽
방화벽 개요
Cisco의 전용 방화벽에는 ASA와 PIX 장비가 있으며, 두 장비는 모두 동일한 명령어 체계를 사용한다.
새로운 장비만 ASA가 PIX에 비해 성능과 기능이 우수하다.
ASA 방화벽 레벨 (Level)
- 보안 레벨이
높은 곳에서 낮은 곳
으로의 트래픽 흐름은 기본적으로모두 허용
됨. - ASA는 인터페이스에 이름을 부여해 정책 적용 시 그 이름을 사용함.
- 인터페이스 이름이 Inside이면 기본적이로 보안 레빌이 가장 높은 100을 적용함.
- 나머지 인터페이스 이름들은(Outside, DMZ) 보안 레벨이 가장 낮은 0을 적용함.
- 보안 레벨이 지정되지 않으면 인터페이스 자체가 비활성화.
Ex. ASA Firewall Security-Level
사진첨부
명령어
ASA)
interface e0
nameif inside
security-level 100 ← 기본이 100이라 안 줘도 상관 없음.
ip address 192.168.10.2 255.255.255.0
no shutdown
interface e1
nameif dmz1
security-level 50
ip address 192.168.20.2 255.255.255.0
no shutdown
interface e2
nameif outside
security-level 0
ip address 192.168.30.2 255.255.255.0
no shutdown
interface e3
nameif dmz2
security-level 50
ip address 192.168.40.2 255.255.255.0
no shutdown
결과 01
붙어있는 것끼리는 ping이 가야 한다.
사진첨부
사진첨부
사진첨부
사진첨부
모든 라우터간 Ping X
사진첨부
Step 01.
- 원래는 모든 라우터 간 ping X
Step 02.
- 모든 라우터에
Telnet 서버
구성
line vty 0 4
password it
login
transport input telnet
enable password cisco
enable secret cisco2
Step 03.
- Telnet 접속 후 ASA 방화벽에서 확인. 높은 쪽에서 낮은 방향으로 트래픽을 전송하는 경우 해당 내용을 Connection table에 등록한다.
#show conn
- TCP dmz1 192.168.20.1 inside 192.168.10.1
모든 라우터에 Telnet을 구성
vIOS2)
#telnet 192.168.10.1 - X
#telnet 192.168.30.1 - O
#telnet 192.168.40.1 - X
vIOS3)
#telnet 192.168.20.1 - O
#telnet 192.168.30.1 - O
#telnet 192.168.40.1 - O
vIOS4)
#telnet 192.168.10.1 - X
#telnet 192.168.20.1 - X
#telnet 192.168.40.1 - X
vIOS5)
#telnet 192.168.10.1 - X
#telnet 192.168.20.1 - X
#telnet 192.168.30.1 - O
# show conn
사진첨부
vIOS3 에서 telnet으로 아무대나 접속하고 ASA에서 #show conn
을 쳐 보면 접속했다는 것을 확인할 수 있다.
같은 레벨 간 허용
ASA)
(config)#same-security-traffic permit inter-interface
결과
사진첨부
들어가지는 것을 확인할 수 있다.
사진첨부
역시 들어가진다.
참고
- show ip int brief -> 방화벽 : show int ip brief
- show ip route -> 방화벽 : show route
- show run -> 방화벽 : show run
ASA 방화벽 레벨 (Level)
- 액세스 리스트에 예외(규칙) 적용 : 낮은 보안 레벨에서 높은 보안 레벨로 트래픽 전달 가능
- 보안 레벨이 같은 곳에서 서로의 트래픽 흐름은 기본적으로 모두 거부된다.
- 정적 포트와 같은 stateful한 트래픽은 보안 레벨이 높은 곳에서 낮은 곳으로 갔다가 돌아오는 패킷을 허용한다. ex. Telnet 서버, HTTP서버 등
- 동적 포트 트래픽은 상태관리를 하지 않아서 레벨이 높은 곳에서 낮은 곳으로 갔다가 돌아올 때 전부 차단된다. 이때는 MPF의 inspec 명령을 사용하면 동적 트래픽에도 Stateful 기능을 이용해 응답 트래픽이 허용된다. ex. FTP 서버, ICMP 등
ASA Firewall - ACL & MPF 구성
- ASA 방화벽에 ICMP 열기
유형 01. ACL 이용
사진첨부
10.1 -> 20.1로 ping을 하고 싶은 것임.
- 명령어
(config)#access-list dmz1_inside extended permit icmp 192.168.20.0 255.255.255.0 192.168.10.0 255.255.255.0
(config)#access-group dmz1_inside in interface dmz1
- 결과
사진첨부
사진첨부
서로 ping이 가능하다.
유형 02. MPF 이용
- Moduler Policy Framework = 모듈화된 정책 설정
- 3세대 방화벽 기술인 SPI(Stateful Packet Inspection)와 Application 계층 제어 기능인 DPI(Deep packet Inspection)등의 고급 보안 정책을 구성할 수 있다.
- ex. 네트워크 계층, 응용 계층, QoS:폴리싱/세이핑/큐잉 TCP 정규화, TCP/UDP 접속 수 제한 등
-class-map TEST
match ? //default-inspection-traffic 확인
-default-inspection-traffic 사용시 하나의 클래스에서 다수개의 검사 가능
class-map C1
match default-inspection-traffic
- 명령어
ASA)
class-map C1 ← 트래픽 분류, 하나의 클래스는 하나의 트래픽만 검사 가능
match any
policy-map P1 ← 하나의 폴리시 맵에서 여러 클래스 할당 가능
class C1
inspect icmp ← 내부에서 출발한 ICMP는 돌아올 때 허용(Statefull)
service-policy P1 interface outside ← 인터페이스에 적용
결과
- vIOS 3에서
#ping 192.168.30.1
해 보고, - vIOS 4에서
#ping 192.168.10.1
해 보기
사진첨부
30.1 로는 ping이 가지만
사진첨부
10.1로는 ping이 가지 않는다.
낮->높 레벨로 가는 것이기 때문
참고 - ACL, MPF 초기화
1) MPF 초기화
- no service-policy P1 interface outside
2) ACL 초기화
- clear configure access-list dmz1_inside
유형 03. global_policy
방화벽의 기본 policy-map 구성 확인
명령어
policy-map global_policy
class inspection_default
inspect icmp
- 결과
사진첨부
vIOS3에서 전부 다 ping이 간다.
global은 전체에 적용
된다.
유형 04. 같은 레벨 간에 통신
- same-security-traffic permit inter-interface
유형 05 - 1.global_policy 명령어와 acl 명령어를 같이 적용한 경우
ASA)
policy-map global-policy
class inspection_default
inspect icmp
service-policy global_policy global
access-list dmz1_inside extended permit icmp host 192.168.20.1 host 192.168.10.1
[access-list dmz1_inside extended deny ip any any 명령어가 묵시적 생략되어 있음]
access-group dmz1_inside in interface dmz1
결과
낮 -> 높 : 무조건 ACL이 필요함
vIOS3)
ping 192.168.20.1 - O
ping 192.168.30.1 - O
ping 192.168.40.1 - O
사진첨부
vIOS2)
ping 192.168.10.1 - O
ping 192.168.30.1 - X
ping 192.168.40.1 - X
사진첨부
vIOS4)
ping 192.168.10.1 - X
ping 192.168.20.1 - X
ping 192.168.40.1 - X
사진첨부
vIOS5)
ping 192.168.10.1 - X
ping 192.168.20.1 - O
ping 192.168.30.1 - O
사진첨부
유형 05 - 2.
- 명령어
ASA)
policy-map global-policy
class inspection_default
no inspect icmp
service-policy global_policy global
access-list dmz1_inside extended permit icmp host 192.168.20.1 host 192.168.10.1
[access-list dmz1_inside extended deny ip any any 명령어가 묵시적 생략되어 있음]
access-group dmz1_inside in interface dmz1
- 결과
vIOS3)
ping 192.168.20.1 - O
ping 192.168.30.1 - X
ping 192.168.40.1 - X
vIOS2)
ping 192.168.10.1 - O
ping 192.168.30.1 - X
ping 192.168.40.1 - X
vIOS4)
ping 192.168.10.1 - X
ping 192.168.20.1 - X
ping 192.168.40.1 - X
vIOS5)
ping 192.168.10.1 - X
ping 192.168.20.1 - X
ping 192.168.30.1 - X