네트워크 구성
- IOS_FW 라우터를 방화벽으로 사용(Cisco IOS Firewall)하고자 한다.
- 외부에서 접근하는 패킷 중 다음 조건에 일치하는 패킷들만 허용한다.
1) DNS 서버(1.1.1.250)로 향하는 DNS 조회 패킷
2) Web서버(1.1.1.251)로 향하는 Web 접근 패킷
- 이 이외에는 외부에서 오는 모든 패킷을 차단한다.
- Numbered ACL과 Named ACL 구성 방법을 설정한다.
ACL LAB GNS Config 파일
1. DNS 패킷, HTTP 패킷 분석
- IOS_FW 라우터와 ISP 라우터 간의 패킷을 조사한다.
- WIN7_B에서 nslookup을 통해 www.peemang.com을 조회한다.
- 캡처된 DNS 패킷을 보면 UDP 프로토콜을 사용하고 포트번호 53번을 사용하는 것을 확인할 수 있다.
- WIN7_B에서 웹 브라우저를 통해 www.peemang.com을 접속한다.
- 캡처된 HTTP 패킷을 보면 TCP 프로토콜을 사용하고 포트번호 80번을 사용하는 것을 확인할 수 있다.
IOS_FW Router 설정
- Access-List를 통해서 DNS와 HTTP 패킷을 허용한다.
access-list 100 permit udp any host 1.1.1.250 eq 53: Access-List 100번에 모든 외부에서(any) Web서버(1.1.1.251)로 가는 UDP 53(eq 53) 번 포트를 허용(permit)한다.
access-list 100 deny ip any any log-input: Access-List 100번에 차단되는 ip로그 수집
<IOS_FW> conf t access-list 100 remark ##HQ_Access_Rule## access-list 100 permit udp any host 1.1.1.250 eq 53 access-list 100 permit tcp any host 1.1.1.251 eq 80 access-list 100 deny ip any any log-input ! int fa 0/1 ip access-group 100 in ! |
- ISP 라우터와 OSPF Neighbor 관계가 끊어지는 것을 확인할 수 있다.
- deny ip any any 문장 때문에 ISP가 주기적으로 전송하는 Hello 패킷을 수신하지 못하고 결과적으로 OSPF Dead Timer가 만료되면서 OSPF Neighbor 관계를 유지할 수 없기 때문이다.
- show access-list 명령어로 확인해 보면 Hello 패킷들이 차단되고 있는 것을 확인할 수 있다. (44 matches)
- ACL을 적용할 때 반드시 Background 트래픽 존재 유무와 적용 인터페이스를 확인해야 한다.
OSPF Hello 패킷 분석
- IPv4를 사용하고 출발지 IP는 1.1.100.6(ISP), 포트번호는 89번인것을 확인할 수 있다.
- ACL은 입력된 순서에 따라서 하양식 처리를 하기 때문에 앞서 설정된 deny ip any any보다 먼저 설정되어야 한다.
- Numbered ACL의 경우 중간 추가 및 삭제가 불가능했었지만 오늘날의 IOS에서는 Extended ACL의 경우 Named ACL 방식으로 중간 추가 및 삭제가 가능하다.
- show access-list를 확인하면 access list 정보가 숫자로 설정돼있는 것을 확인할 수 있다.
IOS_FW Router 설정
- Named Access-list를 통해서 deny 패킷을 제거한 후 OSPF 패킷을 허용 정책을 추가한다.
21 access-list 100 permit ospf host 1.1.100.6 any
Access-list 100번의 설정 번호를 21번으로 지정하여 20번 다음에 수행하도록 설정한다.
출발지 주소는 ISP(host 1.1.100.6)으로 설정한다.
목적지 주소는 Hello 패킷 이외에도 다양한 IP번호로 패킷을 교환하기 때문에 any로 설정한다.
<IOS_FW> conf t ip access-list extended 100 no 40 21 permit ospf host 1.1.100.6 any
|
- do show access-list로 확인해 보면 40번이 지워지고 사이에 21번이 추가된 것을 확인할 수 있다.
Win7_B에서 테스트
- Web페이지에는 접근(HTTP)이 가능 하지만 Web 서버로 Ping 전송(ICMP)은 불가능하다.
- ICMP 패킷을 확인해 보면 IOS_FW 라우터에서 패킷을 차단하는 것을 확인할 수 있다.
- 기본적으로 ACL에 의해 패킷이 차단되는 경우 해당 패킷을 차단한 장비(Firewall)는 해당 패킷을 전송한 장비에게 ICMP Type 3(Destination Unreachable) 메시지로 오류를 전송한다.
- 하지만 공격자가 대량의 공격 트래픽을 전송하는 경우 방화벽이 해당 트래픽에 대한 ICMP Type 3메시지를 생성하여 전송한다면 큰 부하가 발생할 수 있다.
- 관리자는 ICMP type 메시지 전송을 비활성화 시키는 것이 가능하다. (동시에 공격자에게 방화벽 존재를 숨길 수 있다.)
IOS_FW Router 설정
no ip unreachable: ICMP type 메시지 전송을 비활성화 시킨다.
<IOS_FW> conf t int fa 0/1 no ip unreachable |
- 공격 request 패킷은 전송되는데 reply 패킷을 보내지 않는것을 확인할 수 있다.
Numberd ACL을 Named ACL로 변경
- ACL 정책을 효율적으로 추가 및 삭제를 하기 위해서 Named ACL로 변경한다.
<IOS_FW> conf t int fa 0/1 no ip access-group in ! no access-list 100 ip access-list extended HQ_Access_Rules remark ##Outside -> Inside_Filtering_Rules## permit ospf host 1.1.100.6 any permit udp any host 1.1.1.250 eq 53 permit tcp any host 1.1.1.251 eq 80 deny ip any any log-input exit int fa 0/1 ip access-group HQ_Access_Rules in ! |
- 중간 추가를 계속하다 보면 30번과 40번 사이는 9개의 정책밖에 추가할 수 없다.
- ACL 리스트 번호 재조정을 통해서 ACL List 번호를 재조정할 수 있다.
ACL List 번호를 재조정
- 31번으로 추가한 정책을 일정한 번호 간격으로 재조정 하려고 한다.
- 재조정 하기 이전에는 31번이 추가되어서 30,31,40번이 등록된 것을 확인할 수 있다.
IOS Router 설정
ip access-list resequence HQ_Access_Rules 10 10
HQ_Access_Rule Access-List를 10부터 시작하여 10 간격으로 재조정한다. (10, 20, 30...)
<IOS_FW> conf t ip access-list resequence HQ_Access_Rules 10 10 ! |
- show access-list 명령어를 통해 확인해 보면 번호가 재조정된 것을 확인할 수 있다.
Extends ACL 방화벽 설정 추가 보안기능 확인
https://peemangit.tistory.com/105
Extends ACL 방화벽 Established, RACL 설정
https://peemangit.tistory.com/104
'Network > CIsco Router FW' 카테고리의 다른 글
[Firewall] ZFW(Zone-base Firewall) / ZPF (Zone-based Policy Firewall) 설정 (0) | 2019.11.22 |
---|---|
[Firewall] CBAC(Context-Based ACL) 설정 (0) | 2019.11.21 |
[Firewall] DACL(Dynamic ACL) 설정 (0) | 2019.11.21 |
[Firewall] Extended ACL 방화벽설정 추가기능들 (0) | 2019.11.20 |
[Firewall] ACL Established, RACL 설정 (0) | 2019.11.20 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊