ACL (Access Control List)

2025. 2. 5. 13:21Network 공부

Access List(ACL)는 네트워크 장비(라우터, 스위치 등)에서 트래픽을 필터링하고 보안을 강화하기 위해 사용되는 규칙들의 집합

특정 IP 주소, 포트, 프로토콜 등에 기반하여 트래픽을 허용(permit)하거나 차단(deny)할 수 있도록 하는 설정

 

ACL의 역할
- 트래픽 필터링: 네트워크 보안을 위해 불필요한 트래픽 차단
- 보안 강화: 특정 IP 또는 포트 차단으로 해킹 및 비인가 접근 방지
- QoS(Quality of Service): 특정 트래픽 우선 처리 가능
- 네트워크 성능 최적화: 불필요한 트래픽을 줄여 대역폭 절약

ACL의 유형

(1) Standard ACL

IP 주소만을 기반으로 필터링 (출발지 IP 기준)

번호 범위: 1~99, 1300~1999

간단한 트래픽 제어

Router(config)# access-list 10 permit 192.168.1.0 0.0.0.255
Router(config) # access-list 10 deny 192.168.1.10

192.168.1.0/24 대역에서 192.168.1.10 에서 오는 트래픽만 차단하고 나머지는 허용

 

(2) Extended ACL

출발지/목적지 IP, 프로토콜(TCP, UDP, ICMP 등), 포트번호까지 필터링 가능

번호 범위: 100~199, 2000~2699

더 정밀한 제어 가

Router(config)# access-list 110 deny tcp 192.168.1.0 0.0.0.255 any eq 23
Router(config) # access-list 110 permit ip any any

eq23 -> Telent(포트 23) 뜻함

110번 ACL 은 192.168.1.0/24 에서 Port 23 으로의 접속을 차단하고 나머지는 허용한다는 의미

 

ACL의 동작 원칙

위에서 아래로 순차적으로 규칙을 확인하며 일치하는 첫 번째 항목을 적용한다.

Implicit Deny ( 암시적 거부) : 기본적으로 허용하지 않은 모든 트래픽은 차단된다.

ACL을 설정할 때 가장 구체적인 규칙을 먼저 배치하고, 범위가 넓은 규칙은 나중에 배치하는 것이 중요하다.

ACL은 "처음으로 일치하는 룰"을 찾으면 즉시 적용되며, 이후의 규칙은 무시된다.

 

 

 

 

- Inbound(입력) vs Outbound(출력)

Inbound(입력)

IN: 패킷이 라우터 인터페이스로 들어올 때 적용됨.
적용 위치: 패킷이 들어오는 인터페이스에서 필터링됨.
목적: 라우터 내부로 들어오는 트래픽을 제한 또는 허용.

ex)

f0/0을 통해 들어오는 패킷 중,
192.168.1.0/24 대역에서 오는 패킷만 허용하고, 그 외에는 차단한

interface FastEthernet0/0
 ip access-group 101 in
!
access-list 101 permit ip 192.168.1.0 0.0.0.255 any
access-list 101 deny ip any any


IN 방향이므로, FastEthernet0/0을 통해 들어오는 트래픽만 검사.
192.168.1.0/24 대역의 패킷만 허용되고, 그 외에는 모두 차단됨.

 

Outbound(출력)

OUT: 패킷이 라우터에서 나갈 때 적용됨.
적용 위치: 패킷이 라우터에서 나가는 interface 에서 필터링됨.
목적: 특정 목적지로 가는 트래픽을 제한 또는 허용.

ex)
f0/1을 통해 나가는 패킷 중,
내부 네트워크(192.168.1.0/24)에서 외부로 나가는 패킷만 허용하고,
그 외에는 차단.

int f0/1
ip acess-group 102 out
!
access-list 102 permit ip 192.168.1.0 0.0.0.255 any
access-list 102 deny ip any any 

OUT 방향이므로, FastEthernet0/1을 통해 나가는 패킷만 검사.
192.168.1.0/24 대역에서 나가는 트래픽만 허용되고, 나머지는 모두 차단됨.

 

ACL 적용 방법

ACL을 설정한 이후에 특정 인터페이스에 적용해야한다.

Router(config)# interface f0/0
Router(config-if)# ip access-list 10 in 

 

in → 들어오는 트래픽에 적용

out → 나가는 트래픽에 적용

 

 

- ACL 번호는 단순히 ACL 를 구분하기 위한 ID 일뿐이다.
- ACL 이 너무 길면 성능이 저하 된다.
- 확장 ACL은 가능한 한 목적지에 가까운 인터페이스에 적용
- 표준 ACL은 가능한 한 출발지에 가까운 인터페이스에 적용
- 변경 사항을 적용하기 전에 항상 백업(config backup) 수행

 

 


* 3계층인 라우터가 4계층의 TCP 의 Segement header 을 왜 열어 볼 수 있을까?

일반적으로 Router은 기본적으로 IP Packet Header 까지만 확인을 하지만 다음과 같은 경우에 TCP / UDP Header 를 확인한다.

라우더에서 4계층 TCP / UDP Header 을 열어보는 이유는 고급 네트워크 기능을 수행하기 위해서다.

1. 일부 라우터는 DPI ( Deep Packet Inspection ) 기능을 통해 4계층(TCP / UDP) 정보까지 분석 할 수 있다.

DPI를 수행하는 라우터는 패킷을 전송하기 전에 IP 헤더뿐만 아니라 TCP / UPD Header 를 열어보고 검사한다..

이 기능은

QoS ( Quality of Service), 방화벽, NAT(Network Address Translation),. Load Balancing 등의 네트워크 기능에서 유용하게 사용된다.

 

2. Router가 NAT 기능을 수행할 때 NAT는 TCP / UDP Port 정보를 확인해야하기 때문에 4계층 Header 를 확인한다.

ex) 사설 네트워크 (192.168.1.0/24)의 여러 클라이언트가 인터넷에 접속할 때, 공인 IP 주소 1개로 여러 클라이언트를 구분하려면 TCP / UDP Port 정보가 필요하다

따라서 NAT 를 수행하는 라우터는 4계층 (TCP / UDP ) Header 를 확인하며 Port 번호를 기반으로 변환을 수행한다.

 

3. Router 의 ACL 및 방화벽 역할

Router 가 ACL 이 설정되었을 때 ACL 은 IP 주소 뿐만 아니라 TCP / UDP port 번호 기반으로 필터링을 수행한다.

ex) access-list tcp host 10.10.1.100 eq 80 

이면 10.10.1.100 대역의 TCP 80 port 만 허용하고 다른 포트는 차단한다는 의미이고 이를 확인할려면 라우터가 TCP Header 를 분석해야 한다.

방화벽이 내장된 라우터는 패킷이 특정 애플리케이션( ex: HTTP, FTP,  SSH) 와 관련이 있는 지를 확인하기 위해서 TCP / UDP Header 의 정보를 확인한다.

 

4. Load Balancing 및 QoS ( Quality of Service ) 기능

Router 는 네트워크 트래픽을 효율적으로 관리하기 위해 로드 밸런싱 및 QoS 기능을 제공한다

서비스(TCP 443 → HTTPS, TCP 80 → HTTP 등)에 대한 트래픽 우선순위를 설정하기 위해 라우터는 TCP/UDP 헤더를 분석할 필요가 있다.

ex) 기업 네트워크에서 VoIP ( Voice over IP ) 트래픽을 우선 처리 하고 싶다면 라우터는 RTP (Real-time Transport Protocol, UDP 기반) 패킷을 식별하고 우선 처리한다.

 

5. Multi - Protocol Router 와 애플리케이션 인식

최근의 라우터들은 단순한 IP 주소 기반 라우팅을 넘어, 애플리케이션 계층의 트래픽을 분석하여 트래픽을 최적화합니다.

SD-WAN(Software-Defined WAN)과 같은 기술을 사용하는 라우터는 TCP/UDP 정보를 분석하여 특정 애플리케이션(예: Zoom, Teams, YouTube 등)에 따라 다르게 처리할 수 있습니다.

 

Multi Protocol ROuter 

단순히 IP 패킷 전송 기능을 포함하여 여러 네트워크 프로토콜 (IP, MPLS, BGP, OSPF, EIGRP 등)을 동시에 지원하는 라우터이다.

여러 네트워크 프로토콜 ( IP, MPLS, BGP, OSPF, EIGRP 등)을 동시에 지원하는 라우터

SD-WAN 과 같은 기술을 활용하면 애플리케이션별로 네트워크를 다르게 최적화하는 기능을 수행할 수 있다.

 

* 애플리케이션 트래픽 분석이 필요한 이유 *

기존 네트워크 라우터는 IP 주소 기반으로 패킷을 전달하지만 현대 네트워크 환경에서는

어떤 애플리케이션에서 생성된 트래픽인지 인식하고 최적화할 필요가 있다.

ex)

기업 환경에서는 VoIP(음성 통화) 트래픽을 우선적으로 처리하여 지연(Latency)을 최소화해야 한다.
화상회의 서비스(Zoom, Microsoft Teams 등)는 끊김 없는 스트리밍을 위해 낮은 패킷 손실(Packet Loss)과 안정적인 대역폭이 필요하다.
YouTube, Netflix 같은 동영상 스트리밍 서비스는 가용 대역폭을 최대한 활용할 수 있도록 최적화해야 한다.
이를 위해 Multi-Protocol Router는 트래픽을 애플리케이션별로 구분하여 처리하는 기능을 수행한다.

 

그러면 SD - WAN 과 같은 기술을 활용해서 애플리케이션별로 네트워크를 각각 최적화 시킨다고 했는 데

SD - WAN ( Software - Defined WAN ) 은 무엇인가?

SD - WAN 은 소프트웨어 정의 기술을 이용해 WAN ( 광역 네트워크 ) 트래픽을 최적화하고 관리하는 네트워크 기술이다.

 

 

'Network 공부' 카테고리의 다른 글

Multi Process vs Multi Thread  (0) 2025.02.05
Synchronous vs Asynchronous ( 동기 vs 비동기 ) 방식  (0) 2025.02.05
Static Request vs Dynamic Request  (1) 2025.02.04
SSH(Secure Shell)  (0) 2025.02.04
Hash Function  (0) 2025.02.04