본문 바로가기
Technical/Network

ACL (Access Control List)

by 박상준. 2025. 10. 24.

ACL (Access Control List)

  • ACL (Access Control List)은 네트워크 트래픽을 허용(permit) 하거나 차단(deny) 하기 위해 사용하는 규칙의 집합
  • 보통 라우터나 방화벽, L3 스위치에 설정해서 트래픽을 필터링
  • OSI 3계층(L3, IP 주소) 또는 4계층(L4, TCP/UDP 포트) 단위까지 제어 가능

ACL의 종류

  1. 표준 ACL (Standard ACL)
    • 조건 : 출발지(Source) IP 주소만 확인
    • 번호 범위 : 1-99, 1300-1999
    • 단순히 “누가 오는지”만 보고 허용/차단
    • 예) access-list 10 permit 192.168.1.0 0.0.0.255
  2. 확장 ACL (Extended ACL)
    • 조건 : 출발지(Source) + 목적지(Destination) + 프로토콜(TCP, UDP, ICMP 등) + 포트까지 확인
    • 번호 범위 : 100-199, 2000-2699
    • 더 세밀한 제어 가능 → 실무에서 많이 사용
    • 예) access-list 101 deny tcp 192.168.1.0 0.0.0.255 host 10.0.0.1 eq 80
  3. 명명된 ACL (Named ACL)
    • 이름으로 ACL을 정의 → 가독성과 관리성이 좋음
    • 예)
ip access-list extended BLOCK_HTTP
	deny tcp any any eq 80
	permit ip any any

ACL 동작 원리

  • ACL은 위에서 아래로 순차 검사 (Top-Down 방식)
  • 조건을 만족하는 첫 번째 규칙이 실행되면 더 이상 밑으로 내려가지 않음
  • 마지막에 deny all (implicit deny)이 자동으로 적용 → 명시적으로 permit any를 넣어야 하는 이유

ACL 적용 방식

  • Inbound : 인터페이스로 들어오는 패킷에 적용
  • → 불필요한 트래픽을 빨리 걸러낼 수 있음
  • Outbound : 인터페이스에서 나가는 패킷에 적용
  • → 들어온 트래픽 중 특정 조건을 가진 것만 내보냄
  • 적용 예시
interface g0/0
	ip access-group 101 in

실무 활용 예시

1. 내부 직원이 외부 웹사이트 접속 금지

access-list 110 deny tcp 192.168.10.0 0.0.0.255 any eq 80
access-list 110 permit ip any any
interface g0/1
	ip access-group 110 out

→ 내부 직원(192.168.10.0/24) → HTTP(80) 차단

2. 특정 서버로만 SSH 허용

ip access-list extended ALLOW_SSH
	permit tcp 192.168.20.0 0.0.0.255 host 10.0.0.10 eq 22
	deny ip any any

→ 192.168.20.0/24 → 10.0.0.10 서버로만 SSH 접속 허용

ACL설계 시 주의 사항

  • 정확한 위치에 배치
    • 표준 ACL → 목적지 가까이에 두는 게 일반적 (너무 광범위해서)
    • 확장 ACL → 출발지 가까이에 두는게 일반적 (세밀한 필터링)
  • 순서 중요 : 잘못된 순서면 정상적인 트래픽도 차단될 수 있음
  • Implicit deny 주의 : 마지막에 반드시 permit ip any any 넣어주기
  • 로그 : log 옵션을 추가해 트래픽 차단 내역 확인 가능
**정리**

- ACL은 네트워크 트래픽 제어의 가장 기본적인 보안 기능으로 **필터링 규칙을 작성해서 허용/차단을 수행**함.
- 실무에서는 확장 ACL을 주로 쓰며 위치와 순서를 잘못 설정하면 정산 서비스도 막히는 경우가 많아서 신중히 설계해야 함

ACL 실습

  • PC11에서 Server0과 Server1로 Ping이 안되도록 할 것
  • PC12에서 Server0과 Server1로 Ping이 되도록 할 것
  • PC11에서 Server0으로 HTTP 접속은 허용할 것
  • PC11에서 Server1로 HTTP 접속은 막을 것

출처. https://youngsoo.tistory.com/189

!R1
en
 conf t
 access-list 100 permit icmp host 10.1.20.10 10.1.0.0 0.0.255.255
 access-list 100 permit tcp host 10.1.10.10 host 10.1.30.10 eq www
 access-list 100 deny ip any any
 interface f0/0
 ip access-group 100 out

 

통신 확인 (PC11 → Server0, Server1 / PC12 → Server0, Server1)

 

 

ACL 확인

댓글