ACL이란?

YOBY·2023년 11월 28일
0

ACL(Access Control List)이란?

  • 컴퓨터 보안에서 액세스 제어 목록(ACL)은 시스템 리소스와 관련된 권한 목록이고, 방화벽을 구축하는 데 있어서 가장 중요한 요소이며 트래픽 필터링(Traffic Filtering)의 기능을 합니다.

  • 허가(Permit)되지 않은 이용자가 라우터나 네트워크에 접근하려고 하는 것을 차단하고 출발지 주소(Source address), 목적지 주소(Destination address), 포트 번호(Port number), 프로토콜(Protocol)로 특정 패킷을 필터링할 수 있고 허가 및 거부할 수 있습니다.


ACL(Access Control List)의 기능

  1. 특정 사용자의 접근을 제한하고자 하는 경우
  • 수신한 패킷의 출발지 주소를 확인하여 네트워크에 접근할 수 있는 사용자와 그렇지 않은 사용자의 구분을 해주기 위해서 사용한다.
  1. 특정 서비스의 이용을 제한하고자 하는 경우
  • Web 서비스를 막거나 Telnet의 사용을 제한하는 등, 네트워크 별로 제한하고자 하는 프로토콜의 종류를 표시하여 통신 패킷을 필터링할 수 있다.
  1. 라우팅 경로의 조정이 필요한 경우
  • Dynamic 방식을 사용하여 라우팅을 한 경우, 관리자가 원하는 대로 경로 조정이 되지 않은 경우에는 Access-list를 사용하여 추가적인 조정이 가능하다.


ACL(Access Control List) 타입

  1. Standard : 출발지만 확인하는 기본 ACL
  • 수신한 패킷의 내용 중 출발지 주소만 확인하여 필터링하는 방식
  • 서비스나 특정 트래픽의 구분 없이 필터링하는 경우에 사용한다.
  • 특정 네트워크의 범위를 지정하여 Object로 사용할 경우에도 쓰인다.
  1. Extended : 여러 옵션을 확인하는 확장 ACL
  • 출발지 / 목적지 주소, 프로토콜과 포트번호까지 확인하여 필터링하는 방식
  • 특정 서비스나 트래픽의 구분을 통해 좀 더 상세한 필터링을 할 수 있다.


Access List Making type

  1. Numberic : 숫자를 사용하여 ACL 생성
  • 리스트 번호를 지정하여 해당 액세스 리스트가 어떤 타입인지 결정
  • Standard 방식의 경우, 기본: 1~99, 확장: 1300~1699를 사용
  • Extended 방식의 경우, 기본: 100~199, 확장: 2000~2699를 사용
    Ex) access-list 10 permit host 10.10.10.10
    -> '10'번을 사용하여 Standard 타입인 것을 알 수 있다.
  1. Named : 문자를 사용하여 ACL 생성
  • 각 Access List에 고유한 이름을 지정
  • List 생성 시 Standard, Extended 방식 중에 하나를 선택해 사용
    Ex) ip access-list standard test
    -> 'standard test'인 것을 보고 Standard 타입이면서 test라는 Named 형식인 것을 알 수 있다.


ACL 정책(Access-list policy)

  • 패킷 필터링 시 Access-list의 정책의 위에서(우선순위가 높은)부터 비교를 하며, 패킷의 내용과 부합하는 정책이 발견되면 해당 정책에 의해 처리된다.
  • ACL의 마지막 줄에는 모든 대상에 대한 차단(Deny) 정책이 기본적으로 생성되며, 그 어떠한 정책에도 부합하지 않는 패킷은 이 차단 정책에 의해 필터링된다.

Policy는 좁은 범위를 먼저 지정해주고 가장 상단에 위치한 정책이 우선순위가 높은 정책이 오고, 모든 대상에 대한 차단 정책이 Default로 설정되어 있다.



Access-list policy on interface

  • Inbound는 패킷이 유입될 때 필터링하는 방식이다.
  • Outbound는 패킷이 빠져나갈 때 필터링하는 방식이다.
  • 포트에 정책 적용 시 Inbound와 Outbound의 방향은 라우터의 관점에서 따지게 된다.


와일드카드 마스크(Wildcard-mask) 특징

  • 와일드카드 마스크를 사용하면 원하는 특정 IP의 주소 혹은 네트워크 범위를 지정할 수 있다.
  • 2진수 0과 1을 사용하여 표시하며, 고정(Match)시킬 특정 bit를 검사하기 위해 0을 사용한다.
  • 예를 들어, 1.1.1.0/24 범위의 주소만 허용하고자 할 경우 반드시 매칭 되어야 할 첫 번째 옥텟부터 세 번째 옥텟까지 24bit를 0으로 표시하여 고정하고 나머지는 1을 사용하여 표시한다.
    -> 따라서 1.1.1.0/24를 표현하기 위해 사용될 와일드카드 마스크는 0.0.0.255가 된다.

와일드카드 마스크로 IP 지정하는 방식

  • IP address 뒤에 이어서 적어준다.
  • Usage: IP-address Wildcard-mask

특정 호스트 IP 하나를 지정 (모든 bit를 검사)

  • 32bit를 모두 검사하여 지정한 특정 호스트의 IP가 맞는지 확인하는 방식으로 모든 bit를 0으로 표시해준다.
  • Ex) 192.168.2.2 0.0.0.0

특정 네트워크 주소 범위를 지정

  • 네트워크 범위를 지정하기 위해 Net-ID로 사용된 부분을 고정하는 0으로 표시하고, 어떤 값이 와도 상관없는 Host-ID는 1로 표시한다.
  • Ex) 172.16.0.0/16 >> 172.16.0.0 0.0.255.255

모든 IP를 지정 (모든 bit를 무시)

  • 모든 주소(All IP address)라는 뜻으로 사용하기 위해 모든 bit를 1로 표시한다.
  • Ex) 0.0.0.0 255.255.255.255

0개의 댓글