본문 바로가기

네트워크

패킷 트레이서 ACL(Access Control List)

반응형

ி 개요


ACL은 네트워크 접근권한을 설정하는 필터링목록이다.
라우터의 인터페이스를 통해 통신되는 패킷을 제어할 수 있다.



ி 구분


ACL은 크게 두 종류로 Numbered,Named로 나뉜다.
각각에는 Standard와 extended가 있다.

Numbered


Standard
출발지 주소만 제어한다.
ACL Number(규칙 번호)는 1~99까지 사용한다.
중간 라우터에 설정하면 다른 라우터들까지 ACL의 영향을 받아서 패킷 전송이 원할하지 못할 수 있으므로,
Standard는 목적지 라우터 쪽에 설정되어야 한다.

Extended
출발지 & 목적지 및 포트 번호 등을 제어한다.
ACL Number는 100~199까지 사용한다.
Protocol Keyword로는 ip, icmp, udp, tcp, tgrp, eigrp, ospf, nos등이 있으며 0~255 까지 
      이용한다.

Named(Standard + Extended)


사람이 알아먹기 힘든 ACL Number 대신에 이름을 넣어 규칙을 지정할 수 있다.
마치 ip 대신에 DNS를 쓰는 것이랑 같다.



ி 규칙


방화벽과 마찬가지로 맨 위에서부터 아래로 규칙이 적용된다.
ACL의 마지막에는 거부룰이 있는데 생략되어 있다.
따라서 마지막에 허용룰이 없을 경우 모든 패킷은 차단된다.
ACL이 비어있으면 인터페이스는 허용룰로 적용된다.
Numbered ACL은 중간에 룰 삽입이나 수정이 안되므로, 실수하면 초기 세팅부터 다시 해야한다.


ி 동작 방식


inbound


라우터 내부로 패킷이 들어올 때 필터링 규칙을 적용한다.
➽ 패킷 유입 > ACL 확인 > 필터링 > 허용(라우팅) - 거부(패킷폐기)

outbound


라우터 외부로 패킷이 나갈 때 필터링 규칙을 적용한다.
➽ 패킷 송신 > 라우팅 테이블 확인 > ACL 확인 > 필터링 > 허용(라우팅) - 거부(패킷폐기)



ி 명령어


Standard ACL


access-list [access-list-number] {permit | deny} [source address wildmask | any]

규칙번호(1-99)
패킷을 허용할지 드롭할지 결정한다.
출발지 주소 및 와일드 마스크를 적는다. (Any는 모두 적용)

Extended ACL


access-list [access-list-number] {permit | deny} [protocol] [source address wildmask] [Detination wildmask] [portNumber]

규칙번호(100-199)
동일
프로토콜
동일
목적지 주소 및 와일드 마스크를 적는다. (Any는 모두 적용)
포트 이름 또는 번호 지정

Named ACL


R1(config)# ip access-list [standard | extended ] [text-name]
R1(config-std-nacl)# {permit | deny} ... standard 또는 Extended 유형에 맞게 지정
R1(config-std-nacl)# exit


ACL 적용


인터페이스 선택 - R1(config)# interface [interface name]
적용 - R1(config-if)# ip access-group [list-number | text-name] [in | out]


ி 실습



실습 환경 구성



Standard ACL


R1에서 출발지가 192.168.20.0/24인 트래픽만 접근을 차단한다.
R1(config)# access-list 1 deny 192.168.20.0 0.0.0.255
R1(config)# access-list 1 permit any
R1(config)# interface serial 1/0
R1(config-if)# ip access-group 1 in

R1에서 출발지가 192.168.10.1/32인 트래픽만 serial 1/0으로 나가도록 허용한다.
R1(config)# access-list 1 permit 192.168.10.1 0.0.0.0
R1(config)# interface Serial 1/0
R1(config)# ip access-group 1 out

Extended ACL


R2에 있는 내부 네트워크(192.168.20.0/24)에는 외부 유입 트래픽 중에
출발지 주소가 192.168.10.0/24이고 목적지 주소가 192.168.20.2/32인 트래픽만 접속이 가능하도록 허용한다.


R2(config)# access-list 101 permit ip 192.168.10.0 0.0.0.255 host 192.168.20.2
R2(config)# interface fa 0/0
R2(config-if)# ip access-group 101 out
➽ R2의 serial 1/0 에 적용하면 나머지 트래픽이 지나갈 수 없기 때문에 fa0/0에서 outbound 형식으로 설정한다.

R1에서 외부로 나가는 트래픽 중 목적지 주소가 192.168.30.0/24인 트래픽만 차단하고 나머지는 허용한다.
R1(config)# access-list 101 deny ip any 192.168.30.0 0.0.0.255
R1(config)# access-list 101 permit ip any any
R1(config)# interface serial 1/0
R1(config-if)# ip access-group 101 out
➽ R1에 다른 인터페이스에 네트워크가 추가될 수 있으니 타이핑 소요를 줄이기 위해 serial에서 outbound로 설정했음.

R2에 있는 내부 네트워크(192.168.20.0/24)에서 외부로 나가는 트래픽 중에 FTP(20,21), TFTP(69), HTTP(80)만 차단하고 나머지 트래픽은 허용한다.
R2(config)#access-list 101 deny tcp 192.168.20.0 0.0.0.255 any eq 20
R2(config)#access-list 101 deny tcp 192.168.20.0 0.0.0.255 any eq 21
R2(config)#access-list 101 deny udp 192.168.20.0 0.0.0.255 any eq 69
R2(config)#access-list 101 deny tcp 192.168.20.0 0.0.0.255 any eq 80
R2(config)#access-list 101 permit ip any any
R2(config)#interface fastethernet 0/0
R2(config-if)#ip access-group 101 in

➽ serial 1/0에서 outbound로 설정할 수도 있지만 나중에 R1의 다른 인터페이스에 FTP, TFTP, HTTP 서버가 추가될 수도 있으니 아예 fa 0/0에 inbound로 설정함.


Named ACL


출발지가 192.168.30.1/32인 패킷을 R1에 들어오지 못하게 차단한다.
R1(config)#ip access-list standard MyDeny_Rule_192
R1(config-std-nacl)#deny 192.168.30.1
R1(config-std-nacl)#permit any
R1(config-std-nacl)#exit
R1(confing)#interface serial 1/0
R1(config-if)#ip access-group MyDeny_Rule_192 in





➽ 자료 참고





반응형

'네트워크' 카테고리의 다른 글

ipsec(Internet Protocol Security)  (0) 2019.09.30
네트워크 방화벽(Firewall)  (0) 2019.09.25
윈도우에 snort 설치 및 룰 추가  (3) 2019.09.19
와이어샤크 주요 기능  (0) 2019.09.02
VMware 네트워크 구조  (0) 2019.06.09