이번에는 cisco switch에 기본적으로 적용하는 허용할 host ip를 xxx.xxx.xxx.xxx에 지정하고 나머지는 모두 거부하도록 지정하는 것을 알아보자. log는 거부시에 기록을 남긴다는 옵션입니다. 이 기록은 syslog와 같은 툴을 통해 기록,확인이 가능하여 어느 호스트가 접근 시도하였는지 알수 있어 역추적시 유용하다.
예) 192.168.0.10과 192.168.1.2의 머신만 telnet 접근을 허용하고 싶다 <CMD - 관리자 권한 실행> netsh interface ip set address name="VirtualBox Host-Only Network" static 192.168.56.1 255.255.255.0 ## ACL(Access Control List) ## 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 설정시 주의점은 다음과 같다.
[deny any],[deny ip any any]가 생략되어 있다!
ACL이 먼저 정의되어야 한다.
선택해야 한다!!
각각 하나씩만 적용이 가능하다! ================================================================== [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을 설정해보자.
장비만 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
허용한다. 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
access-list 199 permit icmp 150.100.7.160 0.0.0.31 host 211.100.10.1
<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 |