지사 서브넷 재설계와 ACL 순서
한 지사에 172.20.8.0/22가 배정되었다. 요구 호스트 수는 영업 300대, 개발 120대, 지원 60대, 서버 25대이며, 라우터 간 WAN 링크 2개에는 각각 /30이 필요하다. 기존 방화벽 ACL은 위에서부터 (1) permit tcp any any eq 443, (2) deny ip 172.20.8.0 0.0.3.255 172.20.10.0 0.0.0.255, (3) permit ip 172.20.9.0 0.0.0.255 any, (4) deny ip any any 순서로 적용되어 있다. 개발팀 PC 172.20.10.5에서 서버 172.20.10.200의 8443 포트로 접속하면 timeout이 발생하지만, 같은 서버의 443 포트는 접속된다. 또한 개발팀이 영업팀 172.20.8.10으로 SSH 22번 접속을 시도하면 실패한다. 네트워크 팀은 주소 계획을 다시 만들고 ACL을 최소 권한으로 고치려 한다. 기존 /22 범위를 넘지 않아야 하며, 각 서브넷은 호스트 요구량을 만족하는 가장 작은 크기로 배정해야 한다.
1. VLSM을 적용하여 영업, 개발, 지원, 서버, WAN 2개의 서브넷을 배정하시오. 네트워크 주소, 사용 가능한 호스트 범위, 브로드캐스트 주소를 포함하시오.
Read the worked answer
큰 요구부터 배정한다. /22는 172.20.8.0~172.20.11.255이다.
| 용도 | 서브넷 | 호스트 범위 | 브로드캐스트 |
|---|---|---|---|
| 영업 300 | 172.20.8.0/23 | 172.20.8.1~172.20.9.254 | 172.20.9.255 |
| 개발 120 | 172.20.10.0/25 | 172.20.10.1~172.20.10.126 | 172.20.10.127 |
| 지원 60 | 172.20.10.128/26 | 172.20.10.129~172.20.10.190 | 172.20.10.191 |
| 서버 25 | 172.20.10.192/27 | 172.20.10.193~172.20.10.222 | 172.20.10.223 |
| WAN1 | 172.20.10.224/30 | 172.20.10.225~172.20.10.226 | 172.20.10.227 |
| WAN2 | 172.20.10.228/30 | 172.20.10.229~172.20.10.230 | 172.20.10.231 |
/23은 510대, /25는 126대, /26은 62대, /27은 30대, /30은 2대를 제공하므로 모두 요구를 만족한다. 배정 주소는 모두 172.20.8.0/22 안에 있다.
2. 개발팀 PC에서 서버 8443은 timeout이고 443은 접속되는 이유, 그리고 개발팀에서 영업팀 SSH가 실패하는 이유를 ACL 규칙 번호와 매칭하여 설명하시오.
Read the worked answer
8443은 rule 1의 eq 443에 걸리지 않아 다음 규칙으로 내려간다. rule 2의 source 172.20.8.0 0.0.3.255는 172.20.8.0~172.20.11.255를 의미하므로 172.20.10.5가 포함되고, destination 172.20.10.0 0.0.0.255도 172.20.10.200을 포함한다. 따라서 8443은 rule 2에서 deny된다. 443은 rule 1이 먼저 permit하므로 deny에 도달하지 않는다.
SSH는 destination이 172.20.8.10이므로 rule 2의 destination 172.20.10.0/24에 맞지 않는다. rule 3의 source 172.20.9.0/24에도 172.20.10.5는 포함되지 않는다. 결국 rule 4의 deny ip any any에서 차단된다. 두 접속 모두 실패하지만 8443은 명시적 deny, SSH는 마지막 implicit deny에 해당한다.
3. 최소 권한 원칙에 맞게 ACL을 재작성하시오. SSH 허용 여부가 요구사항에 명시되지 않은 점을 어떻게 판단할지도 포함하시오.
Read the worked answer
먼저 요구사항을 확인한다. 개발팀의 서버 8443 접속만 필요하다면 SSH는 계속 차단하는 것이 최소 권한이다. SSH가 필요하다면 개발팀 서브넷에서 영업팀 특정 호스트 22번만 허용한다.
예시는 다음과 같다.
1 permit tcp 172.20.10.0 0.0.0.127 host 172.20.10.200 eq 8443 2 permit tcp 172.20.10.0 0.0.0.127 host 172.20.10.200 eq 443 3 permit tcp 172.20.10.0 0.0.0.127 host 172.20.8.10 eq 22 (SSH 요구가 있을 때만) 4 deny ip 172.20.10.0 0.0.0.127 172.20.10.0 0.0.0.255 log 5 permit ip 172.20.9.0 0.0.0.255 any 6 deny ip any any log
핵심은 구체적 permit을 넓은 deny보다 앞에 두고, 기존 rule 2처럼 /22 전체를 한 번에 막는 규칙을 제거하거나 목적지·포트 단위로 좁히는 것이다. 마지막 deny any any는 유지하되 log를 남겨 차단 근거를 확인한다.