ACL

원래벌레·2022년 12월 7일
2

🌞 Access Control Lists

  • 특정 트래픽의 접근을 허용할지 차단할지 결정하는 리스트이다. = 필터링

  • 보안을 위해서 많이 사용한다.

  • L3 장비인 라우터에서 설정하지만 7계층 부분도 관리하기 때문에 3계층까지라고 단정할 수 없다.

  • 하지만 7계층까지 완벽히 막을 수 없기 때문에 방화벽등의 전문적인 보안 장비를 사용한다.

🌻 ACL의 종류 : Numbered, Named

🌱 Standard Access list

source address만 참조해서 필터링 여부를 결정한다.

🌱 Extended Access list

source address외에도 destination address, protocol, port번호 등 좀 더 자세한 정보를 참조해서 필터링 여부를 결정한다.

🌞 Standard ACL ( 1~99 )

  • Standard ACL의 경우는 출발지 주소(source address)를 보고 필터링 여부를 결정한다.

  • 패킷의 source address와 ACL에 정의된 source address가 일치하면 ACL의 내용을 수행한다.

  • permit이면 패킷을 정해진 경로로 전송하고 deny면 패킷의 흐름을 차단한다.

  • standard ACL의 사용 list-number는 1~99까지를 사용한다.

🌱 Standard ACL 설정

R1(config)# access-list <list-number> {permit|deny} source [mask]
						------1------ -----2------  --3--- --4--
  1. list-number는 1~99까지의 번호를 사용한다. (1~99까지가 standard ACL의 번호이다.)
  2. 아래 3번 조건에 맞는 패킷을 permit 할지 deny할지 결정한다.
  3. 조건을 넣는다. standard ACL의 조건은 source address, 만약 source address를 넣지 않고 any라고 입력하면 특정한 하나의 출발지 주소가 아닌 모든 주소에 2번에서 정의한 수행 내용을 적용한다.

"인터페이스 적용"
R1(config)# interface serial 0/0
R1(config)# ip access-group <access-list-number> {in | out}
                            ---------1---------  ----2----
  1. 앞에서 정의한 ACL을 불러와서 필터링 내용을 인터페이스에 적용한다.
  2. inbound와 outbount를 설정한다.
    in은 라우터의 인터페이스로 패킷이 들어오는 경우이다.
    out은 패킷이 라우터의 인터페이스에서 나가는 경우이다.

* standar ACL은 항상 destination 라우터 쪽에 설정되어야 한다. 중간 라우터에 설정하면 다른 라우터들까지 ACL의 영향을 받아서 정상적으로 패킷 전송이 이루어지지 않을 수 있다.

🌼 ACL의 동작방식

🌱 inbound 설정

패킷이 라우터 내부로 들어올 때 필터링 여부를 결정한다.

라우터 인터페이스로 패킷이 들어올 경우 수신 인터페이스에 ACL이 설정되어 있는지 확인하고 설정이 되어있지 않으면 그냥 통과한다.

만약 ACL이 설정돼 있다면 들어온 패킷의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정한다.

🌱 outbound 설정

패킷이 라우터 외부로 나갈 때 필터링 여부를 결정한다.

라우터 인터페이스에서 패킷이 나갈 경우 인터페이스에 ACL이 설정되어 있는지 확인하고 설정이 돼있지 않으면 그냥 보낸다.

만약 ACL이 설정돼 있다면 나가는 패킷의 정보와 ACL에 설정 내용을 비교해서 통과 여부를 결정한다.

🌱 ACL 규칙

  1. ACL은 윗줄부터 순서대로 수행한다. 때문에 ACL은 좁은 번위 설정이 먼저 돼야 한다.
    만약 다음처럼 넓은 범위를 먼저 설정하게 되면 모든 패킷이 허용된다.
R1(config)# access-list 1 permit any
Ri(config)# access-list 1 deny 125.101.1.0 0.0.0.255
  1. ACL의 마지막은 deny any가 생략되어 있다. 즉 마지막에 permit any가 없을 경우 ACL 조건에 없는 모든 address는 deny된다.

  2. numbered ACL은 순서대로 입력되기 때문에 중간 삽입이나 중간 삭제가 불가능하다. -> 즉, 새로 추가하는 모든 조건은 마지막에 더해진다.

🌞 Extended ACL( 100~199 )

  • standard ACL은 source address만 조건으로 보고 필터링을 수행한다.
    하지만 extended ACL은 출발지와 목적지주소 모두를 조건으로 보고 제어한다.

  • 또한 standard ACL은 TCP/IP에 대해 제어만을 하지만 extended ACL은 ip, tcp, udp, icmp등의 상세 프로토콜을 선택해서 설정할 수 있다.

  • extended ACL의 사용 list-number는 100~199까지 사용한다.

🌱 Extended ACL 설정

R1(config)# access-list <list-number> {permit|deny} <protocol>
                        ------1------ ------2-----  ----3----
source [mask] destination [mask] [operator port]
-----4------  ---------5-------- ------6--------
  1. list-number는 100~199까지의 번호를 사용한다. (100~199까지가 extended ACL의 번호이다.)

  2. 조건에 맞는 트래픽을 permit할지 deny할지 결정한다.

  3. 필터링을 할 프로토콜을 정의한다.(TCP,UDP,IP)등

  4. source address를 지정한다.

  5. destination address를 지정한다.

  6. 목적지 TCP/UDP 포트 이름 및 번호를 지정한다.

"인터페이스 적용"
R1(config)# interface serial 0/0
R1(config-if)# ip access-group <access-list-number> {in | out}
profile
학습한 내용을 담은 블로그 입니다.

0개의 댓글

관련 채용 정보