백업 서비스 크래시플랜 사용기
월 비용은 고정하고 싶지만 그래도 백업은 하고 싶었습니다.
얼마 전 일본에서도, 그리고 한국에서도 출판 관련 업계가 랜섬웨어의 공격을 받아 모든 데이터를 잃어버렸을 뿐 아니라 모든 데이터가 공개되어 문제가 일어났다는 소식을 접했습니다. 이미 이 세계는 제로데이 공격이 빈번하게 일어나는 정말 무시무시한 곳이 된 지 오래지만 컴퓨터를 사용해 일상생활 뿐 아니라 직업적 업무를 처리하는 사람들조차 세상이 이런 무시무시한 곳이라는 사실을 잘 깨닫지 못하는 것 같습니다. 사실 개인이 보안에 덜 취약해지는 방법은 별 것 없습니다. 여러 소프트웨어는 그나마 보안 문제가 발견되면 그때그때 수정하곤 하기 때문에 가능한 최신 버전의 소프트웨어를 사용할 것, 출처가 확인된 안전한 소프트웨어만 사용할 것, 업무용 기계로 업무와 별 관계 없는 행동을 하지 말 것 정도입니다. 그리고 여기에 조금 더 추가한다면 만약 이 모든 데이터가 사라질 경우를 대비해 안전한 백업을 갖추는 것입니다. 사실 여기까지 하고 나면 개인 수준에서 할 수 있는 보안 위협에 대한 대응은 할만큼 했다고 볼 수 있습니다. 여기에 제대로 된 보안 소프트웨어를 사용하는데 돈을 들인다든지 하면 더 좋겠지만 거기까지 요구하기에는 컴퓨터를 사용하는 여러 사람들이 처한 상황이 모두 제각각이어서 쉽지 않습니다.
유튜브에 올라오는 영상을 무지성으로 재생하다 보면 종종 아주 오래된 운영체제를 인터넷에 연결해놓고 얼마만에 망가지는지 실험하는 내용이 있습니다. 아주 오래된 운영체제는 인터넷은 커녕 네트워크조차 지원하지 않아 사실상 인터넷을 통한 공격이 불가능하지만 어설프게 오래된 운영체제는 초보적으로나마 인터넷 기능을 지원해 좀 귀찮은 절차를 거치면 현대 인터넷에 연결할 수 있습니다. 그런데 현대 인터넷은 어처구니 없을 정도로 공격자들의 천국이어서 이런 무시무시한 아포칼립스를 가정하지 않고 개발된 오래된 운영체제들은 현대의 아포칼립스에 내놓자마자 즉시 문제를 일으킵니다. 아무 것도 안 하고 그저 인터넷에 물려 놓았을 뿐인데 잠시 후 자동화된 공격에 의해 개방된 네트워크를 통해 취약점 공격이 시도되고 아주 오래된 운영체제는 그리 오래 걸릴 것도 없이 공격자의 취약점 목록 첫 페이지에 있는 시도가 끝나기도 전에 문제를 일으킵니다. 실행한 적 없는 잘 모르는 프로세스가 돌아가고 이들은 오래된 운영체제가 설치된 하드웨어의 스토리지를 구석구석 뒤져 쓸만한 데이터가 있는지 검색할 뿐 아니라 혹시 같은 로컬 네트워크 안에 다른 기계가 있는지 찾아보고 있었습니다. 동시에 또 다른 공격자는 이미 첫 번째 다른 공격자가 이 기계의 스토리지에 별 게 없다는 사실을 파악한 다음에도 그나마 남아 있던 파일을 암호화 하기 시작합니다. 하지만 불행하게도 두 번째 공격자가 스토리지 암호화를 끝내고 랜섬 공격을 시도하기도 전에 또 다른 공격자의 프로세스가 이들과 충돌해 운영체제에 크래시를 일으키고 고작 몇 분 만에 이 오래된 운영체제는 부팅이 불가능한 상태에 빠진 다음 영상이 끝납니다.
이런 무시무시한 세계에서 랜섬웨어로부터 공격을 받는 것 자체는 그렇게까지 부끄러운 일은 아니라고 생각합니다. 비즈니스에 타격을 입긴 하겠지만 문제 상황을 맞이한 대형 항공기 조종사들이 일단 셋 까지 세면서 아무 것도 하지 말고 상황을 파악한 다음 침착하게 플라이, 내비게이트, 커뮤니케이트의 순서로 비상 절차를 수행하는 것과 마찬가지로 일단 상황을 파악하고 침착하게 문제를 일으킨 기계를 완전히 초기화한 다음 보안 수준을 올린 다음 백업으로부터 이전 환경을 복원해 다시 비즈니스로 복귀하기만 하면 될 일입니다. 이 과정에 시간이 좀 걸릴 수 있기 때문에 이전 환경을 복원하는 며칠 동안 비즈니스가 이전과 같이 원활하게 동작하지 않을 수는 있지만 일단 복원이 끝나고 비즈니스 환경이 동작하기 시작하면 이전과 같이 원래 업무로 돌아갈 수 있을 겁니다. 보안 강화 역시 특별한 것 없이 가능한 범위 안에서 운영체제의 최신 버전을 사용하고 회사가 찢어지게 가난해 대표님은 연두색 번호판이 달린 멋진 검정 세단을 타고 다니지만 직원들에게는 지원이 끝난 오래된 운영체제를 바꿔주지 않는 구멍가게에 불과하다면 이 틈새를 노린 보안회사들이 판매하는 그리 비싸지 않은 보안 소프트웨어를 통해 위험을 완화할 수 있습니다. 그러니까 일단 운영체제를 초기화하고 가능한 모든 업데이트를 받은 다음 보안 소프트웨어를 설치한 다음 이전 환경을 복원해 실행해보고 정상 동작하면 이전처럼 비즈니스에 복귀하면 된다는 이야기입니다. 그런데 상황을 살펴보니 이들은 그렇게 할 수 없었습니다.
놀랍게도 이들은 그들의 핵심 비즈니스를 동작하게 만들어주는 정보시스템에 대한 아무런 백업도 가지고 있지 않았다고 합니다. 수많은 거래처들이 재고를 확인하고 주문을 넣고 이에 따라 직접 사람들이 움직여 물건을 배송하고 이들이 판매됨에 따라 감소하는 재고를 전체 시스템이 반영해 시스템을 사용하는 모두가 재고 현황, 특정 물건의 현재 남은 재고가 있는 지점 위치 따위를 관리하는 이 중요한 시스템은 백업 없이 운영되고 있었던 모양입니다. 그래서 이 시스템을 운영하는 여러 사람들이 만든 소프트웨어 조각들 중 어느 하나가 앞서 오래된 운영체제가 인터넷에 노출된 후 몇 분만에 만신창이가 된 것처럼 어느 한 소프트웨어의 취약점을 이용해 실행된 랜섬웨어가 모든 파일을 암호화하고 마지막으로 시스템을 사용할 수 없게 만든 다음 돈을 내 놓으라는 화면을 표시하는 그 순간까지도 오직 지금 운영되고 있는 이 시스템과 시스템에 설치된 이미 암호화되어 사용이 불가능해진 스토리지 말고는 아무런 백업도 없었고 이 시스템을 통한 비즈니스는 완전히 중단될 수밖에 없었습니다. 사실 현대에 어지간히 보안 문제에 관심이 있지 않고서는 컴퓨터를 사용하는 개인이나 심지어 컴퓨터를 사용해 비즈니스를 운영하는 개인과 회사조차도 철저하게 보안 이슈에 대응하기는 쉽지 않습니다. 앞서 보안을 유지하는 행동이 그렇게 복잡하지 않다고 이야기하긴 했지만 저 정도 조치 조차도 하루하루 업무에 바쁜 최종 사용자 입장에서는 복잡하고 힘들게 느껴질 수 있습니다. 하지만 이 모든 상황에도 불구하고 백업이 전혀 없었다는 사실은 이 소식을 접한 제 속을 완전히 뒤집어 놓기에 충분했습니다.
아니 도대체 어떻게 컴퓨터를 통해 구동되는 정보시스템을 통해 비즈니스를 영위하는 사람들이 정보시스템을 백업하지 않을 수 있나요. 굳이 랜섬웨어의 공격을 받지 않더라도 정보시스템을 구동하는 하드웨어는 수명이 있어 언제든 이를 구성한 아무 기계가 고장나며 전체 시스템에 문제를 일으킬 수 있습니다. 스토리지 기계는 언제든지 에러를 토해내며 그 안에 있던 수 기가에 달하는 중요한 정보에 영구적으로 접근할 수 없을 수 있고 컴퓨터 안에 들어 있는 여러 칩들 역시 온도에 취약해 모터에 의해 돌아가는 팬이 고장나면 순식간에 작동을 멈추거나 영구적으로 고장 날 수 있습니다. 온갖 이유로 정보시스템을 구동하는 기계가 고장나 정보시스템이 작동을 멈출 수 있으며 이런 고장 원인 중 일부는 스토리지 디바이스에 문제를 일으켜 지금까지 긴 세월에 걸쳐 저장해 온 모든 비즈니스 정보에 영구적으로 접근할 수 없게 될 수 있습니다. 그나마 다른 기계는 고장나면 같은 역할을 하는 새 기계를 구입해다가 교체하고 시스템을 다시 시작하면 대부분 해결할 수 있습니다. 기계를 사러 갔다 와서 교체하는 몇 시간 동안 시스템을 사용할 수 없겠지만 정보시스템이 다시 시작되면 그 날은 좀 운이 없었던 것으로 하고 다들 다시 일상 업무로 복귀할 수 있습니다. 하지만 스토리지는 한번 고장나면 거기 기록된 정보가 모두 사라지므로 이는 새 스토리지를 사 온다고 해서 일상 업무로 복귀할 수 있지 않습니다. 마침 기계를 구성하는 다른 모든 기계는 백업이 불가능하지만 유일하게 스토리지만은 이 안의 정보를 다른 장소에 주기적으로 복사했다가 문제가 일어나면 그 장소로부터 다시 복사해 와 문제를 해결할 수 있는데 이를 백업이라고 하고 컴퓨터를 통해 구동되는 정보시스템에 의존하는 비즈니스를 수행하는 모든 사람들은 만약을 대비해 백업을 해야만 합니다.
백업 없이 컴퓨터를 사용하고 백업 없이 정보시스템에 의존하는 비즈니스를 수행한다는 말은 마치 하나 뿐인 목숨을 가지고 낙하산 없이 비행기에서 뛰어내려 땅 위에 설치된 거대한 망 위에 떨어지는 스턴트를 한 시간마다 반복하는 거나 다름 없습니다. 물론 대부분은 별 일 없이 살아서 땅에 내려올 수 있겠지만 어느 날 단 한번이라도 실수가 일어나면 하나 뿐인 목숨은 바로 사라지고 이 모든 행동을 영원히 재시도 할 수 없게 됩니다. 백업은 뭐 대단한 것이 아닙니다. 그저 정보시스템을 구동하는 기계와 분리된 다른 기계에 비즈니스 크리티컬한 파일을 주기적으로 복사해 놓는 것 뿐입니다. 그리고 가끔 그렇게 복사해 놓은 파일이 온전한지 검사하고 또 만약을 대비해 파일을 다시 복원해 오는 연습을 해 놓기만 하면 랜섬웨어 같은 현대에 흔한 문제를 겪더라도 잠시 깜짝 놀랄 수 있지만 침착하게 몇 시간이나 며칠이 지난 다음 이전과 같은 비즈니스로 돌아올 수 있습니다. 물론 이 과정이 이렇게까지 단순하지는 않고 백업하는 기계는 웬만하면 원래 기계와 같은 네트워크를 사용하지 않아야 하고 또 웬만하면 같은 장소에 있지 않아야 하며 또 웬만하면 같은 종류의 미디어를 사용하지 않아야 하지만 그렇게까지 모든 원칙을 지키지 않더라도 최소한 네트워크만이라도 분리되어 있으면 랜섬웨어가 네트워크를 휘저으며 거기 접속된 여러 기계 중 같은 취약점이 있는 기계를 암호화 하는 상황으로부터 보호 받아 여러 사람의 생계를 이어갈 수 있게 해 줄 겁니다.
이런 백업의 중요성을 깊이 이해하기에 개인 수준에서 항상 백업에 크게 신경 쓰고 있는데 신기하게도 백업에 크게 신경을 써 온 오랜 세월에 걸쳐 정말 큰 사고가 일어나 백업으로부터 전면적인 도움을 받을 일은 없었습니다. 어쩌면 백업은 동양식으로 말하면 어떤 부적과도 같은 역할을 하고 있을른지도 모릅니다. 백업이 있으니 이를 사용할 일이 일어나지 않지만 어쩌면 백업이 없으면 바로 이를 사용해야만 할 일이 일어나 심각한 상황에 빠질 지도 모릅니다. 그래서 기계를 새로 구입하면 맨 먼저 신경 쓰는 것이 바로 백업인데 이전에 백업 환경은 점점 더 나빠지고 있다에 소개한 대로 이상하게도 백업의 중요성이 점점 더 강조되는 상황에서 기계를 사용하는 사람들 각자가 할 수 있는 백업은 점점 더 어렵고 복잡해지는 이상한 상황이 일어나고 있습니다. 가령 똑같은 애플 제품이라도 아이폰과 아이패드는 아이클라우드 백업을 통해 신경 쓰지 않아도 온라인에 백업을 만들어 줘 기계를 교체할 때 이를 활용할 수 있습니다. 하지만 맥 제품은 이런 기능을 제공하지 않으며 타임머신이라는 별도의 백업 기능을 제공하는데 이 기능이 동작하는 모습은 그럴싸해 보이지만 실상 물리적으로 분리된 장소에 백업이 아주 어렵고 또 자사의 파일시스템에 의존성이 커 백업 스토리지를 교체할 수도 없는 아주 이상한 기능으로 간이 백업으로는 사용할 수 있겠지만 앞서 설명한 랜섬웨어에 의한 공격 상황에는 활용할 수 없어 보입니다. 윈도우도 마찬가지인데 윈도우 7 시대에는 현대에 비해 훨씬 더 단단하게 잘 동작하는 백업 소프트웨어를 제공했지만 현대에는 원드라이브를 통한 아주 부실한 백업 소프트웨어를 제공할 뿐이어서 백업이 중요하다는 사실을 알지만 그저 컴퓨터를 도구로 사용할 뿐인 보통 사람들이 안전하게 백업할 방법은 점점 사라지고 있습니다.
개인적으로는 제가 사용하는 기계와 물리적으로 같은 공간에 있는 다른 기계에 하는 백업은 백업으로써 신뢰하지 않습니다. 지금까지 그런 일이 일어나지는 않았지만 랜섬웨어의 공격을 받는다면 같은 네트워크에 있는 제 핵심 기계와 이 기계를 백업하는 다른 기계는 함께 공격을 받아 똑같이 암호화 될 수 있습니다. 또 제 핵심 기계와 같은 공간에 있는 기계는 갑작스런 과전류로 함께 고장날 수 있고 또 화재가 일어날 때 역시 함께 사라질 수 있습니다. 같은 공간에 있는 백업 기계는 굳이 쓸모를 찾는다면 실수로 삭제한 파일을 복원하거나 실수로 덮어 쓴 파일의 이전 버전을 복원하는 용도로는 사용할 수 있겠지만 현대에 이런 기능은 백업 없이 그냥 운영체제가 자체적으로 지원하는 기능만으로도 충분한 수준입니다. 백업은 반드시 물리적으로 제 핵심 기계와 다른 공간에 있어야 합니다. 유튜브에서 관련 튜토리얼을 찾아보면 신뢰할 수 있는 누군가와 서로 백업 기계를 맞바꿔 서로 상대의 데이터를 백업하는 기계를 각자 설치하고 운영하는 시나리오를 말하기도 하는데 현대에 이는 달성하기 결코 쉽지 않은 시나리오입니다. 아니 일단 친구가 있는지부터 물어봐야 하는 것 아닌가 싶은데요. 이런 이유 때문에 백업은 항상 온라인 스토리지를 사용해 왔는데 온라인 스토리지 백업은 약간 느리기는 하지만 잘 동작했고 월 이용요금을 납부하고 있는 이상 앞서 설명한 실수로 삭제한 파일을 복원하는 등의 용도에 잘 동작해 왔습니다. 하지만 시간이 지나며 이 온라인 백업 서비스를 바꿔야 할 문제를 맞이하고 말았습니다.
개인용 퍼포스 사용기 및 영업에서 제가 드랍박스나 원드라이브 같은 서비스 대신 보통 소프트웨어를 개발할 때 사용하는 퍼포스를 파일 관리에 사용한다고 소개했습니다. 이 소프트웨어의 핵심은 일단 서버로 전송한 파일은 제가 삭제를 요청하더라도 클라이언트에서만 삭제하고 서버에는 삭제되었다고 표시할 뿐 실제 파일을 영원히 삭제하지 않아 원한다면 먼 옛날 태초의 태초까지 돌아가 그 시대의 모든 파일을 현대로 가져올 수 있다는 점입니다. 보통 사용 목적을 달성한 파일들은 그만 삭제하고 스토리지를 비우는 식으로 사용하지만 한동안 컴퓨터를 사용해 데이터를 만들어 오면서 한 가지 목적을 달성하기 위해 사용한 다양한 파일들을 그냥 제거하는 건 단기적으로는 스토리지를 비워 돈을 아낄 수 있고 또 파일을 정리할 이유를 없애주지만 장기적으로는 오래된 파일을 찾고 싶을 때 이 필요를 시도조차 할 수 없게 만든다는 점 때문에 장기적으로 아무것도 삭제하지 않는 파일 관리 방법을 찾고 있었습니다. 퍼포스는 주로 소프트웨어를 개발하는 기업 단위로 사용하는 것 같지만 소규모로 사용하는 개인에게는 무료이기 때문에 기업 단위에서 사용하는 강력한 도구를 개인 수준에서 사용하며 중요한 파일을 몽땅 퍼포스에 밀어 넣고 파일을 수정하든 이동하든 심지어 삭제하든 모두 퍼포스를 통해 수행하고 있으면 클라이언트 상에서는 파일이 삭제된 것처럼 보이겠지만 서버는 그 무엇도 삭제하지 않고 단지 삭제했다고 표시해 놓을 뿐이어서 미래에 과거의 어떤 파일이 필요하다면 겁 먹지 않고 히스토리를 과거로 스크롤 한 다음 파일을 끄집어내 현실로 가져와 다시 사용할 수 있게 해 줍니다.
이런 사용 시나리오는 퍼포스 덕분에 여러 기계를 백업해야 하던 상황을 퍼포스 서버 하나만 백업하면 되는 상황을 바꿔 줍니다. 제가 개인적으로 사용하는 데스크탑도, 랩탑도 모두 퍼포스 서버로부터 파일을 받아 사용하기 때문에 만약 어느 날 이 기계를 분실하거나 파괴되거나 랜섬웨어에 의해 암호화되더라도 그냥 다른 기계를 준비해 퍼포스 클라이언트를 설치하고 인증 정보를 제시해 최신 파일을 받아오기만 하면 이전과 똑같은 상태로 돌아갈 수 있습니다. 그래서 이전에는 각각의 기계를 모두 백업하던 시나리오에서 퍼포스 서버 하나만 백업하는 것으로 백업 시나리오를 바꿉니다. 그런데 퍼포스에 좀 더 많은 파일을 의탁하게 되면서 백업에 새로운 요구사항이 생겼는데 퍼포스는 근본적으로 파일을 삭제하지 않기 때문에 백업 크기는 반드시 증가하기만 합니다. 그래서 시간이 흐름에 따라 제가 클라이언트에서 삭제했다고 생각하는 파일도 서버에는 계속해서 남아 공간을 차지하고 공간에 따라 과금하는 백업 서비스를 사용하는 이상 시간이 흐름에 따라 백업 유지 비용이 점점 더 증가하게 되었습니다. 이전에 퍼포스 서버를 AWS에서 구동하다가 장기적으로 비용을 낮추기 위한 온프레미스 전환했는데 이 때 까지만 해도 백업 비용이 높지 않았습니다. 이후 본격적으로 퍼포스에 여러 파일을 의탁하면서 사용량이 크게 증가해 최근에 썬더볼트를 지원하는 커다란 외장하드를 붙여 이를 퍼포스 스토리지로 사용하기 시작했습니다. 아마도 이 기계는 꽤 오랜 세월에 걸쳐 제가 삭제하지 않고 계속해서 쌓기만 하는 파일을 안정적으로 유지해 주겠지만 이제 백업은 이 거대한 외장하드 전체 크기만큼 커질 수 있었고 이는 제가 매 달 부담하기에는 너무 큰 금액이 될 가능성이 높았습니다.