반갑습니다. 후티입니다.
방화벽에서 필터링 정책이 있듯이 L3장비(라우터, L3스위치)에서도 ACL정책을 이용하여 패킷 필터링이 가능한데 이전 '후티와 떠나는 네트워크 여행'에서 간단하게 ACL설정에 대해 다루었습니다.
-> 이전 ACL 글 보기
이번에는 조금 더 확장하여 ACL정책을 살펴볼 예정으로 다양한 내용 중에서 RACL과 DACL에 대해 설정을 같이 해보도록 하겠습니다.
설정 전 OSPF 라우팅을 통해 모든 구간에서 통신이 가능한 상태로 이러한 설정 부분들은 이전 글들을 참고바랍니다.
실습에 사용된 라우터 이미지 파일 : c2691-AD.bin
- R(Reflect) ACL은 내부 사용자를 위한 것이며 내부에서 출발한 TCP/UDP/ICMP 패킷이 외부에서 들어올 때 임시 ACL을 만들어 검사 후 허용하는 것으로 당연히 외부에서 출발한 패킷은 내부에 들어올 수 없습니다. 이와 유사한 옵션으로 establised가 있으나 이는 TCP 패킷에만 해당이 됩니다.
RACL 설정 시 임시 ACL을 통해 패킷을 검사하기 위한 ACL과 임시 ACL을 적용하기 위한 ACL, 두 가지 정책이 필요합니다.
- D(Dynamic) ACL은 외부 사용자를 위한 것으로 외부에서 출발한 패킷에 대해 내부로의 접속을 허용하며 RACL과 같이 임시 ACL을 만들어 검사 후 허용을 하게 됩니다. 이 때 내부로의 접속 시 사용자 인증 과정을 거치게 되는데 실습에서는 간단히 텔넷 인증을 통해 허용이 되도록 실습할 예정입니다. 인증에 실패하면 내부 네트워크로는 통신이 되지 않게 됩니다.
- TCP Establised 옵션을 통한 RACL 설정
R2(config)#ip access-list extended tcpes
R2(config-ext-nacl)#permit ospf host 10.10.20.3 any
R2(config-ext-nacl)#permit tcp any any established
R2(config)#interface f0/1
R2(config-if)#ip access-group tcpes in
위와 같이 설정 후 내부(R1)에서 외부(R4)로의 TCP(telnet / http 등) 연결이 허용이 되는 것을 알 수 있습니다. 하지만 UDP / ICMP 패킷은 established 옵션으로 제어가 안되기에 아래의 RACL 설정을 하면 모든 프로토콜에 대해 제어가 가능합니다.
- RACL 설정
R2(config)#iip access-list extended racl
R2(config-ext-nacl)#permit tcp any any reflect racltest
R2(config-ext-nacl)#permit ucp any any reflect racltest
R2(config-ext-nacl)#permit icmp any any reflect racltest
R2(config-ext-nacl)#permit ip any any
R2(config)#ip access-list extended test
R2(config-ext-nacl)#permit ospf host 10.10.20.3 any
R2(config-ext-nacl)#evaluate racltest
R2(config)#interface f0/1
R2(config-if)#ip access-group racl out
R2(config)#interface f0/1
R2(config-if)#ip access-group test in
설정을 마친 후 R1에서 R4로 Ping, Telnet, Http 접속을 해보면 정상적으로 접속이 되는 것을 확인할 수 있으며 반대로 R4에서 R1으로 접속을 하면 접속이 되지 않는 것을 알 수 있습니다. 말 그대로 외부에서 내부로의 패킷은 차단이 되고 있는 것으로 #show ip access-lists 명령어를 통해 임시 ACL의 내용도 확인이 가능합니다. 만약 ACL에 해당하는 패킷이 없으면 임시 ACL의 내용도 없어지고 변경이 되어지겠습니다.
- DACL 설정
R2(config)#username edushare password 1234
R2(config)#line vty 0 4
R2(config-line)#login local
R2(config-line)#autocommand access-enable host timeout 10
R2(config)#iip access-list extended dacl
R2(config-ext-nacl)#permit ospf host 10.10.20.3 any
R2(config-ext-nacl)#permit tcp any host 10.10.20.2 eq telnet
R2(config-ext-nacl)#dynamic DACL permit ip any any
R2(config)#interface f0/1
R2(config-if)#ip access-group dacl in
설정 후 외부 사용자(R4)에서 내부(R1)로 Ping 테스트를 하면 통신이 연결되지 않는데 R2로 텔넷 접속하여 텔넷 인증을 하고 나면 정상적으로 R1으로 통신이 가능한 것을 알 수 있습니다.
DACL 인증을 통해 정상적인 사용자로 인식이 되면 내부로의 통신이 가능하게 됩니다. AAA 등의 인증 서버를 이용하게 되지만 실습에서는 간단하게 텔넷 인증을 통해 테스트를 진행했습니다.
두 가지 ACL 모두 공통적으로 해당 패킷일 경우 임시로 ACL을 만들어 사용한다는 것을 알 수 있으며 자세한 내용은 유튜브 채널 'https://www.youtube.com/에듀쉐어' 의 영상을 참고하면 좀 더 쉽게 알 수 있을 듯 하며 구독 및 좋아요 감사드립니다.^^
'IT강좌 > 정보보안' 카테고리의 다른 글
L3(라우터) 보안 설정(패킷 필터링) - CBAC (0) | 2021.04.22 |
---|---|
L3(라우터) 보안 설정(패킷 필터링) - ZFW(Zone-Based FireWall) (4) | 2021.04.04 |
방화벽 다루기 - 4장. GNS3에 Cisco ASAv 등록하기 (0) | 2020.06.08 |
#. GNS3 네트워크와 호스트 연결하기 - MS 루프백 어댑터 이용 (0) | 2020.06.07 |
#. 네트워크 시뮬레이터 툴 GNS3와 VM(가상 머신) 연동하기 - GNS VM (0) | 2020.01.07 |