호스팅에서 쫓겨났다

국내 한 대학 교양 과목의 작은 프로젝트를 진행하고 있다.

연구팀에서 원하는 내용을 구현해주는 작은 일이다.

개발과 함께 호스팅 관련 문제를 담당하게 되었다.

연구 연차가 3년 차에 접어들면서 총 3번의 서버 이동을 했다.

바로 직전에 CMS 만드는 회사의 호스팅을 사용했다.

어느 회사인지 밝힐 필요가 없는 게 그 회사 입장으로서는 그럴 수 밖에 없는 결정이라고 생각된다.

거쳐온 서버

이 프로젝트가 연구 재단에 소속되기 전에는 학교 서버에 올라가 있었다.

첫 번째 서버: 학교 서버

도메인 이름도 연결되어 있지 않고, IP 주소로 웹사이트가 돌아가고 있는 상황이었다.

연구를 주도하는 교수가 전 대 총장의 허락을 얻어 마련한 공간

이 프로젝트가 연구 재단을 통해 진행되기 시작하면서 도메인도 연결했다.

그리고 학생들이 사용하는 페이지를 새로 만들게 되었다.

그런데 이전에 돌아가던 페이지보다 약간의 기능이 더해지는 것이 서버 접속에 문제를 만들게 되었다.1

학교가 전산 관련 학과가 없고, 담당자도 전 담당자부터 있었던 서버라 돌아가게 두었지만, 관리를 하는 서버는 아니었던 모양이었다.

프로젝트가 진행되고 접속하는 학생 수가 많아졌다. 이 서버에서 웹사이트를 운영하는 것이 어렵게 되었다.

담당 교수는 프로젝트 진행으로 외부의 접근 통제를 요구했다. 그래서 워드프레스를 이용하게 되었는데 속도 문제가 생겼다.

그래서 다른 서버를 찾게 되었다.

두 번째 서버: 라이트 세일

서버를 찾으면서 AWS에서 라이트 세일이 출시되었다는 사실을 알게 되었다.

월 정액 요금이 국내 다른 서버보다 낮지만 기본 요금제보다 사용량이 많아지면 과금하는 방식이었다.

처음 설정한 서버 사양에서 제공하는 기본 사용량보다 많이 사용할 가능성이 없었기에 해당 요금만 내면 되는 상황이라고 판단하였다.

학교 서버에 있는 자료를 백업하고 AWS에 설정을 시작했다.

원 서버는 윈도우 서버였지만 윈도우 서버보다는 리눅스 서버가 더 익숙했기에 우분투 16.04 인스턴스를 생성했다.

처음 프로젝트를 시작한 것이 10월이었고, 몇 개월 동안 새로운 형식의 페이지를 만들어 이제 학기가 시작되면서 새 형식의 페이지로 서비스를 시작하게 되었다.

교양 과목이고 필수였기에 200명 가까운 학생이 이용하였다.

그 중 한 수업에서 70명이 동시 접속을 하니 서버가 다운되는 현상이 일어났다.

결국 평소에 사용하는데 필요 없는 사양까지 올리게 되었다.2

글을 쓰는 시점에 제공되고 있는 사양

세 번째 서버: 국내 호스팅

프로젝트 진행에 제안 관련 내용을 담기 위해 별도의 CMS를 이용하게 되었다. 이미 있는 서비스도 있었지만, 프로젝트에 참여하는 교수진이 이 서비스에 익숙하지 않았고, 이미 익숙한 서비스와 유사하게 이용할 수 있는 환경이 필요했기에 별도의 시스템을 구성할 수 밖에 없었다.

그런데 이 CMS 시스템을 이용해 관련 내용을 진행하는데, 문제가 생겼다.

업데이트가 제대로 진행되지 않는 문제인데, 업데이트만 안 되면 상관 없지만 업데이트 실패 후에 모든 페이지 접근에 오류가 생겨 학생도 접근할 수 없게 되었다.

그래서 해법을 고민하다가 CMS 만드는 회사에서 운영하는 호스팅 서비스를 이용하게 되었다.

다행히 해당 회사에서 제공하는 호스팅이 더 저렴하였고, 사양이 더 좋았다.

진행되는 프로젝트의 서비스를 이용하는 학생이 많았지만, 서비스 되는 페이지가 사용량을 많이 차지하지 않아 기본 제공량으로도 문제가 없었다.

내가 해커?

호스팅이 자꾸 죽었다

1년 요금을 미리 결제하고 사용하던 3번 째 달부터 호스팅 회사의 서비스에 문제가 생겼다.

주말 새벽에 서버가 다운된 것이다. 정확하게는 서버 접속에는 문제가 없었지만, 데이터베이스 서비스(MySQL)가 죽은 것이었다.

그 때부터 해당 회사의 문의 게시판에는 ‘서버가 느려졌다’, ‘접속이 잘 안 된다’는 등의 문의가 이어졌다.

해당 회사 담당자가 나름 빠르게 처리하려는 노력이 보였고, 이를 방지하기 위해 시스템을 보강하겠다는 공지와 함께 서버 사양을 올리는 작업이 있을 것이라는 공지가 올라왔다.

해킹의 증거

작업이 진행되고 있을 즈음 호스팅 회사에서 이메일이 왔다.

서버 장비 교체 작업 중에 사용하고 있는 계정으로 자원을 갉아먹는 서비스가 지속적으로 실행되고 있고, 이로 인해 서버 운영이 어려운 상황이 발생하고 있다는 것이다.3

그래서 이 프로그램을 실행하느냐는 것이었는데 아니라고 대답하였다.

프로젝트는 PHP로 처리되고 그 처리 내용도 문자열 처리하는 것이 전부였기에 그렇게 의심할 만한 프로그램도 아니었다. 이런 프로그램이 호스팅 서비스를 진행하기 어렵게 만들 리도 없지 않은가?

이런 내용의 이메일이 오가는 중에 회사의 대표를 통해 호스팅을 이용하는 단계부터 문의와 답변을 주고 받았으니 의심하는 것은 아니지만, 회사의 기술 부장이 해킹하려는 시도로 보이는 증거를 가지고 있다는 이상한 이메일을 받게 되었다.4

그러면서 호스팅을 이용하는 다른 회사에 피해가 계속 발생하니 환불을 해줄 테니 다른 서버로 이전해 달라는 요청을 받았다.

그래도 이전해 주세요

프로젝트 담당 연구진은 학기 말이라 학생이 시험을 마치는 2주 정도를 기다려 줄 것을 요청해 달라고 하였고, 이를 회사 측에 요청하였으나 답변은 이전과 같았다.5

다시 라이트 세일

그렇게 다시 라이트 세일로 돌아가게 되었다.

그런데 이상한 것은 다시 돌아온 서버에서는 국내 호스팅 회사에서 말하는 채굴 프로그램으로 보이는 활동이 없다는 것이다.

서버를 옮긴 뒤로 국내 호스팅 회사에서 발생한 일이 일어나지 않을 수 있는 방법을 모색하며 방화벽을 더 강화하고, 접근 IP를 주로 작업하는 PC의 IP로 제한하여 둔 것이 같은 일이 일어나지 않게 된 이유일 수도 있다.

아쉬움

하지만 아쉬운 것은 다시 라이트 세일로 이전하기 전에 국내 호스팅 회사에서 같은 조치를 취하고 해당 회사에서 공격이 멈추었다는 사실을 확인했음에도 계속 서버 이전을 요청했다는 사실이다.6

호스팅 회사는 호스팅 서비스가 주력인 회사가 아니었고, CMS 서비스를 주력으로 호스팅을 제공하는 회사라는 점이 호스팅에서 쫓겨나게 한 원인이 된 것이라는 결론에 이르게 한다.

서비스 개발 만으로 회사가 어렵사리 운영되고 있는 상황이니 별 문제가 없을 것으로 생각하고 진행하는 호스팅 서비스에서 문제가 생기는 상황은 회사 입장에서는 난감한 상황이었을 것이다.

이런 회사의 상황을 이해하고 서버를 이전하여 다른 이용자에게 어려움을 주지 않아야 한다는 이성적인 판단과는 별개로 아쉬움이 남는 것을 인간이기에 어쩔 수 없는 모양이다.

  1. 그 만큼 서버 환경이 좋지 않았다.[]
  2. 처음에는 첫 달 무료 혜택이 있는 $3.5짜리 사양(512MB, 1vCPU, 20GB SSD)으로 시작했는데, 동접자 문제로 서버가 다운되지 않는 사양으로 하나씩 올리다보니 $20짜리 사양(4Gb, 2vCPU, 80GB SSD)으로 올리게 되었다.학생들이 한 달 동안 사용하는 전송 용량은 1Gb도 안 된다.[]
  3. 서버 CPU 16개를 점유하는 서비스이고 담당자의 말로는 채굴 프로그램이 아닌가 싶다고 했다[]
  4. 주어가 생략되어 있어서 해킹 시도를 한 것이 당신이라는 뉘앙스로도 이해할 수 있는 문장이었다.[]
  5. 개인적인 생각으로도 프로젝트 진행에 차질이 있더라도 서버를 옮기는 것이 호스팅을 이용하는 다른 회사에 주는 피해를 최소화하는 것이라 생각했다. 하지만 서버 이동하는 중 큰 피해는 없었다.[]
  6. 이 부분이 제일 마음에 걸린다. 마치 내가 해커가 아니냐고 의심 받는 듯한 기분이다[]

댓글 남기기