네트워크/Network

[Network] Access List 1

cumo 2025. 2. 14. 15:40

 

네트워크 그룹

1. Access List(ACL)란?

Access Control List(ACL)는 네트워크에서 트래픽을 제어하기 위한 필터링 규칙 집합이다. 라우터나 스위치에서 특정 IP 주소, 프로토콜, 포트 번호 등을 기준으로 패킷을 허용하거나 차단할 수 있다. 일반적으로 보안 강화 및 트래픽 최적화를 위해 사용된다.

2. 현재 네트워크 구성

위 그림과 같은 네트워크 토폴로지를 기반으로 ACL을 설정한다고 가정해 보자.

📌 네트워크 세부 정보

  • 4개의 서브넷으로 구성
    • 10.1.1.0/25 (PC1 네트워크)
    • 10.1.1.128/26 (PC2 네트워크)
    • 10.1.1.192/27 (PC3 네트워크)
    • 10.1.1.224/28 (PC4 네트워크)
  • 라우터 2대(R1, R2) 가 연결되어 있으며, 라우팅을 통해 서로 통신 가능함.
  • 각 네트워크에는 스위치가 연결되어 있으며, PC가 스위치를 통해 라우터에 접속.

📊 Standard ACL vs Extended ACL 비교

 

1. IN(입력) 방향 ACL

📌 설명

  • 라우터의 인터페이스로 들어오는 트래픽을 필터링
  • 즉, 패킷이 라우터에 도달하기 전에 먼저 검사하고 차단할 수 있음
  • 출발지에 가까운 인터페이스에 설정하는 것이 일반적

🔧 예제

R1(config)# access-list 120 deny icmp 10.1.1.0 0.0.0.127 10.1.1.192 0.0.0.31
R1(config)# access-list 120 permit ip any any
R1(config)# interface f1/0
R1(config-if)# ip access-group 120 in

🟠 2. OUT(출력) 방향 ACL

📌 설명

  • 라우터의 인터페이스에서 나가는 트래픽을 필터링
  • 즉, 패킷이 라우터를 나가기 전에 검사하고 차단
  • 목적지에 가까운 인터페이스에서 적용하는 것이 일반적

🔧 예제

PC1(10.1.1.0/25)에서 PC3(10.1.1.192/27)로 가는 HTTP(포트 80) 요청을 차단

R1(config)# access-list 130 deny tcp 10.1.1.0 0.0.0.127 10.1.1.192 0.0.0.31 eq 80
R1(config)# access-list 130 permit ip any any
R1(config)# interface f1/0
R1(config-if)# ip access-group 130 out

1️⃣ Standard ACL(표준 ACL)

특징

  • 출발지(Source) IP 주소만 필터링 가능
  • 프로토콜(TCP, UDP 등)이나 포트 번호를 기반으로 제어할 수 없음
  • 보통 라우터의 가까운 목적지 인터페이스(outbound)에 적용
  • 출발지 주소로의 PC1(10.1.1.0/25) 모든 네트워크로의 통신 차

 

2️⃣ Extended ACL(확장 ACL)

특징

  • 출발지(Source) 및 목적지(Destination) IP를 모두 필터링 가능
  • 프로토콜(TCP, UDP, ICMP 등)과 포트(HTTP, SSH 등)를 지정하여 세밀한 제어 가능
  • 보통 트래픽의 출발지에 가까운 인터페이스(inbound)에 적용
  • PC1(10.1.1.0/25)에서 PC3(10.1.1.192/27)로의 HTTP(포트 80) 트래픽 차단

3. ACL 적용 방법

ACL을 설정하는 목적은 다양한데, 예를 들어 PC1이 특정 네트워크에 대한 접근을 제한하거나, PC4에서 외부로 나가는 트래픽을 차단하는 것과 같은 정책을 적용할 수 있다.
아래는 주요 ACL 설정 예제이다.

예제 1: PC1(10.1.1.0/25)에서 PC3(10.1.1.192/27) 접근 차단

R1(config)# access-list 100 deny ip 10.1.1.0 0.0.0.127 10.1.1.192 0.0.0.31
R1(config)# access-list 100 permit ip any any
R1(config)# interface f1/0 R1(config-if)# ip access-group 100 out

설명:

  • ACL 100을 생성하여 10.1.1.010.1.1.127 범위에서 10.1.1.192 10.1.1.223으로의 트래픽을 차단.
  • 다른 모든 트래픽을 허용하기 위해 permit ip any any 추가.
  • 패킷이 라우터를 나갈 때 적용되도록 인터페이스 f1/0의 outbound 방향으로 설정.

예제 2: PC4(10.1.1.224/28)가 외부로 나가는 모든 트래픽 차단

 
R2(config)# access-list 110 deny ip 10.1.1.224 0.0.0.15 any
R2(config)# interface f0/1
R2(config-if)# ip access-group 110 in

설명:

  • ACL 110을 생성하여 10.1.1.224~10.1.1.239 범위에서 외부로 나가는 모든 트래픽을 차단.
  • interface f0/1에서 inbound 방향으로 ACL을 적용하여 패킷이 라우터에 들어오는 즉시 차단.

4. ACL 적용 시 고려해야 할 사항

  1. ACL의 순서가 중요
    • ACL은 위에서 아래로 순차적으로 검토되므로, 더 구체적인 규칙을 먼저 배치해야 한다.
    • 예를 들어, deny 규칙이 먼저 오고 그다음 permit 규칙을 설정해야 한다.
  2. 기본적으로 ACL의 마지막 규칙은 암시적인 deny all
    • ACL을 설정할 때 명시적으로 허용하지 않은 모든 트래픽은 자동으로 차단된다.
  3. Inbound vs Outbound 방향 설정
    • Inbound: 인터페이스를 통해 들어오는 트래픽을 필터링.
    • Outbound: 인터페이스를 통해 나가는 트래픽을 필터링.

5. 결론

ACL은 네트워크 트래픽을 제어하고 보안을 강화하는 강력한 도구이다. 본 네트워크 구성에서 ACL을 활용하여 특정 네트워크 간의 접근을 차단하거나, 외부로 나가는 트래픽을 제한할 수 있다.
실제 환경에서는 **필요한 트래픽만 허용하는 최소 권한의 보안 정책(Principle of Least Privilege, POLP)**을 준수하는 것이 중요하다.

✅ 실습

   10.1.1.0 네트워크을 출발지로 하고 10.1.1.224 네트워크를 목적지로 할 때 해당 주소만 통신이 가능하도록 하여라