728x90
ACL(Access Control List)란?
ACL 개요
- 특정 트래픽의 접근을 허용 or 차단할지 결정하는 리스트
- 보안을 위해서 많이 사용
- L3 장비인 Router에서 설정, Application Layer 부분도 관리하기 때문에 Network Layer 까지라고 단정할 수 없음
- Application Layer까지 완벽히 막을 수 없기 때문에 Firewall 등의 전문적인 보안 장비를 사용
- ACL은 크게 Numbered와 Named 두 종류가 존재
표준 엑세스 리스트
- 출발지 주소로만 이루어진 엑세스 리스트
- 관리용 트래픽 등 네트워크 장비로 향하는 트래픽에 대한 정책 적용이나 라우팅 정보 필터링 등에 사용
확장 엑세스 리스트
- 출발지 IP Address + 목적지 IP Address + Protocol 출발지 port 정보까지 사용
- 사용자 트래픽을 필터링하는데 사용
ACL 특징
- Access-Lists의 *Packet Filtering을 통해 Network Traffic을 제한하거나, 특정 사용자 및 장치에 의해 사용되는 Network의 자원에 대한 접근을 제한
- Router를 경유하여 다른 Network나 Host에 대한 접근을 Permit(허용) or Deny(거부) 할 수 있다.
- 허가 받지 않은 사용자가 원격으로 Network 자원에 대한 접근을 제한 할 수 있다.
- Router를 통과하는 모든 Traffic을 제한 할 수 있지만 Router 자체적으로 생성되는 Traffic에 대해서는 제한이 불가능하다.
*Packet Filtering: 방화벅이나 Router 등에 적용할 수 있으며 외부에서 내부로 접근할 때 사용하는 Port Number 등을 차단함으로써 보안 수준을 높일 수 있다. 출발지 or 도착지 IP Address에 근거해 트래픽을 허용 or 차단할 것인지를 제어
ACL 동작방식
Inbound
- Packet이 Router 내부로 들어올 때 filtering 여부를 결정
- Router Interface로 packet이 들어올 경우 수신 Interface에 ACL이 설정되어 있는지 확인하고 설정이 되어있지 않으면 그냥 통과
- 만약 ACL이 설정돼 있다면 들어온 Packet의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정
Outbound
- Packet이 Router 외부로 나갈 때 filtering 여부를 결정
- Router Interface에서 Packet이 나갈 경우 Interface에 ACL이 설정되어 있는지 확인하고 설정이 되어있지 않으면 그냥 보낸다.
- 만약 ACL이 설정돼 있다면 나가는 Packet의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정.
ACL 동작 순서
- 입력 Interface에 트래픽이 도착하면 Inbound ACL의 첫 번째 조건부터 부합하는지 체크
- 조건에 부합시 Permit or Deny 결정. Parmit된 Packet은 계속해서 4단계로 이동, Deny일 경우 Packet을 폐기함
- 조건에 부합하지 않다면 다음 조건으로 넘어가서 부합하는 List가 나올 때까지 아래의 동작을 반복 ( Inbound ACL 내의 모든 규칙이 부합하지 않는다면 폐기)
- Inbound ACL을 통과한 Packet은 Routing Table을 참조하여(Routing lookup) 출구 Interface로 전송.
- 만약 출구 Interface에 Outbound ACL이 적용되어 있다면, Inbound ACL과 마찬가지로 설정된 Access-list에 따라 Peny or parmit한다.
ACL 설정 규칙
ACL는 Packet을 비교할 때 몇 가지 중요한 규칙들이 존재함
이 규칙들을 반드시 알고 있어야만 아무 문제 없이 Packet Filtering이 가능
- Access-list는 항상 순차적으로 비교 ( 첫 번째 줄부터 시작해 두 번째, 세 번째 줄 순으로 비교)
- Packet은 설정된 Access-list와 비교하여 일치할 때까지 계속 진행되며, 일치할 경우 더 이상 비교를 하지 않고 일치한 부분을 바로 실행
- Access-list를 설정하게 되면 디폴트로 항상 "Deny" 상태이며 특정 Packet만 차단하고 나머지는 "Permit" 으로 허용해주어야 한다.
- Access-list를 이용해 설정할 경우 반드시 Interface에 적용시켜야 한다. (Packet을 차단 or 허용할 것인지 혹은 나가는 Packet을 차단 or 허용할 것인지 정의해 주어야만 동작)
- Access-list를 먼저 만들고 난 후 해당 Interface에 적용해야함. Access-list를 먼저 설정하지 않으면 아무 의미 없음
- Interface에 적용 후 Access-list를 선언할 경우 동작하지 않을 수 있음에 주의
'Network > 이론' 카테고리의 다른 글
[네트워크] SNMP(Simple Network Management Protocol)란? (0) | 2024.06.25 |
---|---|
[네트워크] IPv6란? (0) | 2024.06.24 |
[네트워크 - 이중화] FHRP(First Hop Redundancy Protocol)란? (1) | 2024.06.18 |
[네트워크] ARP(Address Resolution Protocol)란? (0) | 2024.06.10 |
[네트워크] OSI 7계층이란 ? (2) | 2024.03.30 |