1. 분할된 IPv4 패킷 차단
- IP 헤더 플래그 필드 중 3번째 비트는 MF(More Fragments)를 의미한다.
- 이 비트 값이 1이면 해당 패킷은 분할된 것이며, 분할된 나머지 패킷이 더 존재한다는 의미이다.
- 분할된 패킷은 종단 장비가 다시 조립한다.
- 분할된 패킷을 서버에 대량으로 전송하면 서버에 부하가 생기므로 분할된 IPv4 패킷을 막아주어야 한다.
IOU_FW Router 설정
conf t ip access-list extended NO_IP_FLAG deny ip any host 1.1.1.250 fragments permit ospf host 1.1.100.6 any permit ip any any log-input exit int f 0/1 ip access-group NO_IP_FLAG in |
- 클라이언트에서 DNS 서버에 일반 Ping은 통신되지만 size를 5000으로 지정해서 시도하면 차단되는 것을 확인할 수 있다.
- deny 정책에 로그가 생성된 것을 확인할 수 있다.
2. TTL 값을 이용하여 패킷 제어
- TTL 값이 0 또는 1인 상태로 들어온 패킷들은 ACL을 통한 제어가 불가능하다.
- TTL 값이 0 또는 1이면 더 이상 다른 장비로 전송될 수 없으므로 해당 장비에서 송신자에게 TTL 만료 메시지를 전송한다.
- ACL을 통해 TTL 값을 제어해야 한다.
ip access-list extended CHECK_TTL ? 옵션 종류
eq [TTL 값]: 해당 TTL 값일 경우
gt [TTL 값]: 해당 TTL 값 보다 클 경우
lt [TTL 값]: 해당 TTL 값 보다 작을 경우
neq [TTL 값]: 해당 TTL 값이 아닐 경우
range [시작 TTL 값] [끝 TTL 값]: 시작 TTL 값부터 끝 TTL값인 경우
IOS_FW Router 설정
- 들어온 ICMP 패킷의 TTL값이 5일 경우 차단
<IOS_FW> conf t no ip access-list extended NO_IP_FLAG no ip access-list extended CHECK_TTL ip access-list extended CHECK_TTL deny ip any any ttl eq 5 permit ip any any exit int f 0/1 ip access-group CHECK_TTL in
|
- 방화벽 장비까지 3개의 Hop을 거쳐야 하므로 Client(Win7_B)에서 TTL값을 설정할 때에는 8로 설정해 주어야 한다.
- TTL 값이 5일 경우 패킷이 차단되는 것을 확인할 수 있다.
- deny 정책에 로그가 생성된 것을 확인할 수 있다.
3. ACL 로그 표시
- 특정 패킷에 대해서 적용된 ACL 내용을 로그로 나타내려면 log 옵션을 뒤에 붙여준다.
- 특정 패킷에 적용된 ACL 내용을 패킷이 입력된 인터페이스와 함께 로그로 나타내려면 log-input 옵션을 사용한다.
<IOS_FW> conf t ip access-list extended CHECK_LOG deny ip any host 1.1.1.250 log 또는 log-input permit ip any any int f 0/1 ip access-group CHECK_LOG in |
- Client에서 1.1.1.250으로 Ping test를 실행하면 IOS_FW 라우터에 차단 로그 메시지가 등록되는 것을 확인할 수 있다.
- 5분마다 해당 ACL 문장이 적용된 패킷 수를 표시해 준다 (현재 패킷 수 1)
- log-input옵션은 공격 패킷이 어느 인터페이스를 통하여 들어오는지 판단할 때 유용하게 사용된다.
- 위 log 옵션과 다르게 FastEthernet0/1번 포트를 통해 들어오는 것을 추가로 확인할 수 있다.
4. ICMP 패킷 제어
<IOS_FW> conf t ip access-list extended CHECK_ICMP permit ospf host 1.1.100.6 any permit icmp host 2.2.2.250 host 1.1.1.250 echo deny ip any any int f 0/1 ip access-group CHECK_ICMP in |
- 적용을 완료하면 FTP 서버(2.2.2.250)에서는 DNS 서버(1.1.1.250)로 Ping이 정상적으로 나가는 것을 확인할 수 있다.
- DNS 서버에서는 Win7_B로는 Ping이 나가지 않는다.
- echo 패킷은 들어올 수 있지만 Win7_B로부터 받은 ICMP 응답 패킷은 받을 수 없기 때문이다.
- IOS_FW 라우터에 echo-reply 패킷을 허용해 준다.
<IOS_FW> conf t no ip access-list extended CHECK_ICMP ip access-list extended CHECK_ICMP permit ospf host 1.1.100.6 any permit icmp host 2.2.2.250 host 1.1.1.250 echo permit icmp host 2.2.2.250 host 1.1.1.250 echo-reply deny ip any any int f 0/1 ip access-group CHECK_ICMP in |
- DNS 서버(1.1.1.250)에서 FTP 서버(2.2.2.250)로 Ping이 잘 가는 것을 확인할 수 있다.
5. 시간대별로 패킷 제어
IOS_FW Router 설정
periodic weekdays: 주중 09:00 to 17:00 09시부터 17시까지 설정
Monday ~ Sunday 옵션을 주어서 요일 설정이 가능하다.
weekend 옵션을 주어서 주말 설정이 가능하다.
permit tcp any host 1.1.100.10 eq 23 time-range TIME_CONTROL
Branch 라우터에 Telnet 접속을 주중 09시부터 ~ 17시까지 허용한다.
deny tcp any host 1.1.100.10 eq 23
주중 09시부터 ~ 17시 이외의 시간엔 Telnet 접속이 불가능하다.
<IOS_FW> conf t time-range TIME_CONTROL periodic weekdays 09:00 to 17:00 exit ip access-list extended TELNET_ACCESS permit ospf host 1.1.100.6 any permit tcp any host 1.1.100.10 eq 23 time-range TIME_CONTROL deny tcp any host 1.1.100.10 eq 23 int f 0/1 ip access-group TELENT_ACCESS in |
'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] ACL Established, RACL 설정 (0) | 2019.11.20 |
[Firewall] Extended ACL(Access Control List) 설정 (0) | 2019.11.20 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊