[보안 트러블슈팅 - 2]
UTM(Unified Threat Management)이란,
통합 위협 관리 시스템으로 FW, IDS에 비해 구현할 수 있는 기능이 많아 자주 보안 업계에서 자주 사용된다.
컴퓨터과학과 교수님께서 생도들 기말고사를 치르려고 한다고 말씀하셨다.
환경은 goormEdu와 협업해 만든 자체 환경이다.
인터넷이 가능한 독립망 UTM에서 방화벽 정책 변경을 통해 ChatGPT 및 인터넷 서핑을 금지하고, 해당 환경만 접속해 시험 응시할 수 있도록 환경 구축을 요청하셨다.
해당 회사에서 제공하는 서버주소(goormEdu)를 허용하고, 나머지 서비스는 거부하는 정책을 설정했다.
추가적으로 도메인으로도 접속할 수 있게끔 육본DNS에 관련 정보를 추가해주었고, 위와 같이 정책을 설정하니 요청하신 바가 정확하게 구현되었다.
하지만 한 가지 문제가 발생했다.
생도들은 정해진 시간 내에 약 20-30여개의 문제를 풀어야하는데, 다음 문제로 넘어갈 때마다 30초 가량 delay되는 것이었다.
이 문제를 해결하기 위해 (주)구름에 문의했고, 개발자의 말에 의하면 폰트를 가져오는데 시간이 걸리는 것 같다는 답변을 받았다.
그래서 구글 폰트를 가져오는 api 주소인 googleapis.com 도메인을 정책에 추가했으나 문제는 해결되지 않았다.
상황을 비교하기 위해 설정한 정책을 전부 풀고 접근을 시도해보았다. 그 결과 지연없이 빠르게 접속하는 것을 확인했다.
테스트한 PC의 IP를 필터링하여 UTM에서 트래픽을 분석해보았더니, 여러 IP의 통신여부 차이를 발견했다. (Ex. 211.151.*.*이 정책 설정 전후로 allow, deny되는 트래픽을 발견했다.)
원인을 규명하기 위해(문제가 되는 IP를 특정하기 위해) 크롬 브라우저의 F12(개발자도구)에서 Network 분석 툴을 사용했다.
테스트하는 과정에서 pending 되는 부분을 찾아볼 수 있었는데, 헤더를 분석해보니 한 URL과 통신과정 중에 있음을 알게 되었다.
분석 결과 해당 URL은 오픈 소스로 CDN을 지원하는 api경로였다.
Pending되는 도메인 네임(jsdelivr.com)을 정책에 추가했더니 속도 문제가 잘 해결되었다.
CDN이란 Proxy 서버처럼 Origin 서버와의 통신을 중계하는 역할을 하여 통신 성능을 높이는 기술이다.
goormEdu에서는 jsdelivr(CDN)을 사용하고 있었는데, 이를 전해듣지 못해 정책에서 거부된 것이었다.
그래서 CDN이 아닌 Origin 서버와 직접 통신을 하려다 보니, 네트워크 상에서 Pending되었고, 이것이 속도 지연의 원인이 된 것이다.
트래픽 분석과 패킷 분석을 통해 어떤 부분이 속도를 늦추는 원인인지 직접 분석 및 규명할 수 있는 기회였다.
*위 사항들은 보안규정을 준수하기 위해 정책기한이 만료된 사항을 적었음을 밝힙니다.