'ACL'에 해당되는 글 1건
라우터 실습 #4 :: 2008/07/16 10:11
# ACL(Access Control List)
1. 사용 용도
- 네트워크 정의, 트래픽 정의
- 트래픽 필터링(허용/차단)
2. ACL 유형
1) IP 필터링
- Standard ACL : 1~99 항목 번호 사용
- Extended ACL : 100~199 항목 번호 사용
- Named ACL : TEXT 항목 사용
2) MAC 필터링
- Standard ACL : 700 ~ 799
- Extended ACL : 1100-1199
3. ACL 사용 방법
- 출발 네트워크 정의(Extended ACL은 목적지 네트워크도 정의)
- 출발지/목적지 네트워크 정의를 할때 와일드카드 마스크를 사용한다. Ex) 192.168.1.0 0.0.0.255
- 만약, 출발지/목적지 네트워크가 전체 네트워크라면 'any' 키워드를 사용한다. Ex) 0.0.0.0 255.255.255.255 <- any
- 만약, 출발지/목적지 네트워크가 특정 호스트라면 'host' 키워드와 IP 주소를 사용한다. Ex) 192.168.1.13 0.0.0.0 <- host 192.168.1.13
- 'permit' 키워드를 이용하여 트래픽을 허용하고, 'deny' 키워드를 이용하여 트래픽을 차단하다.
- 트래픽 필터링 인터페이스 인바운드(in)/아웃바운드(out)를 적용해야 한다.
- 인바운드(in)란 트래픽이 들어오는 방향이며, 아웃바운드(out)는 트래픽이 나가는 방향이다.(Default: OutBound)
4. ACL 사용시 주의 사항
- ACL 검사 순서는 위에서부터 아래로 진행되면서 조건에 만족되는 항목은 동작을 실시한다.
- 그렇기 때문에 범위가 작은 네트워크/호스트부터 정의해야한다.
- 자주 사용하는 항목부터 정의해야한다.
- 추가되는 설정은 ACL 항목 뒤에서부터 추가된다.
- 마지막에 명시하지 않는 이상 전체 차단인 'deny any'가 실시된다.
- 그렇기 때문에 경우에 따라 전체 허용인 'permit any'가 필요하다.
- 부분 추가/부분 삭제/부분 수정이 불가능하다.
- 선작업 후설정 권장, TFTP 서버 이용
5. ACL 문법
1) Standard ACL : 출발지 네트워크만 정의
access-list [1~99]{permit|deny} 출발지 네트워크 와일드카드 마스크 [log]
- access-list : ACL 구문
- [1~99] : Standard ACL을 표기
- {permit|deny} : 허용/차단
- 출발지 네트워크 : 접근하는 네트워크 트래픽(Source Network)
- 와일드카드 마스크 : 서브넷 마스크 반대
- [log] : 옵션 키워드, ACL 항목이 일치하여 동작하면 로그 메세지를 출력한다.
Ex1)
인터넷
|
|
|
[s1/0] 192.168.1.0/24
A---------------------[fa0/0]R1[fa0/1]------------B------------C
192.168.1.1/24 192.168.1.2/24
- R1은 출발지 네트워크가 192.168.1.1인 트래픽이 로컬 네트워크 A로 접근하는 것을 차단하고, 나머지는 허용한다.
단, 192.168.1.1은 인터넷이 되어야한다.
access-list 33 deny host 192.168.1.1
access-list 33 permit any
!
interface fa0/0
ip access-group 33 out
!
Ex2)
인터넷
|
|
|
[s1/0] 192.168.1.0/24
A---------------------[fa0/0]R1[fa0/1]-------B---------------C
172.16.1.0/24 [fa0/2] 192.168.1.1/24 192.168.1.2/24
|
|
|
|
E
172.16.2.0/24
- A는 인터넷이 불가능하며, 오로지 B,C,E로만 접근이 가능하다.
- B는 A로 접근이 불가능하며, 인터넷만은 가능해야한다.
- E는 인터넷이 불가능하며, 오로지 A로만 접근이 가능하다.
access-list 13 deny 172.16.1.0 0.0.0.255
access-list 13 deny 172.16.2.0 0.0.0.255
access-list 13 permit any
!
int s 1/0
ip access-group 13 out
!
access-list 14 deny host 192.168.1.1
access-list 14 permit any
!
int fa0/0
ip access-group 14 out
!
access-list 15 deny 172.16.2.0 0.0.0.255
access-list 15 permit any
!
int fa0/1
ip access-group 14 out
!
2) Extended ACL
- 출발지/목적지 네트워크 정의
- 어플리케이션 프로토콜 정의(IP, TCP, UDP, ICMP, OSPF, EIGRP, IGRP, IGMP, GRE)
- 출발지/목저지 네트워크에 대한 어플리케이션 포트 번호
- 옵션 : QoS, TCP 세션관련, Time-Range, Log
access-list [100~199]{permit|deny} [어플리케이션 프로토콜 타입]
출발지 네트워크 와일드 카드 마스크 {포트}
목적지 네트워크 와일드 카드 마스크 {포트}
[옵션]
Ex1)
외부
|
|
|
[s1/0] 192.168.1.0/24
A---------------------[fa0/0]R1[fa0/1]---------웹서버----------파일서버
172.16.1.0/24 192.168.1.1/24 192.168.1.2/24
1) R1은 출발지 네트워크가 172.16.1.0/24인 트래픽만 웹서버(HTTP)&파일서버(FTP)에 접근을 허용하며, 외부 트래픽은 허용하지 않는다.
access-list 133 permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.1 eq 80 (www)
access-list 133 permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.2 eq 20 (ftp-data)
access-list 133 permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.2 eq 21 (ftp)
!
interface fa0/1
ip access-group 133 out
!
2) R1은 출발지 네트워크가 172.16.1.0/24인 트래픽만 웹서버(HTTP)&파일서버(FTP)에 접근을 차단하며, 나머지 트래픽은 허용한다.
access-list 163 deny tcp 172.16.1.0 0.0.0.255 host 192.168.1.1 eq www
access-list 163 deny tcp 172.16.1.0 0.0.0.255 host 192.168.1.2 range 20 21
access-list 163 permit ip any any
!
interface fa0/0
ip access-group 163 in
!
Ex3)
A---------------------[fa0/0]R1[fa0/1]-----------------B
172.16.1.0/24 192.168.1.0/24
1) A는 출발지 네트워크가 192.168.1.0/24인 ICMP 패켓에 대해서 차단하길 원한다. 단, 나머지는 허용한다.
access-list 143 deny icmp 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255 ehco
access-list 143 permit ip any any
!
3) Named ACL
- ACL 항목을 숫자가 아닌 Text 이름을 이용하여 생성한다.
- Text 이름을 사용하기 때문에 ACL이 많은 환경에서 사용하면 주석처럼 활용이 가능하다.
- 부분 삭제가 가능하다.
- Standard/Extended 지원된다.
Ex1) Standard Named ACL
ip access-list standard NET172
permit 172.16.1.0 0.0.0.255
Ex2) Extended Named ACL
ip access-list extended NET172-to-NET192_HTTP
permit tcp 172.16.1.0 0.0.0.255 host 192.168.1.1 eq www

2. Telnet& ICMP 차단 아래와 같이 실습
### r2 --> r1 http service 필터링 ###
r1#configure t
r1(config)#access-list 100 deny tcp host x.x.12.2 host x.x.12.1 eq www
(= r1(config)#access-list 100 deny tcp x.x.12.2 0.0.0.255 x.x.12.1 0.0.0.255 eq www)
r1(config)#access-list 100 permit ip any any
r1(config)#interface serial 1/0
r1(config-if)#ip access-group 100 in -> 들어오는 것 차단
(주의!! outbound를 지정해줘버리면 R1 단에서 웹을 사용할 수가 없다.)
### r3 --> r1 icmp,telnet service 필터링 ###
r1#configure t
r1(config)#access-list 101 deny tcp host x.x.23.3 host x.x.12.1 eq telnet
r1(config)#access-list 101 deny icmp host x.x.23.3 host x.x.12.1
r1(config)#access-list 101 permit ip any any
r1(config)#interface serial 1/0
r1(config-if)#ip access-group 101 in
r3#ping x.x.12.1
U.U.U
r3#ping x.x.12.1 source fastethernet 0/0 -> 10.10.12.1에서 오는 핑
!!!!!



