VPS를 빌리고, 소프트웨어를 설치하고, 관리자 권한을 받습니다. 자연스럽게 “내 서버”라고 부릅니다. 청구서도 같은 말을 합니다. 하지만 물리적인 컴퓨터는 여전히 다른 사람의 것입니다. 여러분의 정보가 얼마나 비공개로 유지되는지는 광고 문구 속 “프라이빗”이라는 단어보다 이 사소한 사실에 훨씬 더 크게 좌우됩니다.
가상 사설 서버는 소프트웨어로 만들어진 컴퓨터로, 제공업체가 통제하는 호스트 컴퓨터에서 실행됩니다. 여러분은 빌린 환경 안에서 일어나는 일을 관리합니다. 제공업체는 그 환경을 구동하는 장비를 관리합니다. 둘은 서로 다른 수준의 통제권입니다.
여러분에게는 root가 있습니다. 업체에는 컴퓨터가 있습니다.
Root는 서버 내부의 관리자 계정입니다. 프로그램을 설치하고, 사용자를 관리하고, 설정을 바꿀 수 있게 해 줍니다. 그렇다고 제공업체의 물리적 컴퓨터까지 여러분의 통제 아래 놓이는 것은 아닙니다. 아파트 한 세대를 관리하는 것이지, 건물을 산 것은 아닙니다.
일반적인 VPS 구성에서는 호스트 인프라에 충분한 접근 권한을 가진 사람이 여러분의 서버에 로그인하지 않고도 가상 디스크를 복사하고, 암호화되지 않은 내용을 살펴볼 수도 있습니다. 서버 비밀번호는 여기에 관여하지 않습니다. 그 비밀번호를 확인하는 시스템 바깥에서 데이터에 접근하기 때문입니다.
이것은 평범한 시스템 관리 업무의 영역입니다. 예를 들어 Libguestfs는 가상 머신의 디스크 이미지를 살펴보고 수정하는 도구를 제공합니다. 정당한 유지보수에 유용한 도구입니다. 동시에 불편한 사실도 보여 줍니다. 기반 저장장치에 접근하는 권한은 여러분이 관리하는 로그인 권한과는 다른 종류의 권한이라는 사실입니다.
“들여다보지 않겠습니다”라는 말에 참 많은 것이 달려 있습니다
제공업체에 엄격한 규정과 직원 접근 제한, 제대로 된 감독 체계가 있을 수 있습니다. 모두 중요한 요소입니다. 하지만 “직원이 고객 파일을 읽는 것은 금지되어 있습니다”와 “시스템이 직원의 고객 파일 열람을 막습니다”는 서로 다른 약속입니다. 안심이 되는 개인정보 처리방침이 읽을 수 있는 디스크를 읽을 수 없게 만들지는 않습니다.
위험은 호기심 많은 직원에게만 국한되지 않습니다. 제공업체의 관리 시스템을 침해한 사람이 여러분이 준 적도 없는 권한을 얻을 수 있습니다. VPS 안의 모든 계정을 안전하게 지켜도, 그 밖에 있는 계정들의 보안에 여전히 의존할 수 있습니다.
음모가 필요한 이야기가 아닙니다. 여러분은 운영업체의 사람과 절차, 인프라를 믿고 있는 것입니다. 애초에 그런 조건의 거래를 하려던 것이라면 괜찮습니다. “프라이빗”이 아무도 들여다볼 수 없다는 뜻이라고 생각했다면, 조금 덜 만족스럽겠지만요.
자물쇠는 여러분 것. 예비 열쇠는 창고 관리인의 것.
창고의 한 공간을 빌린다고 상상해 보세요. 훌륭한 자물쇠를 달고 상자를 반듯하게 쌓은 다음, 할 일을 제대로 했다는 기분으로 나옵니다. 관리인에게는 그 공간에 들어갈 다른 방법이 있습니다. 그 점을 묻자, 허락 없이 들어가는 것은 회사 규정에 어긋난다고 설명합니다.
훌륭합니다. 누가 문을 열 수 있느냐고 물었더니, 누가 얌전히 행동해야 하느냐는 답을 들었습니다.
관리인은 전적으로 믿을 만한 사람일 수도 있습니다. 그렇다고 예비 열쇠가 사라지지는 않습니다. 여전히 누가 그 열쇠를 쓸 수 있는지, 다른 사람이 손에 넣지 못하게 무엇이 막고 있는지, 사용되었을 때 여러분이 알 수 있는지를 확인해야 합니다. “믿어 주세요”는 요청입니다. 누구의 출입도 막아주지 않습니다.
누군가 복사본을 읽는 동안에도 웹사이트는 멀쩡할 수 있습니다
정보를 복사한다고 원본이 사라져야 하는 것은 아닙니다. 가상화 소프트웨어는 실행 중인 서버 디스크의 스냅샷을 만들 수 있습니다. libvirt 문서에도 표준 기능으로 설명되어 있습니다. 그 복사본은 따로 살펴볼 수 있습니다. 정상적으로 작동하는 웹사이트와 초록색 가동률 그래프만으로는 누가 데이터를 봤는지 알 수 없습니다.
그 데이터는 고객과 주고받은 메시지, 청구서, 소스 코드, 미공개 작업물이나 데이터베이스일 수 있습니다. 트레이딩 봇의 인증 정보일 수도 있습니다. 문제는 암호화폐보다 크고, 비밀번호를 어디에 보관하느냐보다도 큽니다. 여러분이 일하는 환경을 다른 사람이 들여다볼 수 있다는 것입니다.
가동률은 훌륭합니다. 내 정보를 누가 볼 수 있느냐는 별개의 문제입니다.
소유자가 들여다보지 못하게 막는 것은 무엇입니까?
VPS를 자신만의 사설 컴퓨터로 여기기 전에 물어볼 만한 질문은 이것입니다. 접근을 막는 것이 직원의 규정 준수에 달려 있습니까, 아니면 운영업체도 간단히 우회할 수 없는 기술적 장벽이 있습니까? 그 장벽은 누가 통제합니까?
호스트에 대한 신뢰 의존도를 줄이도록 설계된 구조도 있습니다. 예를 들어 기밀 가상 머신은 하드웨어 보호 기능을 이용해 실행 중인 작업을 호스팅 계층으로부터 격리합니다. 어떤 보호를 받는지는 디스크와 암호화 키를 다루는 방식을 포함한 구성에 따라 달라집니다. VPS라는 세 글자만으로는 어느 것도 보장되지 않습니다.
컴퓨팅 자원을 빌리는 것은 유용합니다. 실수는 관리자 권한을 받았으니 다른 사람의 컴퓨터를 독점적으로 통제할 수 있다고 생각하는 데 있습니다. 장비는 여전히 제공업체가 운영합니다. 업체가 안을 들여다볼 수 있는지는 확인해야 할 문제이지, 믿고 넘길 문제가 아닙니다.