본문 바로가기

사는 얘기/관심 이슈

나는 꼼수다에서 밝힌 선관위 디도스 공격에 대한 단상(1)

이번 서울 시장 선거에 선관위 홈페이지와 원순닷컴이 공격을 받아 문제가 발생했었다. 원순 닷컴은 나는 꼼수다 팀에서 로그 파일을 받아 분석한 결과 디도스 공격이 맞다고 확인이 되었다. 그러나 선관위 로그는 정보공개요청에서 거부가 되었다. 정보공개거부 사유에 대해 선관위 담당자는 전화통화에서 로그에 디렉토리 경로가 노출이 되기 때문에 이를 공개할수가 없다는 것이다. 이에 대한 생각을 써보고자 한다.

갠적으로 웹프로그래머란 직업을 가지고 있다보니 이 부분에 대해 아주 문외한은 아니다. 다만 나도 모르는 부분이 있을수 있으니 이럴 경우 지적을 부탁한다. 여기서 하나 가정을 짓고 들어가본다. 일단 선관위 시스템이 무엇으로 구성되어 있는지를 알지 못해서 Java 기반 시스템이라고 가정을 하겠다.(어차피 공공기관 홈피는 대부분 Java로 구축되어있다. 왜냐면 공공기관 프로젝트일경우 행안부에서 전자정부 프레임워크로 개발을 거의 의무화하고 있기 때문에 ASP나 PHP로 구축한 시스템은 요즘 거의 찾기 힘들것이라 생각하기 때문이다)

선관위 같은 경우는 나름 규모가 있는 사이트이기 때문에 이중화도 되어 있을 것이고 L4 스위치를 이용한 분산도 되고 있을것이라고 생각한다. 내가 이제껏 9년여의 경력으로 다뤄봤던 WAS(Web Application Server) 솔루션은 Tomcat, JEUS, Weblogic이었다.(개인적으론 JEUS를 쓸것이라 생각한다. 공공기관 사이트의 경우 조달청에서 운영하는 사이트에서 상용프로그램을 구하는 편인데 JEUS가 국산이라 국산을 애용해야 한다는 논리로 이것을 주로 사용한다) 웹사이트를 개발하는 방법은 프로젝트마다 다르긴 하지만 흔히 2가지중 하나로 하는 편이다. 

1. 실제 운영 WAS 서버에 설치할 WAS와 동일한 WAS를 개발자 PC에 설치해서 개발을 한다.
2. 개발자 PC에는 비교적 가벼운 Tomcat을 설치해서 그걸로 개발을 한뒤에 그 개발 결과를 실제 운영 WAS 서버에 자신이 개발한 결과물을 셋팅한다.



암튼 개발환경에 대한 얘기를 조금 했는데 이 얘기를 하는 이유는 내가 이제껏 개발하면서 WAS 로그에 디렉토리 경로를 남기는 WAS 솔루션을 본 적이 없다는거다. 정확하게는 완전한 절대경로를 얘기하는 것이다. 예를 들어 Tomcat을 예로 든다면 만약 Tomcat이 C:\Tomcat에 설치되어 있고 로그에서 표현해야 할 디렉토리와 파일이 C\Tomcat\log\log1234.log이 있다면 로그파일에 C\Tomcat\log\log1234.log 이렇게 표현하지 않는다는거다. 표현을 한다면 Tomcat 솔루션을 사용하고 있고 이 솔루션이 설치된 위치를 로그 파일을 보는 사람 입장에서는 Tomcat이 설치된 디렉토리를 알고 있기 땜에 \log\log1234.log  이런식으로 표현한다. 이거 노출된다고 무슨 해킹에 악용이 되는것인지 안맞는다. 표현되는 경로는 상대경로인데..

물론 선관위 홈페이지가 운영되는 과정에서 로그 파일이 만들어지고 이걸 보면서 운영된다. 하지만 정부기관 웹사이트 구축의 경우는 프레임워크(정확하게는 전자정부 프레임워크) 기반에서 웹사이트가 설계되고 만들어지기 때문에 선관위 운영을 위해 로그파일을 만들어야 한다면 WAS 솔루션이 솔루션 자체의 관리를 위해 기록되는 로그 파일이 아닌 별도의 로그 파일에 기록을 한다. 그리고 이것을 정보공개요청에서 달라고 하는 것은 아니다. 왜냐면 디도스 공격과 관련된 내용은 앞에서 말한 WAS 솔루션 자체의 관리를 위해 기록되는 로그 파일에 기록되는 것이지 업무때문에 필요한 성격의 로그파일에 기록되지 않기 때문이다. 그런데도 안주고 있다. 그래서 개인적인 결론을 한번 내려 본다면 현재 내세우고 있는 선관위 로그 파일 공개 거부는 말이 안되는 것이라고 본다.