상세 컨텐츠

본문 제목

어플리케이션 acl과 네트워크 acl 차이는?

IT/네트워크

by JR 2026. 6. 2. 14:25

본문

300x250

 

 

 

 

둘 다 "접근 제어 목록(Access Control List)"이지만, 동작하는 계층판단 기준이 다릅니다.


네트워크 ACL (Network ACL)

 

네트워크 계층(L3/L4)에서 작동합니다. 패킷 단위로 "이 IP/포트는 통과시킬지 말지"를 결정합니다.

 

판단 기준:

  • 출발지/목적지 IP 주소
  • 출발지/목적지 포트 번호
  • 프로토콜 (TCP, UDP, ICMP 등)

예시:

  • AWS의 Network ACL, Security Group
  • 방화벽(iptables, 시스코 라우터 ACL)
  • "10.0.0.0/24 대역에서 들어오는 443 포트만 허용"

특징:

  • 누가 요청했는지는 모릅니다. 그냥 IP와 포트만 봅니다.
  • 사용자가 로그인했는지, 어떤 권한을 가졌는지 알 수 없음
  • 빠르고 가벼움 (헤더만 보면 되니까)

애플리케이션 ACL (Application ACL)

 

애플리케이션 계층(L7)에서 작동합니다. 인증된 사용자/역할/리소스 단위로 "이 사람이 이 기능/데이터에 접근할 수 있는지"를 결정합니다.

 

판단 기준:

  • 사용자 ID, 역할(role), 그룹
  • 접근하려는 리소스 (특정 파일, 게시글, API 엔드포인트)
  • 작업 종류 (읽기, 쓰기, 삭제, 관리)

예시:

  • "관리자만 사용자 삭제 API 호출 가능"
  • "본인이 작성한 게시글만 수정 가능"
  • Spring Security, AWS IAM 정책, 파일 시스템의 rwx 권한
  • Google Drive의 "보기/댓글/편집" 권한

특징:

  • 비즈니스 로직과 밀접하게 연결됨
  • 누가, 무엇을, 어떻게 다루는지를 다 봄
  • 네트워크 계층에서는 절대 알 수 없는 정보 (예: "이 게시글의 작성자가 본인인지")를 판단

핵심 차이를 비유로 건물 보안으로 비유하면:

  • 네트워크 ACL = 건물 입구 경비원. "이 동네 사람만 들어올 수 있어요" (IP 차단). 건물 안에서 뭘 하는지는 신경 안 씀.
  • 애플리케이션 ACL = 사무실 안 문서 캐비닛 잠금장치. "이 서랍은 회계팀만 열 수 있어요" (역할 기반). 건물에 들어온 후의 일을 통제.

둘은 보완 관계 (Defense in Depth)

 

어느 하나만 쓰면 안 됩니다. 같이 써야 안전합니다.

외부 사용자 요청
   ↓
[네트워크 ACL] — IP/포트 차단, DDoS 방어, 허용된 대역만 통과
   ↓
[애플리케이션 ACL] — 로그인 확인, 권한 체크, 리소스 단위 통제
   ↓
   비즈니스 로직 실행

 

네트워크 ACL만 있고 앱 ACL이 없으면 → 내부 직원이 모든 데이터를 다 볼 수 있음.

앱 ACL만 있고 네트워크 ACL이 없으면 → 외부에서 무차별 공격, 취약점 스캔에 그대로 노출.


한 줄 정리

  • 네트워크 ACL: 어디서 왔는지로 거름 (IP/포트)
  • 애플리케이션 ACL: 누가 무엇을 하려는지로 거름 (사용자/역할/리소스)

계층이 다르니 역할도 다르고, 둘 다 있어야 제대로 된 보안이 됩니다.

 

 

 

300x250

관련글 더보기