Access list 설정 - access list seoljeong

이번에는 cisco switch에 기본적으로 적용하는 허용할 host ip를 xxx.xxx.xxx.xxx에 지정하고 나머지는 모두 거부하도록 지정하는 것을 알아보자.
telnet이 23이고 특정 포트만 지정하여야 하기 때문에 100이상의 extended access list로 지정한다.
(100이하는 포트 지정이 되지 않는다.)

log는 거부시에 기록을 남긴다는 옵션입니다. 이 기록은 syslog와 같은 툴을 통해 기록,확인이 가능하여 어느 호스트가 접근 시도하였는지 알수 있어 역추적시 유용하다.

(config)# access-list 105 permit tcp host xxx.xxx.xxx.xxx any eq 23 log
(config)# access-list 105 deny ip any any log
(config)# line vty 0 4
(config-line)# access-class 105 in
(config-line)# end

예) 192.168.0.10과 192.168.1.2의 머신만 telnet 접근을 허용하고 싶다

(config)# access-list 105 permit tcp host 192.168.0.10 any eq 23 log
(config)# access-list 105 permit tcp host 192.168.1.2 any eq 23 log
(config)# access-list 105 deny ip any any log
(config)# line vty 0 4
(config-line)# access-class 105 in
(config-line)# end

<CMD - 관리자 권한 실행>

netsh interface ip set address name="VirtualBox Host-Only Network" static 192.168.56.1 255.255.255.0

## ACL(Access Control List) ##

Access list 설정 - access list seoljeong

PC4 -> 211.100.10.1 255.255.255.0

server0->211.100.10.2 255.255.255.0

server1->211.100.10.3 255.255.255.0

HQ f0/0 -> 211.100.10.254 255.255.255.0

##공통설정##

enable

conf t

no ip domain lookup

enable secret cisco123

line con 0

exec-timeout 0 0

logging syn

password ccnp123

login

exit

<본사구간_설정>

<HQ>

ho HQ

int f0/0

ip add 211.100.10.254 255.255.255.0

no shut

exit

int s0/1

ip add 1.1.100.5 255.255.255.252

bandwidth 128

no shut

exit

int s0/0

ip add 1.1.100.1 255.255.255.252

bandwidth 128

clock rate 128000

no shut

exit

<ISP>

ho ISP

int s0/0

ip add 1.1.100.6 255.255.255.252

bandwidth 128

clock rate 128000

no shut

exit

int lo 0

ip add 100.1.1.1 255.255.255.0

no shut

exit

int lo 1

ip add 100.1.2.1 255.255.255.0

no shut

exit

int lo 2

ip add 100.1.3.1 255.255.255.0

no shut

exit

int lo 3

ip add 100.1.4.1 255.255.255.0

no shut

exit

================================================

<지사구간설정>

<Branch>

ho Branch

int s0/1

ip add 1.1.100.2 255.255.255.252

bandwidth 128

no shut

int f0/1

ip add 150.100.7.158 255.255.255.224

no shut

int f0/0

ip add 150.100.7.190 255.255.255.224

no shut

exit

================================================

<Static Route설정>

<HQ>

ip route 150.100.7.128 255.255.255.128 s0/0

ip route 0.0.0.0 0.0.0.0 s0/1

<Branch>

ip route 0.0.0.0 0.0.0.0 s0/1

<ISP>

ip route 211.100.10.0 255.255.255.0 s0/0

ip route 150.100.7.128 255.255.255.128 s0/0

===============================================

- Router와 같은 L3 Device는 전송하고자 하는 Packet의

  목적지 IP 주소가 자신의 Routing Table에 등록된 경우

  전송을 수행한다. 즉, 기본적으로 Filtering을 수행

  하지 않는다!

  하지만 보안적으로 불필요한 트래픽의 접근을 차단할

  필요가 있다. 즉, Filtering 정책이 필요하다.

  위와 같은 Filtering 역할을 수행하는 장비가 바로

  ‘Firewall(방화벽)’ 장비이다. 만약 Firewall 장비가

  없는 경우 Router에 ACL을 설정하게 되면 기본적인

  Filtering 정책을 구현할 수 있다.

- ACL은 다음과 같이 분류가 가능하다.

[1. Standard ACL]

=> L3헤더(IP헤더)의 Source 주소에 따라 트래픽을

     분류한다.

=> Numbered ACL로 설정하는 경우 1-99 사용.

[2. Extended ACL]

=> L3헤더(IP헤더)의 Source 주소/Destination 주소,

     Protocol 필드 정보 등과 L4헤더(TCP/IP)의

  Port 정보/TCP flag 정보 등을 기반으로 트래픽을

  분류할 수 있다.

  (Packet 길이/시간 등 다양한 조건을 사용)

=> Numbered ACL로 설정하는 경우 100-199 사용.

- ACL의 설정 순서는 다음과 같다.

1) Access-list를 정의한다.

2) 특정 interface에 해당 ACL을 적용한다.

- ACL 설정시 주의점은 다음과 같다.

  1. 모든 ACL의 마지막에는 모든 트래픽을 차단하라는

[deny any],[deny ip any any]가 생략되어 있다!

  1. ACL은 하향식으로 진행된다. 때문에 좁은 범위의

 ACL이 먼저 정의되어야 한다.

  1. Access-list를 적용하는 interface를 주의해서

       선택해야 한다!!

  1. Access-list는 interface 마다 Inbound, outbound

각각 하나씩만 적용이 가능하다!

==================================================================

[1. Standard ACL]

1. HQ 내부 Network는 영업부(150.100.7.128/27)가 

   접근이 불가능하도록 설정하시오.

<HQ>

conf t

access-list 1 deny 150.100.7.128 0.0.0.31

(access-list 1 deny any) -> 기본적으로 생략되어있다.

access-list 1 permit any

int s 0/0

 ip access-group 1 in 

!

- Verify -

do sh run

do sh access-list

=> 설정 후 Sales 네트워크에서 HQ내부 네트워크로 접근

      되지 않는 것을 확인할 수 있다.

      하지만 문제는 HQ내부 네트워크 뿐 아니라 Internet

      연결도 차단된다.

<HQ>

conf t

int s 0/0

no ip access-group 1 in

!

int f0/0

 ip access-group 1 out

!

------------------------------------------------------------------------------------------------------------------------

2. Branch의 관리부(150.100.7.160/27)의 사용자 중

   [150.100.7.161] 사용자만 HQ와 Internet 중 [100.1.2.1]로

  통신을 허용한다.

<Branch>

conf t

access-list 10 permit 150.100.7.161 0.0.0.0

   ~

access-list 10 permit host 150.100.7.161

(access-list 10 deny any)

 => 특정장비 하나인 경우에 위 명령어를 쓴다.

int f0/0

ip access-group 10 in

!

[2. Extended ACL]

1. Branch 관리자는 영업부(150.100.7.128 / 27) 직원은

    목적지가 [100.1.2.0/24],[100.1.3.0/24] 네트워크와

    통신이 불가능하도록 ACL을 설정하시오.

<Branch>

conf t

access-list 100 deny ip 150.100.7.128 0.0.0.31 100.1.2.0 0.0.0.255

access-list 100 deny ip 150.100.7.128 0.0.0.31 100.1.3.0 0.0.0.255

(access-list 100 deny ip any any)

access-list 100 permit ip any any

int f0/1

 ip access-group 100 in

!

- 설정 후 추가적으로 영업부에서[100.1.4.0/24] 네트워크와도

   통신이 불가능하도록 ACL을 추가 설정하시오.

<Branch>

conf t

access-list 100 deny ip 150.100.7.128 0.0.0.31 100.1.4.0 0.0.0.255

=> 설정 후 영업부 PC에서 확인해보면 100.1.4.0 대역으로 향하는

   트래픽이 차단되지 않는다. 이유는??

   ACL은 순차적으로 실행되기 때문에 permit ip any any가 먼저

   동작하게 된다.

<Branch>

conf t

no access-list 100

access-list 100 deny ip 150.100.7.128 0.0.0.31 100.1.2.0 0.0.0.255

access-list 100 deny ip 150.100.7.128 0.0.0.31 100.1.3.0 0.0.0.255

access-list 100 deny ip 150.100.7.128 0.0.0.31 100.1.4.0 0.0.0.255

access-list 100 permit ip any any

=> Numbered ACL의 경우 중간 삭제/추가 설정이 불가능했었다.

------------------------------------------------------------------------------------------------------------------------

2. HQ와 Branch에서 기존 ACL설정을 모두 삭제하고, 다음 정책에

    따라서 ACL을 설정해보자.

  1. FTP서버(211.100.10.2)는 관리부 PC 중 [150.100.7.161]

장비만 FTP서비스 접근을 허용한다.

        access-list 199 permit tcp host 150.100.7.161 host 211.100.10.2 eq 21

access-list 199 permit tcp host 150.100.7.161 host 211.100.10.2 eq 20

  1. web서버 (211.100.10.3)는 영업부와 관리부에서만 Web접근을

허용한다. Interface 사용자는 접근을 허용하지 않는다.

access-list 199 permit tcp 150.100.7.128 0.0.0.31 host 211.100.10.3 eq 80

access-list 199 permit tcp 150.100.7.160 0.0.0.31 host 211.100.10.3 eq 80

  1. 관리부에서 HQ내부 PC4(211.100.10.1)으로 ping test를 허용한다.

access-list 199 permit icmp 150.100.7.160 0.0.0.31 host 211.100.10.1

  1. HQ는 그외 나머지 트래픽들에 대해서 접근을 허용하지 않는다.

<HQ>

conf t

int f0/0

no ip access-group 1 out

!

no access-list 1

access-list 199 permit tcp host 150.100.7.161 host 211.100.10.2 eq 21

access-list 199 permit tcp host 150.100.7.161 host 211.100.10.2 eq 20

access-list 199 permit tcp 150.100.7.128 0.0.0.31 host 211.100.10.3 eq 80

access-list 199 permit tcp 150.100.7.160 0.0.0.31 host 211.100.10.3 eq 80

(access-list 199 deny ip any any)

access-list 199 permit icmp 150.100.7.160 0.0.0.31 host 211.100.10.1

int f0/0

 ip access-group 199 out

!

<Branch>

conf t

int fa 0/0

no ip access-group 10 in

!

int f0/1

no ip access-group 100 in

!

no access-list 10

no access-list 100