Access List - 아이폰수리 노트북수리 3D프린터

Download Report

Transcript Access List - 아이폰수리 노트북수리 3D프린터

Access List
강사 김성훈
 Access Lists and Their Applications
 Access Lists의 사용 목적을 알고 사용 가능한 Application들을
안다.
 inbound 및 outbound에 Standard 또는 extended access lists
를 적용할 수 있다.
* Introducing Access Lists
Why Use Access Lists?
172.16.0.0
Administrator’s
Console
Internet
172.17.0.0
 Packet Filtering을 통해 네트워크의 트래픽을 제한하거나, 특정 사용자나 장치에 의해
사용되는 네트워크 자원을 제한할 수 있다.
 Access List는 일반적으로 라우터의 특정 인터페이스를 통과하는 패킷을 허용하거나 제한할
수 있다.
 사용자가 라우터에 Telnet 접근하는 것을 허용하거나 제한할 수 있고, 라우터로부터 다른
장치나 호스트에 Telnet 접근하는 것을 허용하거나 제한할 수도 있다.
 Access List는 라우터를 통과하는 트래픽을 제한할 수 있지만 라우터에서 만들어지는
트래픽에 대해서는 제한이 불가능하다.
* Access List Applications
Access List Applications
Transmission of packets on an interface
Virtual terminal line access (IP)
 라우터를 통과하는 패킷을 Permit하거나 Deny 할 수 있다.
 외부에서 라우터로 또는 라우터에서 외부로 vty access 하는 것을 Permit하거나, Deny할 수
있다.
 Access Lists 설정이 없다면, 모든 패킷은 전체 네트워크로 전달 될 수 있다.
Other Access Lists Uses
 Router를 통과하는 트래픽의 종류에
따라 별도의 Priority를 주어 각각의
트래픽처리 속도를 다르게 할 수
있다.
 ISDN, Dial-Up환경에서는 사용량에
따라서 요금이 다르게 적용되는데,
Access List와 같이 연동해서
사용자가 필요한 데이터만 ISDN,
Dial-Up을 사용할 수 있도록 하여
요금이 적게 나오도록 할 수 있다.
 라우터는 라우팅 프로토콜을 통해서
라우팅 테이블을 만들게 되는데, 이
때 필요한 라우팅 정보만을 주고 받을
수 있도록 제한할 수 있다.
Priority and custom queuing
Queue
List
Dial-On-Demand Routing
Route Filtering
Routing
Table
* Type of Access Lists
Types of Access Lists
E0
Incoming
Packet
Access List Processes
Source
and
Destination
Outgoing
Packet
Protocol
Permit?
S0
 Access List는 라우터를 통과하는 패킷을 목적지로 보낼 것인지 제한할 것인지를
지정해서 불필요한 트래픽은 제거하고 네트워크 자원의 보안을 위해 설정되는
명령어이다. 하지만 반드시 설정이 필요한 명령어는 아니다.
 Standard Access List
Source Address만을 체크해서 패킷의 전송 여부를 결정하는 방식으로 특정 프로토콜
(FTP, TFTP, Telnet)에 따라 패킷의 전송 허용/제한이 불가능한 방식이다.
 Extended Access List
Source Address와 Destination Address 모두를 체크해서 패킷의 전송 여부를 결정
하는 방식으로 특정 프로토콜(FTP, TFTP, Telnet)에 따라 패킷의 전송 허용/제한이
가능한 방식이다.
* How Access Lists Operate
Outbound ACL Operation
Packet
Inbound
Interface
Packets
인터페이스
선택
S0
Y
Outbound
Interfaces
조건문
체크
라우팅
테이블
S0
유/무?
N
Access
List
?
Packet
N
Permit
?
Y
N
Discard Packet
Packet Discard Bucket
(Notify Sender)
 If no access list statement matches then discard the packet
Y
* Testing Against Access List Statements
A List of Tests: Deny or Permit
Packets to Interface(s)
in the Access Group
Y
첫번째
조건문
?
Y
N
Permit
Deny
Deny
Y
두번째
조건문
?
Y
Permit
N
Deny
Y
마지막 Y
조건문
?
Interface(s)
Permit
N Implicit
Deny
Packet
Discard
Bucket
Deny
Destination
If no match
deny all
* Implementing Access Lists
Access Lists Configuration Guidelines
 Access-List는 Interface별로 Direction(Inbound, Outbound)별로, Protocol(IP,
IPX등) 별로 각각 하나씩만 적용할 수 있다.
 1개의 액세스리스트는 여러 인터페이스에 적용가능
 Access List는 Top-Down 방식으로 실행되기 때문에 특수한 설정을 Access
List의 상단에 위치시키고, 일반적인 설정을 하단에 위치시킨다.
 Access List에서 한 라인만을 제거할 수 없다. 제거하는 경우 전체 Access List를
제거할 수 있다. Named Access List를 사용하는 경우는 한 라인씩 제거하는 것이
가능하다.
 Access List Command를 사용하면 암묵적으로 deny all이 마지막으로
적용된다.
 IP standard access list는 가급적 Destination에 가깝게 위치 시킨다.
 IP extended access list는 가급적 Source에 가깝게 위치 시킨다.
 Access List는 라우터를 경유하는 트래픽에 적용되지만 라우터로부터 발생되는
패킷에는 적용되지 않는다.
 인터페이스에 액세스 리스트를 적용하기 전에 액세스 리스트를 만들어야 한다.
 액세스 리스트는 라우터를 통과하여 지나가는 트래픽만을 필터링한다.
라우터에서 출발하는 트래픽을 필터링하지는 않는다.
Access List의 적용 위치
 Inbound Access List
라우터에 수신되는 패킷이 라우터의 Outbound Interface로 전달되기 전에
Access List가 적용된다. 따라서 Filtering에 의해 패킷이 제거되면 라우터
내부에서 처리되는 것이 없기 때문에 별도의 라우팅 Lookup overhead를
감소시킬 수 있어서 효율적인 방법이라고 할 수 있다.
 Outbound Access List
라우터에 수신된 패킷이 라우터의 Outbound Interface까지 전달된 후 Access
List가 적용된다.
라우터의 Inbound Interface에 패킷이 들어 왔을 경우 처음에는 라우팅 테이블을
참조해서 목적지에 대한 주소가 존재하면 맞는 인터페이스 패킷이 전송되고,
그렇지 않는 경우에는 버려진다.
인터페이스에 Access List가 설정되어 있는지를 체크하고 없으면 패킷을 보내고,
적용되어 있으면 Access List의 조건을 체크한다.
조건을 체크해서 조건과 일치하면 Permit/Deny 설정 상태에 따라 패킷을
전송/폐기한다.
마지막 Access List까지 조건과 일치하지 않으면 패킷은 폐기 된다.
How to Identify Access Lists
IP 액세스 리스트
번호 범위/식별자
표준 (standard)
1~99, 1300~1999
확장 (Extended)
100~199, 2000~2699
이름 (Name)
이름
Standard
Extended
Source Address를 근거로 해서 Filtering
Source/Destination Address를 근거로
해서 Filtering
Permit/Deny가 모든 TCP/IP 적용
특정 프로토콜별/포트별 Access List
적용이 가능
범위는 1~99,
1300~1999(expanded range)
범위는 100~199,
2000~2699(expanded range)
# Named는 다음 장에 설명
Testing Packets with Standard Access Lists
Frame
Header
(for example,
HDLC)
Packet
(IP header)
Segment
(for example,
TCP header)
Source
Address
Data
Use
access
list statements
1-99
Deny
Permit
 IP Header 부분 중 Source Address를 분석해서 조건문과 일치하면 Permit/Deny
설정 상태를 확인하고 패킷을 전송/폐기한다. (Layer 3 정보를 체크해서 패킷의
전송 여부를 판단한다.)
 Standard Access List는 1~99까지 적용되고 있음을 알 수 있다.
Testing Packets with Extended Access Lists
Layer2
Frame
Header
(for example,
HDLC)
Layer3
Layer4
Packet
(IP header)
Segment
(for example,
TCP header)
Data
Port Number
Protocol
Source Address
Destination Address
Access List
100~199사용
Deny
Permit
 Extended Access Lists는 Layer 3, 4의 상태를 체크해서 패킷의 전송 여부를
판단한다. 적용 Number는 100~199까지 지정되어 있다.
 Extended Access Lists가 체크해야 하는 항목은 Source Address, Destination
Address, Protocol (TCP, UDP, ICMP), Port Number (Telnet-23, FTP-20,
DNS-53등)
* Wildcard Masking
Wildcard Bits: How to Check the Corresponding Address Bists
128
64
32
16
8
4
2
8 bit position and
address value for bit
1
Examples
모든 것이 일치해야 함
0
0
0
0
0
0
0
0
=
0
0
1
1
1
1
1
1
=
ignore last 6 address bits
0
0
0
0
1
1
1
1
=
ignore last 4 address bits
1
1
1
1
1
1
0
0
=
check last 2 address bits
1
1
1
1
1
1
1
1
=
일치하지 않아도 됨
 Wildcard Mask는 IP Address List나 OSPF에서 Network Command 설정시
사용되고 있다. Wildcard Mask의 Rule은 다음과 같다.
- Wildcard Bits의 0은 IP Address Bits와 반드시 일치해야 한다.
- Wildcard Bits의 1은 IP Address Bits아 일치해야 할 필요가 없다.
 Subnet Mask에서의 0은 일치할 필요가 없고, 1은 반드시 일치해야 하는 특성이
있는데 위의 Wildcard Mask와 완전히 반대로 동작한다.
Wildcard Bits (Address Mapping 방법)
Address
Wildcard Mask
설명
130.0.0.0
0.255.255.255
반드시 일치할 필요가 있는 0으로 설정된 것이 앞에
서 8개 Bit이기 때문에 130.0.0.0/8에 속하는 모든
것을 수용한다.
130.0.0.1~130.255.255.255
130.10.0.0
0.0.255.255
반드시 일치할 필요가 있는 0으로 설정된 것이 앞에
서16개 Bit이기 때문에 130.10.0.0/16에 속하는 모
든 것을 수용한다. 130.10.0.1~130.10.255.255
130.10.8.0
0.0.7.255
00000111
130.10.8.0/21에 속하는 모든 것을 수용한다.
130.10.8.1~130.10.15.255
130.10.8.0
0.0.0.255
130.10.8.0/24에 속하는 모든 것을 수용한다.
130.10.8.1 ~ 130.10.8.255
130.10.8.1
0.0.0.0
오직 130.10.8.1만을 수용한다. Host 130.10.8.1로
표현되기도 한다.
0.0.0.0
255.255.255.255
모든 IP Address를 수용하고자 할 경우 설정 any로
표현되기도 한다.
 Configuring IP Access Lists




Standard 또는 Extended IP Access Lists를 구성할 수 있다.
Named Access Lists를 사용할 수 있다.
VTY Access Lists를 구성할 수 있다.
Access Lists의 내용을 검증할 수 있다.
Access Lists Command Overview
Grobal Mode에서의 설정
Router(config)#access-list access-list-number
{ permit | deny } { test conditions }
Interface에 적용
Router(config-if)#{ protocol } access-group
access-list-number {in | out}
 Standard IP lists (1-99)
 Extended IP lists (100-199)
 Standard IP lists (1300-1999) (expanded range)
 Extended IP lists (2000-2699) (expanded range)
* Configuring Standard IP Access Lists
Standard IP Access Lists Configuration
Router(config)# access-list access-list-number
{ permit | deny | remark} source [ mask]
 Sets parameters for this list entry
 access-list-number는 1에서 99까지
 default wildcard mask = 0.0.0.0
 전체 access list를 제거하려면 no access-list access-list-number 명령어 사용
 remark 옵션은 엑세스리스트에 대한 설명을 나타낼 때 사용한다.
Router(config-if)# ip access-group access-list-number { in | out }
 Activates the Standard list on an interface
 default = outbound
 인터페이스에 설정된 access list를 제거하려면 no ip access-group accesslist-number 명령어 사용
예제1: 외부 네트워크로부터 트래픽을 차단하는 표준 액세스 리스트
172.16.0.0 네트워크로부터 출발하지 않은 트래픽이 Ethernet 0 과 Ethernet 1을
통과하지 못하도록 Ethernet 0과 Ethernet 1에 적용된 액세스 리스트
172.16.3.0
172.16.0.0으로
가지 않는 트래픽
S0
172.16.3.5
E0
E1
172.16.4.0
172.16.4.13
Router(config)# access-list 1 permit 172.16.0.0 0.0.255.255
Router(config)# interface ethernet 0
Router(config-if)# ip access-group 1 out
Router(config-if)# interface ethernet 1
Router(config-if)# ip access-group 1 out
예제2: 단일 호스트로부터 트래픽을 차단하는 표준 액세스 리스트
Ethernet 0 인터페이스를 통해 172.16.4.13을 거부하고 나머지 모드 트래픽은
전달 하도록 하라
172.16.3.0
172.16.0.0으로
가지 않는 트래픽
S0
172.16.3.5
E0
E1
172.16.4.0
172.16.4.13
Router(config)# access-list 1 deny 172.16.4.13 0.0.0.0
Router(config)# access-list 1 permit 0.0.0.0 255.255.255.255
Router(config)# interface ethernet 0
Router(config-if)# ip access-group 1 out
예제3: 단일 서브넷으로부터 트래픽을 차단하는 표준 액세스 리스트
Ethernet 0 인터페이스를 통해 172.16.4.0을 거부하고 나머지 모드 트래픽은
전달 하도록 하라
172.16.3.0
172.16.0.0으로
가지 않는 트래픽
S0
172.16.3.5
E0
E1
172.16.4.0
172.16.4.13
Router(config)# access-list 1 deny 172.16.4.0 0.0.0.255
Router(config)# access-list 1 permit any
Router(config)# interface ethernet 0
Router(config-if)# ip access-group 1 out
* Configuring Virtual Terminal Access Lists
Filtering vty Access to a Router
e0
console
Console port (direct connect)
0 1 2 34
Physical port e0 (Telnet)
Virtual ports (vty 0 through 4)
 Telnet 접속을 허용하는 Virtual Port가 있다.
 Virtual Port는 Virtual Port Line이라고 불린다.
 Virtual Port는 기본적으로 0~4까지 5개를 제공한다.
 라우터의 Vty ports 접속을 호스트별로 제한할 수 있다.
How to Control vty Access
e0
0 1 2 34
Physical port (e0) (Telnet)
Router#
Virtual ports (vty 0 through 4)
 Telnet(Application Layer) 접속의 제한은 Extended IP Access List로 가능하지만
Virtual Port line에 access-class를 적용해서 Standard IP Access List로도
라우터의 Telnet 접속을 제한할 수 있다.
 라우터의 접속뿐만 아니라 라우터에서 다른 호스트나 장비에 대한 접속를 제한할
수도 있다.
 라우터의 Virtual Terminal 접속을 제한하고자 할 경우에는 모든 Virtual port
line에 적용해야 한다. 왜냐하면 과연 어떤 Virtual port line으로 telnet 접속을
하는지에 대한 정확한 판단 요소가 없기 때문이다.
vty Commands
1 단계: Access List의 조건문을 우선 Global Configuration에 만든다.
2 단계: 원하는 Virtual port line(0~4)에 접속한다.
Router(config)#line vty {vty# | vty-range}
3 단계: access-class를 설정한다.
Router(config-line)#access-class access-list-number {in|out}
vty Access Example
Router(config)# access-list 2 permit 192.168.1.0 0.0.0.255
!
Router(config)# line vty 0 4
Router(config-line)# access-class 2 in
 위의 설정은 192.168.1.0/24 네트워크에서 라우터에 Virtual
Terminal(Telnet) 접속을 허용하지만, 다른 네트워크에서의 Telnet
접속은 라우터에서 deny한다.
 왜냐하면 Access List 마지막 라인에 “deny any”가 포함되어 있기
때문이다.
 라우터에 Telnet 접속을 허용하지만 User Mode/Privileged Mode로
접속하기 위해서는 추가적인 Password 입력이 필요하다.
표준 액세스 리스트와 확장 액세스 리스트의 비교
표준 (Standard)
확장 (Extended)
송신지 어드레스만을 기반으로 필터링
송신지와 수신지 어드레스 및 송신지와 수신지 포
트번호를 기반으로 필터링
TCP/IP 프로토콜 스위트 전체를 허용하거나 거부
일정한 IP 프로토콜과 포트 번호를 명시한다.
범위가 1~99
범위가 100~199
잘 알려진 포트번호
IP 프로토콜
20
FTP (File Transfer Protocol) 데이터
21
FTP 프로그램
23
텔넷
25
SMTP (Simple Mail Transport Protocol)
69
TFTP (Trivial File Transfer Protocol)
53
DNS (Domain Name System)
80
WWW (HyperText Markup Language)
* Configuring Extended IP Access Lists
Extended IP Access Lists Configuration
Router(config)# access-list access-list-number
{ permit | deny } protocol source source-wildcard [operator port] destination
destination-wildcard [ operator port ] [ established ] [log]
 Sets parameters for this list entry
Router(config-if)# ip access-group access-list-number { in | out }
 Activates the extended list on an interface
예제1 : 하나의 지정된 서브넷으로부터의 FTP 트래픽 차단
172.16.4.0 서브넷에서 172.16.3.0 서브넷으로 가는 FTP 트래픽을 차단하고, Ethernet 1
인터페이스의 다른 모든 트래픽을 허용하라
172.16.3.0
Non172.16.0.0
S0
E0
E1
FTP
172.16.4.0
172.16.4.13
Router(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0
0.0.0.255 eq 21
Router(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0
0.0.0.255 eq 20
Router(config)# access-list 101 permit ip any any
Router(config)# interface ethernet 1
Router(config-if)# ip access-group 101 in
예제2 : 하나의 지정된 서브넷으로부터의 텔넷 트래픽 차단
172.16.4.0 서브넷에서 172.16.3.0 서브넷으로 가는 텔넷 트래픽을 차단하고, Ethernet 1
인터페이스의 다른 모든 트래픽을 허용하라
172.16.3.0
Non172.16.0.0
S0
E0
E1
FTP
172.16.4.0
172.16.4.13
Router(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0
0.0.0.255 eq 23
Router(config)# access-list 101 permit ip any any
Router(config)# interface ethernet 0
Router(config-if)# ip access-group 101 out
* Using Named Access Lists
Using Named IP Access Lists
Cisco IOS 11.2 이상에서만 적용이 가능하다.
Numbered IP Access List는 조건문 제거시 모든 Numbered Access List가 삭제되기 때문에
처음부터 다시 모든 Access List를 다시 입력해야 하는 문제가 있지만 Named IP Access
List는 원하는 조건문만 제거할 수 있다.
1단계 : Grobal Gonfiguration에 Named Access List를 설정한다.
Router(config)#ip access-list { standard | extended } name
2단계 : 조건문을 설정한다.
Router(config {std- | ext-}nacl)#{ permit | deny }
{ ip access list test conditions }
{ permit | deny } { ip access list test conditions }
no { permit | deny } { ip access list test conditions }
Router(config)#ip access-list extended screen
Router(config-ext-nacl)#deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 23
Router(config-ext-nacl)#permit ip any any
Router(config)#interface ethernet 0
Router(config-if)#ip access-group screen out
* Guidelines for Placing Access Lists
Access List Configuration Principles
 엑세스 리스트 문장의 순서는 적절한 필터링이 중요하다. TFTP 서버에서 텍스트
에디터를 이용해서 만들고 라우터로 TFTP를 이용해서 다운로드하여 엑세스
리스트를 만드는 것을 추천한다.
 또는 terminal emulator 또는 Telnet 세션을 PC에서 사용하고 엑세스 리스트를
cut & paste하여 라우터 설정 모드로 옮기는 것을 사용할 수 있다.
 엑세스 리스트를 위에서 아래로 처리한다. 자주 테스트하여 만족하는 테스트와
구체적인 테스트들을 엑세스 리스트의 앞쪽에 두면 프로세싱 오버헤드를 줄일 수
있다.
 리스트에서 각 문장은 이름이 부여된 엑세스 리스트만이 제거될 수 있지만,
순서를 바꾸는 것은 되지 않는다.
 엑서스 리스트의 순서를 바꾸려면, 전체 리스트를 제거하고 원하는 순서 또는
원하는 문장으로 다시 만들어야 한다.
 모든 엑세스 리스트는 implicit “deny any” 문장으로 끝난다.
Where to Place IP Access Lists
S1
S0
B
S0
S0
S0
A
To0
Token
Ring
C
S1
D
E0
Standard IP Access List의 설정 위치
 Source Address만 체크하는 Standard IP Access List는 Destination에 근접하게
설정해야만 정상적인 패킷 통신에 영향을 주지 않는다.
 예를 들어, Token-Ring 0에서 발생하는 패킷이 라우터 D의 Ethernet 0가 아닌
Router B,C로 가는 패킷까지 Filtering된다. 따라서 정상적으로 통신해야 하는
패킷까지 전부 통신이 되지 않는 경우가 생길 수 있다.
Where to Place IP Access Lists (Cont.)
S1
S0
B
S0
S0
S0
A
To0
Token
Ring
C
S1
D
E0
Extended IP Access List의 설정 위치
 Token-Ring 0에서 발생하는 패킷이 라우터 D의 Eternet 0로 가지 못하도록
설정하고자 할 경우 Extended IP Access List는 Source/Destination Address
모두를 체크해서 전송/폐기하기 때문에 라우터 A에 설정해야만 불필요한 패킷이
다른 네트워크의 Performance에 영향을 주지 않는다.
 Source Address 근처에 설정하지 않을 경우 라우터 D의 Ethernet 0로 가는
트래픽이 라우터 B,C,D까지 가는 경우가 발생할 수 있다.
* Verifying the Access List Configuration
Verifying Access Lists
wg_ro_a# show ip interface e0
Ethernet0 is up, line protocol is up
Internet address is 10.1.1.11/24
Broadcast address is 255.255.255.255
Address determined by setup command
MTU is 1500 bytes
Helper address is not set
Directed broadcast forwarding is disabled
Outgoing access list is not set
Inbound access list is 1
Proxy ARP is enabled
Security level is default
Split horizon is enabled
ICMP redirects are always sent
ICMP unreachables are always sent
ICMP mask replies are never sent
IP fast switching is enabled
IP fast switching on the same interface is disabled
IP Feature Fast switching turbo vector
IP multicast fast switching is enabled
IP multicast distributed fast switching is disabled
<text omitted>
Monitoring Access Lists Statements
Router#show {protocol} access-list {access-list number}
Router#show access-lists {access-list number}
Router# show access-lists
Standard IP access list 1
permit 10.2.2.1
permit 10.3.3.1
permit 10.4.4.1
permit 10.5.5.1
Extended IP access list 101
permit tcp host 10.22.22.1 any eq telnet
permit tcp host 10.33.33.1 any eq ftp
permit tcp host 10.44.44.1 any eq ftp-data