내용이 길지만 이해는 쉽습니다.
어려운 내용을 쉽게 설명하는것도 실력이지요.
그래서 퍼왔습니다.
나꼼수의 김총수가 선관위 홈페이지에 대한 의혹을 제시하였고,
선관위의 주장처럼 DDos는 아니라며 주장을 하고 있습니다.
그 주장에 관하여 현업 시스템 엔지니어라면 누구나 동의 하리라 99.99% 확신합니다.
0.01%를 남겨둔 것은 이 비정상적인 일에 가담한 비 양심 엔지니어가 존재할 것이기 때문입니다.
나꼼수에서 내놓으라고 하는 로그 파일에 관해 설명 드리자면
시스템이 운영 되면서 일어나는 모든 작업들이 기록된 파일입니다.
비전문 일반인들은 그 로그 파일이란 것이 파일 한 개라 생각 하실지 모르겠으나
로그 파일은 용도에 따라 여러 형태로 존재 합니다.
먼저 OS레벨의 로그가 있고 여기에는 서버에 로그인 하는 기록이나,
네트워크 오류 에러, OS에러 등등 OS레벨에서 일어나는 일들이 기록 됩니다.
서버에 접속한 기록 일체가 기록 됩니다.
또 한 가지는 웹서버(Http Server)가 기록 하는 로그 입니다.
웹 서버라는 것은 우리들이 홈 페이지에 접속할 때 그 요청을 받아들이는 녀석으로
웹서버가 움직여야 홈 페이지가 운영 될 수 있습니다.
또한 이번 로그 논란의 쟁점이 되는 부분이 여기 입니다.
웹서버가 기록 하는 로그에는 요청한 클라이언트PC의 IP 요청한 페이지,
그 요청이 제대로 처리 되었는지 아닌지에 대한 스테이터스 등등이 기록이 됩니다.
한마디로 누가 언제 어디서 무엇을 어떻게 페이지를 요청 했는지 기록 일체가 기록됩니다.
저도 회사에서 홈 페이지 운영을 하는데 매달 고객측 홈페이지에 대한 방문자 수에 관한 보고서를 올립니다.
그 때 이용되는게 웹서버의 로그로써, 로그 분석 프로그램에 넣고 돌리면 매일 매일의 접속 기록이
일반인들이 보기 좋게 표나 그래프 등으로 쫙 나옵니다.
그걸 보고 고객측은 접속자가 늘었나 줄었나 알 수 있고 자신들 영업에 이용을 하죠.
접속 기록 뽑는데 10분도 안걸립니다.
따라서 정말 DDos인지 아닌지는 10분만 투자 하면 충분히 알 수 있습니다.
DDos는 순간적으로 접속자 수가 늘어서 웹서버가 다운되는 현상을 말 하는 데,
웹서버가 다운되기 직전까지의 모든 기록은 웹서버 로그에 기록되기 때문에,
분석 프로그램으로 돌려 보면 비정상적으로 접속이 늘었기에 웹서버가 다운 된 것인지 알 수 있습니다.
아니면 일부러 웹서버를 셧다운 시킬 수도 있는 데 그 기록은 서버의 기동 로그라는 다른 로그로 남겨집니다.
따라서 웹서버가 다운 된 원인을 이런 저런 로그를 분석해 보면 단 번에 알 수 있고, 제가 하는 일이기도 합니다.
그런데 이번 일은 다른 페이지는 정상 운영 되었고 일부 투표소 검색만이 먹통이 되었다라고 하는 것인데, 이 시점에서 이미 DDos는 아닙니다.
DDos는 위에 설명한 웹서버에 과부하를 걸게해서 다운 시키는 공격으로서 홈 페이지 전체가 죽어 버립니다.
따라서 일부 기능만이 정상작동 되지 않는다라는 것은 성립되지 않습니다.
그럼 어떤 일이 일어났느냐 라는 것을 살펴봐야 하는 데 그것을 위해서 이번엔 어플리케이션 로그를 봐야 합니다.
어플리케이션이라는 것은 홈 페이지를 구성 하고 있는 프로그램을 일컫는 것으로,
홈 페이지라는 것이 단순히 HTML로 이루어 진 곳도 있겠지만, DB와 연동해서 검색 기능 등을 서비스하기 위해서는 HTML만으로는 안되며 ASP, PHP, JAVA 등등과 같은 웹프로그램 언어로 작성해야 합니다.
자세한 설명은 어려운 내용이 되기 때문에 이러한 프로그램으로 작성된 홈페이지를 어플리케이션이라 하겠습니다.
이용자들이 어떤 페이지에서 어떤 검색을 했거나 했을 때 그 기록이 역시 로그에 남습니다.
이건 로그를 작성하기 위한 코드를 넣어야 기록이 되는 것이라 반드시 애플리케이션 로그가 남는다라고는 말할 수 없지만 선관위 같은 대형 사이트의 홈페이지를 작성 하며 로그를 기록 하지 않는 다라는 것은 상식적으로 이해할 수 없습니다.
이 로그를 보면 프로그램에 장난을 쳤는지 단박에 알 수 있습니다.
저 같이 일선에서 시스템을 관리 하는 엔지니어에게 이런 일은 껌입니다.
로그만 보여 주면 무슨 일이 일어났는지 단박에 알아낼 수 있습니다.
또한 만일 그럴 리는 없지만, 투표소 검색 부분의 프로그램에 손을 댔다면
그 프로그램 소스의 갱신일이 바뀌는 데, 그건 전문가가 아닌 누가 봐도 여기 손댔다라고 알 수 있습니다.
프로그램 수정 같이 눈에 띄는 방법을 피해서 특정 부분만 다운시킬 수 있느냐 라고 한다면 가능합니다.
방법이 여러가지 있는데, 가장 손쉬운 방법은 DB 중에 투표소가 있는 테이블을 삭제 하는 것입니다.
그러면 당근 테이블이 없으니 그 부분만 접속 에러가 됩니다.
나중에 복원 하면 되는 것이구요.
그럴 리는 없지만, DB에 장난질을 쳤다고 해서 모르냐 하면 그렇지도 않습니다.
DB역시 자신에게 일어난 모든 일을 로그에 기록 합니다.
먼저 테이블을 지웠다면 지웠다라는 기록이, 백업을 했다면 백업 기록이 남습니다.
ORACLE같은 좋은 DB들은 심지어 어떤 SQL이 동작 했는지 자세한 기록이 전부 남습니다.
얼추 간단히 설명 하느냐 했지만 일부 어려운 내용이 있을 수도 있겠습니다만,
시스템의 세계에서 로그란 상당히 중요한 파일이며, 상당히 여려 종류로 기록되어 이루어집니다.
따라서 이 모든 로그들을 종합해서 분석해 보면 시스템에서 무슨 일이 일어났는지 단박에 알 수 있습니다.
저 같은 레벨이 낮은 엔지니어라도 만일 선관위 서버를 들여다 보면 10월26일 새벽에 무슨 일이 일어났는지 알아 낼 수 있다고 장담합니다. 뭐, 어려운 일도 아니구요....
여기서 그럼 로그를 조작할 수 있지 않느냐 라는 의문이 들 것 입니다.
시스템이 작성해내는 로그를 조작 한다는 것이 그리 쉬운게 아닙니다.
웹서버의 로그의 경우 방대하고 사이즈가 크기 때문에 매일 매일 파일을 백업합니다.
이 때 백업도 웹서버가 자동으로 하는데 로그 파일 뒤에 날짜를 추가해 넣습니다.
따라서 10월26일자 로그 파일을 조작한다면 파일 갱신일이 바뀌게 되는 데 조작했습니다라고 실토 하는 꼴이 되죠.
즉, 10월26일자 로그 파일의 작성일은 10월26일이어야지 다른 날이 되어서는 안된다라는 것입니다.
뭐, 시스템 날짜를 뒤로 돌려 조작하자면 안될 것도 없겠지만,
로그 파일의 종류가 많기 때문에 그 모든 로그 파일의 내용을 논리적으로 일치시키기 위해서
어떠한 노력을 해야 하는지 생각만 해도 아찔하네요...
그래도 전문가가 보면 단박에 조작 했는지 아닌지 알 수 있을 겁니다.
제 개인적으로 드는 의문은 선관위 홈페이지가 KT데이터센터에서 운영된다라는 것인데,
아시다시피 KT는 국내 최대 데이터센터이며 세계적으로도 기술력으로 결코 뒤지는 데가 아닙니다.
DDos공격은 이미 보편화 되었고 단순한 공격입니다.
이 말은 KT정도면 충분히 막을 수 있다라는 것입니다.
그 정도 기술력은 충분히 됩니다.
만일 KT의 방어를 뚫을 정도면 정말 거대 조직이 동원되지 않고서 한 개인이 가능할 지 의문이군요. 그 비용도 엄청나게 들 건데 말입니다.
2CH같은 곳에서 공격 한다 해도 KT정도면 해볼만 하다고 생각하는 데 말입니다.
좀비 PC몇 대로 DDos프로그램으로 공격하는 것 정도로 과연 다운될 지 의문입니다.
그런 단순 공격으로는 웹서버에 도달하기 전에 방화벽으로 다 차단될 텐데 말입니다.
여기서 KT의 방화벽 로그를 분석해 봐도 되겠네요...
어쨌든 김총수 말대로 로그만 보여주면 이 모든 의문이 해결 될 듯 합니다.
|