액세스 컨트롤 리스트(ACL)란 무엇인가?
액세스 컨트롤 리스트(Access Control List, ACL)는 네트워크 보안 환경에서 트래픽을 필터링하기 위해 사용되는 규칙(rule)의 집합을 의미합니다. 디렉터리나 파일과 같은 특정 시스템 객체에 접근 권한이 부여된 사용자는 해당 객체에 접근할 수 있으며, 승인되지 않은 사용자의 접근은 자동으로 거부됩니다.
컴퓨터 보안 분야에서 ACL은 시스템 리소스(객체)에 할당된 권한 목록이기도 합니다. ACL을 생성하면 특정 객체에 대해 어떤 작업이 수행될 수 있는지, 그리고 어떤 사용자가 접근할 수 있는지를 명확하게 지정할 수 있습니다.
ACL이 네트워크 보안을 향상시키는 원리
네트워크에서 ACL은 패킷 필터(packet filter) 역할을 수행합니다. 출발지 또는 목적지 IP 주소, 프로토콜, 소켓(포트) 번호와 같은 IP 헤더 정보를 기준으로 트래픽을 허용하거나 차단함으로써 보안을 확보합니다.
특히 패킷 필터링 방화벽은 ACL을 활용하여 정보에 대한 접근을 제어합니다. ACL을 통해 단일 IP 주소나 IP 주소 그룹, 그리고 TCP, UDP, ICMP 등 다양한 프로토콜별로 패킷 흐름을 세밀하게 통제할 수 있습니다.
ACL의 주요 유형: 표준 ACL과 확장 ACL
표준 액세스 리스트(Standard ACL)
표준 ACL은 출발지 IP 주소만을 기준으로 트래픽을 필터링합니다. 설정이 간단하지만 필터링 기준이 제한적이므로, 배치 위치를 신중하게 선택해야 합니다.
확장 액세스 리스트(Extended ACL)
확장 ACL은 출발지·목적지 IP 주소뿐 아니라 포트 번호와 프로토콜(IP, TCP, UDP 등)까지 기준으로 삼아 훨씬 정교한 필터링이 가능합니다. 호스트 이름이나 IP 주소를 기준으로 트래픽을 걸러낼 수도 있습니다. 확장 ACL의 번호 범위는 100~199이며, 확장 범위로는 2000~2699가 사용됩니다.
확장 ACL 배치 가이드라인
확장 ACL은 가능한 한 트래픽이 발생하는 지점(소스)에 가장 가까운 라우터에 배치해야 합니다. 이렇게 하면 불필요한 트래픽이 네트워크를 따라 이동하기 전에 조기에 차단할 수 있으며, 출발지·목적지 IP 주소, 프로토콜, 포트 번호 등 다양한 조건으로 필터링할 수 있습니다.
반면 표준 ACL은 목적지에 최대한 가깝게 배치하는 것이 일반적인 지침입니다. 표준 ACL이 출발지 근처에 위치하면 폐기(discard)하려 하지 않았던 패킷까지 처리 대상이 되어 의도치 않은 통신 차단이 발생할 수 있기 때문입니다.
ACL 사용의 주요 이점
- 인터넷에 연결된 서버에 대한 보호 수준 향상
- 네트워크 진입점에 대한 더 엄격한 통제
- 내부 네트워크의 정교한 관리와 네트워크 간 원활한 트래픽 흐름
- 사용자 및 그룹 권한의 정밀한 제어
파일 시스템 ACL과 네트워크 ACL의 차이
ACL은 크게 두 가지 유형으로 구분됩니다. 첫째, 파일 시스템 ACL은 파일 접근을 제한하며, 운영체제는 이를 통해 어떤 사용자가 시스템에 접근할 수 있는지, 그리고 누구에게 권한을 부여할 수 있는지를 판단합니다. 둘째, 네트워크 ACL은 방화벽이나 두 인트라넷을 연결하는 라우터에 탑재되어 네트워크 트래픽을 제어합니다.
네트워킹에서 ACL을 사용하는 이유
ACL은 네트워크 트래픽을 제어하고 네트워크에 대한 공격을 줄이기 위해 사용됩니다. 들어오고 나가는 트래픽에 대한 규칙을 정의함으로써 네트워크가 트래픽을 효율적으로 필터링할 수 있습니다. 또한 라우팅 업데이트를 관리하고 피어(peer)로부터의 업데이트를 제한하여 트래픽 흐름을 조절하는 용도로도 활용됩니다.
결론
요약하면, 네트워크에서 ACL은 패킷 필터로 작동하여 특정 영역의 트래픽을 허용, 제한 또는 거부함으로써 보안을 보장합니다. IP 헤더 정보를 기반으로 트래픽을 규칙에 따라 정의하고 필터링하는 ACL은 현대 네트워크 보안의 핵심 도구이며, 표준 ACL과 확장 ACL의 특성과 배치 원칙을 올바르게 이해하고 적용하는 것이 안전한 네트워크 운영의 첫걸음입니다.