개요
6. 액세스리스트
1) 액세스 리스트란?
2) 액세스 리스트의 사용 목적
3) 액세스 리스트의 적용 대상
4) 액세스 리스트의 규칙
5) 액세스 리스트의 종류
(1) Standard Access List
(2) Extended Access List
(3) Wildcard Mask
6) 액세스 리스트 관련 명령어
7) 액세스 리스트 사용 방법
8) 액세스 리스트 실습
6. 엑세스리스트(Access List, Access Control List, ACL)
1) 엑세스 리스트란?
- 네트워크의 문지기
- 라우터 등의 장비에서 패킷 필터링, 패킷 분류를 결정짓는 일련의 규칙 목록들
2) 액세스 리스트의 사용 목적
- 트래픽 제어
- 가장 일반적인 용도, 어떤 인터페이스를 통과(in, out)하는 패킷 Traffic을 제어
- 보안용
- 패킷의 식별용 등
- Interface에 적용 -> Access Group
- 이 경우의 Access List는 입력 또는 출력 인터페이스에 적용
- Proticol에 적용 -> Distribute List
- 입력/출력 인터페이스 및 프로토콜 각각에 하나의 ACL만 적용 가능
- access-list는 윗줄부터 하나씩 차례로 수행된다.
- 엑세스 리스트의 맨 마지막에 Line에 "permit any"를 넣지 않을 경우에는 default로,
어느 엑세스 리스트와 match되지 않은 나머지 모든 address는 deny 된다. - 즉, access-list의 맨 마지막 줄에는, default 값으로 deny all (deny any)이 지정되어있는 것으로 간주
- 엑세스 리스트의 새로운 line 은 항상 맨 마지막으로 추가되므로 access-list line의 선택적 추가(selective add)나 제어(remove)가 불가능하다.
- access-list를 수정할 수 없고, 처음 초기 세팅부터 다시 시작해야 함
- Interface에 대한 access list의 정의(define)가 되지 않은 경우
(즉, Interface에 access-group 명령이 들어있지 않은 경우)
결과는 permit any가 된다. - 즉, access list가 정의 되지 않은 interface는 default값으로 permit any가 된다.
5) 엑세스 리스트의 종류
(1) Standard ACL (표준 액세스 리스트)
- 출발지 IP 주소만으로 검사
- IP 주소 및 네트워크 주소로 필터링
- Access-List-Number (표준 ACL 번호)
- 1 ~ 99 또는 1300 ~ 1999 (IP)
- 300 ~ 399 (DECnet),
- 800 ~ 899 (IPX),
- 1000 ~ 1099 (IPX SAP) 등
- 사용문법 : access-list access-list-number {permit | deny} source-address [wildcard-mask]
- 사용예시 : access-list 1 permit 210.130.50.2
- 사용위치 : 최대한 목적지에 가깝게 설정
- Inbound Access List & Outbound Access List
(2) Extended ACL (확장 액세스 리스트)
- 목적지 및 출발지의 주소, 프로토콜, 포트번호 등을 모두 검사 (폭넓은 확장 가능)
- IP 주소 뿐만아니라 TCP 및 UDP의 포트 번호도 검사하여 제어
- ICMP code 및 type 등
- Access-list-number (Extended ACL 번호)
- 100 ~ 199 또는 2000 ~ 2699(IP)
- 900 ~ 999 (IPX) 등
- 사용문법 : access-list access-list-number {permit | deny} protocol source-addess source-wildcard-mask destination-address destination-wildcard-mask operator port
- 사용예시 : access-list 101 permit tcp 210.70.20.230 0.0.0.0 210.70.10.33 0.0.0.0 eq www
- 사용위치 : 최대한 출발지에 가깝게 설정
- Extended Access List의 동작
- IP 주소에서 비트 단위의 마스크를 의미
- '0'은 해당 비트 위치에서 정해진 비트 값과 정확하게 일치해야 함 (검사 필요)
- '1'은 해당 비트 위치에서 어떠한 비트 값과도 일치 할 수 있음 (검사 불필요)
- 즉, 비트 '1'값이면, 0 또는 1 모두 허용
- 예시) 192.168.30.0 에서, Wildcard Mask가 0.0.0.255일 때 허용 가능한 IP 주소
- 192.168.30.0 ~ 192.168.30.255 까지 모두 가능함을 의미
(255는 2진수로 1111 1111) - 192.168.0.1 0.0.0.0, host 192.168.0.1은 호스트 주소 192.168.0.1 하나 만을 대상으로 함
- 0.0.0.0 255.255.255.255, any는 모든 호스트를 대상으로 함
- ACL 설정 명령어
- access-list
- ACL 활성화 명령
- access-group
- ACL를 설정한 내용확인 명령어
- show ip access-list
- access-list 정의 생성 -> Interface별 , protocol별로 각각 정의된 access-list 적용(access-group)
- ACL 설정
- ACl 적용할 인터페이스 선택
- 선택한 인터페이스에서 ACL 활성화
- 적어도 1이상의 '허용' 구문을 포함해야함
- 그렇지 않으면 모든 패킷을 차단하게 됨
(1) Access-list 정의 생성
① Standard ACL
Router(config)# access-list access-list-number { permit | deny } source [source-wildcard]
access-list-number
ACL의 종류를 구분하기 위한 것 1 ~ 99(Standard), 100 ~ 199(Extended)
{ permit | deny }
Access-list의 조건에 일치 할 경우 'permit' 또는 'deny'를 수행하도록 함
source
출발지 IP 주소
source-wildcard
해당 network의 prefix를 제한해 주는 역할
- source [source-wildcard]
- Any
- 0.0.0.0 255.255.255.255의 역할을 대신 함
- 모든 IP address를 다 포함
- Host
- 192.168.30.2 0.0.0.0를 host 192.168.30.2로 줄여 쓸 수 있다.
- 해당 IP에만 조건을 적용
- Router(config)# access-list access-list-number {permit | deny}
source [source-wildcard] destination [destination-wildcard]
operator established port - access-list-number
- Extended ACL에서는 100 ~ 199까지 사용
- { permit | deny }
- Access-list의 조건에 일치 할 경우 'permit' 또는 'deny'를 수행하도록 함
- protocol
- IP와 ICMP, IGRP, TCP, UDP등의 프로토콜
- source
- 출발지 IP 주소
- source-wildcard
- 해당 network의 prefix를 제한해 주는 역할
- destination
- 목적지 IP 주소
- destination-wildcard
- 해당 network의 prefix를 제한해 주는 역할
- operator
- protocol에서 기입한 포트번호에 대한 비교 연산을 위한 것
- gr (grater than)
- lt (less than)
- eq (equal)
- neq (not equal)
- established
- TCP 데이터그램이 ACK나 RST bit이 set되어 들어오는 경우에만 match가 발생하게 된다.
- 해당 네트워크에 있는 호스트들은 밖으로 나갈 수 있고, 밖에서는 해당 네트워크로 들어올 수 없게 하는 기능
- port
- 위의 프로토콜에 따른 port 분류 번호
(2) Access-list 적용(Access-group)
Router(config-if)# ip access-group access-list-number { in | out }
① Standard ACL (Ex)
PC C를 제외한 210.240.100.0 네트워크의 모든 PC는 PC A를 접속 할 수 있다.
210.240.150.0 네트워크에서는 PC B를 포함해서 나머지 모든 PC들이 PC A를 접속할 수 있다.
인터넷의 모든 PC는 PC A를 접속할 수 있다.
access-list 1 deny 210.240.100.5
access-list 1 permit 210.240.100.0 0.0.0.255
access-list 1 permit 210.240.150.0 0.0.0.255
int fa 0
ip access-group 1 out
② Extended ACL (Ex)
라우터 A를 기준 (Extended ACL 적용)
내부 네트워크에서는 자유롭게 통신이 가능
외부 네트워크에서 들어오는 웹서버를 허용
210.70.10.32 ~ 210.70.10.63의 IP를 가진 호스트로의 통신은 차단
나머지 허용
라우터 B를 기준 (Extended ACL 적용)
210.70.30.9로 가는 FTP 트래픽은 차단
210.70.10.0으로 가는 ping 트래픽 차단
나머지 허용
라우터 C를 기준 (Standard ACL 적용)
210.70.20.224 ~ 239 트래픽을 차단
나머지 허용
Standard ACL은 출발지 주소(Source Address)만을 제어하는 반면, Extended ACL은 출발지 주소와 목적지 주소(Destination) 모두 제어할 수 있다.
Standard ACL은 전체 TCP/IP에 대한 제어만을 하는 반면, Extended ACL은 IP, TCP, UDP, ICMP 등 특정 프로토콜을 지정해서 제어 할 수 있다.
Standard ACL은 1 ~ 99까지의 숫자를 Access-list 번호로 사용하고, Extended ACL은 100 ~ 199까지의 숫자를 Access-list 번호로 사용한다.
* 중요 TCP / UDP 포트 번호
Protocol | option | port | Protocol | option | port |
TCP | telnet | 23 | UDP | tftp | 69 |
|
www(http) | 80 |
|
domain(dns) | 53 |
| ftp | 21 |
| snmp | 161 |
| smtp | 25 | |||
ICMP |
echo(ping) | 7 |
IP |
| |
|
| igrp |
| 9 |
'학업' 카테고리의 다른 글
[컴퓨터네트워크설계] 7. 2계층 스위치 개요 (0) | 2016.11.15 |
---|---|
[File IO] (0) | 2016.10.24 |
[C Study] 함수 (0) | 2016.10.01 |
스터디 OT (0) | 2016.09.21 |
[데이터베이스 설계 및 구축] 02. 데이터 베이스 개요 (0) | 2016.09.08 |