ACL(Access Control List) 사용 목적
-
ACL : 패킷 헤더에서 찾은 정보를 바탕으로 패킷을 필터링하는데 사용하는 명령어
-
라우터는 기본적으로 ACL이 구성되어 있지 않음
-
원하는 프로토콜과 인터페이스에 ACL을 구성
-
허용(Permit) 또는 거부(Deny)의 순차적인 목록을 사용(접근제어 문구; ACEs; Access Control Entry)
- ACE는 보통 ACL statements라고 함
-
주소, 프로토콜, 포트 등의 여러 옵션을 포함하고 있음
-
패킷 필터링 과정 : 패킷을 수신하면 순서대로 확인하는 매칭테스트를 진행함
-
ACL가 구성된 라우터가 네트워크에 발생시키는 것
- 네트워크 트래픽 제한을 통한 성능 향상
- 트래픽 흐름제어(flow control) 제공
- 네트워크 접근을 위한 기본적인 수준의 보안 제공
- 트래픽 유형에 근거한 트래픽 필터
- 네트워크 서비스에 대한 (특정시간에 대한, 특정 사이트 등에 대한)접근 허용 및 거부하는 호스트
- 네트워크 트래픽의 특정 클래스에 우선순위를 부여한 우선순위 통신
-
패킷 필터링(Packet Filtering)
- 접근제어 목록의 분석된 내용을 통해 네트워크에 대한 접근 통제
- Layer3(Network Layek) 또는 Layer4(Transport Layer)에서 동작
- 시스코 라우터에서는 두가지 타입의 ACL이 지원됨
- Standard ACLs : IPv4 주소만 사용
- Extended ACLs : 3계층에서는 출발지와 목적지 IPv4 주소를 사용하며, 4계층에서는 TCP/UDP 포트, 프로토콜 타입 정보 등을 필터링
ACL 동작 방식
- ACL은 추가적인 규칙을 생성하며, 추가적인 규칙들은 라우터의 인터페이스로 들어오고 나가는 패킷들을 추가적으로 제어하는 규칙
- ACL은 트래픽의 방향을 지정하여 구성이 가능
- 3PER : Interface, In or Out, Protocol
- 3PER을 통칭하여 규칙(rules)이라고 함
- 자체생성한 패킷(ex : OSPF advertisement packet 등)은 ACL 미적용
- 인바운드 패킷은 인터페이스로 나가기 전 필터링되며, 패킷의 라우팅 과정을 하기 전에 수행되므로 오버헤드를 절약함
- 아웃바운드 ACL는 인바운드 인터페이스와 관계 없이 라우팅 과정 이후에 필터링 됨
Permit 및 Deny에 의해 필터링된 패킷은 자체 폐기됨
인바운드 패킷에 필터링을 지정하는 것이 효율적(라우팅 과정을 거치지 않고 폐기하므로 자원을 낭비하지 않음)
- IPv4 ACL이 구성된 라우터 인터페이스로 트래픽이 유입 될 때 사용되는 단계
- 출발지 주소 추출
- 출발지 주소와 ACE에 있는 목록을 순차적으로 비교
- 비교 후 일치하는 경우 Permit 또는 Deny를 수행 후 남은 목록은 확인하지 않음
- 모든 목록과 불일치하면 자동으로 패킷이 폐기
모든 트래픽이 거부되는 것을 막기 위해 ACL은 하나 이상의 허용문이 있어야 함