1. Access Control List 란?
- 허가되지 않은 이용자가 라우터나 네트워크의 특정자원을 접근하려고 하는 것을 차단
- Routing Table Update 시 Routing Table 의 어느 부분을 전달하지 않게 하고자 할 때 이를 차단
- Access List는 라우터를 경유하는 모든 Packet에 대한 제어를 할 수 있다.
- Access List를 적용하면 방화벽 기능과 같은 보안기능을 한다.
2. Access List 사용 원칙
- 트래픽이 많이 발생되는 것을 제일 위로 올린다.
(라우터가 엑세스리스트를 적용 할때, 리스트 상단에 있는 것 부터 계산하는데, 해당 리스트에 패킷이
적용을 하여 해당되면 다음 리스트는 계산하지 않으므로, 라우터가 쓸데없는 계산을 하는 것을 줄이기 위해
트래픽이 가장 많이 발생되는 항목을 위로 올린다.)
- 범위가 적은 것을 먼저 올린다. (좁은 범위 먼저 구성 곧 16비트 보다 24비트를 먼저 올린다.)
- no access-list 10 하면 모든 list가 삭제 된다.(글로벌모드에서)
3. 종류
1) Standard
- IP Packet의 source address(출발지 주소)만을 검사하여 제어 한다. L3 장비에서 적용
- ACL Number : 1 ~ 99
2) Extended
- IP Packet의 source, dESTINAtion address, protocol을 검사하여 제어한다. L3 장비에서 적용
- ACL Number : 101 ~ 199
3) Named - Mac L2 장비에서 적용
4. Wildcard MASK
- 서브넷 마스크 반대로 보면 됨 (불연속 적으로 사용 할 수있다. 범위를 지정하기가 간편)
Wildcard Mask 사용하는 이유 : 서브넷마스크보다 간단하게 여러 범위를 표현 할 수 있다.
Standard Access List
1. Standard Access List 특징
- 엑세스리스트 작성시 덮어서 쓰여지지 않는다. (추가하는데로 계속 추가 됨)
- 엑세스리스트는 조건이 맞으면 즉시 포워딩 한다.
- Standard Access List 는 목적지 가까운곳에 구성한다.
(소스만 보고 패킷을 판단을 하기 때문에, 다른 목적지로 지나가는 패킷에 최소한의 영향을 주기 위해서)
- Standard 는 Telnet 제어할 때 쓰이며 그 외에는 잘 쓰이지 않는다. (소스만 보고 판단하기 때문에 불편하다)
2. Standard Access List 의 선언과 적용
허용선언 : R3(config)#access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 : 10번 목록을 쓰겠다.
permit (허용한다) 즉, 192.168.1.0 의 패킷전송을 허용
R3(config)#access-list deny any (설정하지 않아도 생략되어 적용 됨)
거부선언 : R3(config)#access-list 10 deny 192.168.1.0 0.0.0.255
access-list 10 : 10번 목록을 쓰겠다.
deny(거부한다) 즉, 192.168.1.0 의 패킷전송을 거부
R3(config)#access-list permit any (추가로 꼭 설정해야 다른 경로 네트워크가 통과가 허용됨)
적용 : R3(config)# s0/1 (적용할 인터페이스로 이동)
R3(config-if)#ip access-group 10 in
라우터로 들어오는 패킷을 제어 = in , 라우터에서 나가는 패킷을 제어 = out
* 스텐다드엑세스리스트 사용시 주의점 :
엑세스리스트는 라우티드프로토콜(ip, tcp, udp등)에만 적용을 한다.
라우팅프로토콜에는 적용하지 않는다. 그러나 라우팅프로토콜은 라우티드 프로토콜에 의해 운반되기
때문에 RIP같은 디스텐스벡터에서는 광고가 되지 않아 풀커넥티드가 안되는 부작용이 있다.
그래서 스텐다드 엑세스리스트는 잘 사용하지 않는다.
Extended Access List
1.Extended Access List 특징
- 소스, 목적지, 사용프로토콜을 사용하여 패킷을 판단 함.
- 제어하려는 소스 장비에 최대한 가깝게 설치하는 것이 일반적이다.
(불필요한 계산을 최대한 사전에 막기 위해, 목적지에 가깝게 설치하면 다른 라우터들이 쓸데없이
일을 하게 된다.)
2.Extended Access 선언과 적용
허용선언 : R3(config)#access-list 101 permit icmp 192.168.1.0 0.0.0.255 192.168.5.0 0.0.0.255
허용 프로토콜 소스IP 목적지IP
access-list 101 : 101번 목록을 쓰겠다. (extended 는 101~200까지 사용)
icmp : icmp 을 사용하는 프로토콜만 제어 한다.(ip, tcp, http, telnet등 )
permit (허용한다) 즉, 192.168.1.0 부터 출발하고 192.168.5.0까지의 패킷전송을 허용
R3(config)#access-list deny any (설정하지 않아도 생략되어 적용 됨)
거부선언 : R3(config)#access-list 101 deny icmp 192.168.1.0 0.0.0.255 192.168.5.0 0.0.0.255
주소표기 대체 가능 (host 192.168.1.0) (host 192.168.5.0)
access-list 101 : 101번 목록을 쓰겠다.
deny(거부한다) 즉, 192.168.1.0 부터 출발하고 192.168.5.0까지의 패킷전송을 거부
R3(config)#access-list permit ip any any (추가로 꼭 설정해야 다른 경로 네트워크가 통과가 허용됨)
ip를 쓰는 이유는 모든 프로토콜을 대변 하기 때문
적용 : R3(config)# s0/1 (적용할 인터페이스로 이동)
R3(config-if)#ip access-group 10 in
라우터로 들어오는 패킷을 제어 = in , 라우터에서 나가는 패킷을 제어 = out
3.TELNET 제어 방법
- 텔넷은 보안적인 측면을 생각할 때 누군가만 허용해서 설정하는 것이 좋다.
1) 허용 선언 : R1(config)#ACEss-list 101 permit tcp 192.168.3.100 0.0.0.0 any eq23
프로토콜 제어할 장비주소 텔넷포트
2) 적용 : R1(config-line)#acess-class 101 in
텔넷은 인터페이스에 설치하지 않는다. vty line 에 설치한다.
group을 쓰지 않고, class를 설치 한다. 왜냐하면 텔넷은 라우터로 들어오는 모든 인터페이스에
적용해야 하기 때문에 더 큰범위의 class를 사용하여, 인터페이스마다 설치하는 불편을 없앤다.