'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

1. 위의 그림과 같이 셋팅 후 모든 라우터들이 통신이 된 상태

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에서 오는 핑
!!!!!

2008/07/16 10:11 2008/07/16 10:11
Name
Password
Homepage
Secret