Study/Network

[Network]ACL(Access Control List)

seomj 2023. 5. 25. 00:24

Access Control List

라우터 등의 장비에서 '패킷 필터링', '패킷 분류'를 결정짓는 일련의 규칙(Rules) 목록

번호나 이름으로 정책을 생성하고 생성된 정책을 이용하여 트래픽을 분류, 필터링 할 수 있는 기술

일반적으로 L3, L4를 담당

AWS에서는 subnet과 subnet 사이에서 네트워크 트래픽을 필터링

 

사용 목적

  • 트래픽 제어
  • 보안 - router, firewall
  • 패킷 식별

 

기본 규칙

1. Top-Down 방식이므로 순서가 매우 중요하다.

예) 외부에서 유입되는 트래픽을 1.1.1.1이 유해 트래픽을 보내고 있다. 이를 차단하고 나머지 모든 IP의 접근을 허용한다.

access-list deny host 1.1.1.1

access-list permit any 

 

2. 각 ACL의 가장 아래에는 '모두 차단된다'가 생략되어 있다.

예) 외부에서 유입되는 트래픽 중 2.2.2.2의 접근을 차단하라.

access-list 1 deny 2.2.2.2

access-list 1 permit any

access-list 1 deny any (생략되어 있음)

 

3. 작성된 ACL은 인터페이스, NAT, virtual terminal 등에 적용해 주어야 활성화된다.

access-list 1 permit host 2.2.2.2

access-list 1 permit host 3.3.3.3

int f0/1

ip access-group 1 in

*인터페이스에 적용할 경우 inbound, outbound 별로 각각 1개의 acl group을 적용할 수 있다.

 

 

종류

standard acl

패킷의 출발지 IP 주소만을 보고 필터링

번호를 사용한다면 일반적으로 1~99 사용

 

access-list 1 permit 192.168.1.0 0.0.0.255

  • 1.0 ~ 1.255
  • 0.0.0.255: 와일드 카드

 

access-list 1 permit 1.1.1.1 0.0.0.0

  • 하나만 지정
  • 1.1.1.1만 허용
  • = access-list 1 permit 1.1.1.1

 

access-list 1 deny 0.0.0.0 255.255.255.255

  • 0.0.0.0 ~ 255.255.255.255
  • = access-list 1 deny any

 

 

extended acl

패킷의 출발지/목적지 L3, L4를 모두 볼 수 있다

기능을 확장하여 데이터 부분(str)까지 확인할 수 있다

번호를 사용한다면 일반적으로 100~199 사용

 

access-list 111 permit tcp any host 2.2.2.2 eq 80

  • permit tcp - L3, L4 모두 확인
  • any - 출발지 IP
  • 2.2.2.2 - 목적지 IP
  • eq 80 - 포트 80

 

access-list 111 permit ip any host 3.3.3.3

  • permit ip - L3, ip만 확인

 

access-list 111 deny icmp any host 4.4.4.4 echo

  • any가 4.4.4.4 에게 echo를 보냄

 

 

실습

시나리오1

우리는 BR1의 네트워크 단위 보안설정을 하고자 한다.

외부에 있는 모든 사용자들은 192.168.2.200으로 웹 접속할 수 있다.

하지만 그 외 나머지 모든 192.168.2.200으로의 접속은 불가하다.

또한 192.168.2.200을 제외한 나머지 모든 서버로의 접속은 모두 허용된다.

이를 만족하는 ACL을 작성하고 이를 적용해보자.

적용은 f0/0에 한다.

access-list 111 permit tcp any host 192.168.2.200 eq 80
access-list 111 deny ip any host 192.168.2.200
access-list 111 permit ip any 192.168.2.0 0.0.0.255

 

시나리오2

우리는 HQ 보안관리자이다.

192.168.1.0/24 네트워크에 있는 모든 서버들은 오직 ssh 접속만을 허용한다.

하지만 192.168.1.200만은 모든 트래픽을 허용할 계획이다.

이를 완성하시오!

단, 해당 ACL은 f1/1에 적용한다.

access-list 110 permit ip any host 192.168.1.200
access-list 110 permit tcp any any eq 22

int f1/1
ip access-group 110 out

 

 

 

<참고>

http://www.ktword.co.kr/test/view/view.php?m_temp1=2479 

https://peemangit.tistory.com/33

https://eveningdev.tistory.com/65