2023년 LastPass 사용자들이 자신의 볼트(vault)에서 잠기는 일이 발생했을 때, 이는 해커들이 무언가를 뚫었기 때문이 아니었습니다. 이는 LastPass가 침해 사고 이후 볼트 암호화를 강화하기 위해 MFA 재동기화를 강제로 적용했고, 그 과정에서 수많은 사용자가 빠져나올 수 없는 루프에 갇혔기 때문입니다. 인증 앱은 동기화되지 않았고, 마스터 비밀번호 재설정 이메일은 도착하지 않았으며, 고객 지원팀에 연락할 유일한 방법은 로그인할 수 없는 계정에 로그인하는 것뿐이었습니다. 침해 사고는 2022년에 발생했습니다. 계정 잠김은 그로부터 몇 달 후에 발생했으며, 이는 LastPass 측에서 유발한 문제였습니다.
저는 이미 수년간 KeePass를 간헐적으로 사용해 왔기에, 그러한 실패 모드에서 이미 벗어나 있었습니다. 어떤 회사도 화요일에 제 볼트에 마이그레이션을 강제로 적용할 수 없었습니다. 어떤 회사도 제 볼트를 운영하고 있지 않았기 때문입니다. 셀프 호스팅이 이러한 문제를 완전히 없애주는 것은 아닙니다. 다만 그 문제들에 대한 책임을 다시 사용자에게 돌려줄 뿐입니다. 기본적인 서버 및 보안 유지 관리를 직접 수행할 의향이 있다면, 비밀번호 볼트를 셀프 호스팅하는 것은 실용적이고 안전하며 저렴한 비밀번호 관리자 운영 방식입니다.
LastPass의 계정 잠김은 해커 때문이 아니었습니다
보안 수정이 어떻게 유료 사용자들의 접근을 차단했는가
2022년에 발생한 최초의 LastPass 침입 사고만으로도 충분히 심각했습니다. 공격자들은 암호화된 볼트 백업과 각 사용자가 저장한 모든 사이트의 URL을 포함한 방대한 메타데이터 목록을 탈취했습니다. 마스터 비밀번호는 유출되지 않았지만, 취약한 비밀번호를 사용하던 사람들은 공격자들이 오프라인에서 암호를 해독하는 동안 사실상 길고 조용한 시한폭탄을 안고 있는 셈이었습니다.
이 침해 사고를 일부 사용자들에게 계정 잠김으로 번지게 만든 것은 그 뒤에 이어진 후속 조치였습니다. LastPass는 낮은 PBKDF2 반복 횟수를 사용하는 구형 계정들을 조용히 운영하고 있었는데, 이로 인해 오프라인 해독이 예상보다 빠르게 진행될 수 있었습니다. 이를 해결하기 위해 회사는 자동 반복 횟수 업그레이드와 모든 기기에서 MFA(다중 인증)를 재설정하도록 요구하는 강제 재인증을 적용했습니다. 인증 앱의 동기화가 어긋났거나, 복구 이메일이 오래되었거나, 기기를 교체한 계정의 경우 새로운 MFA 절차를 완료할 수 없었습니다.
문제는 갇힌 계정을 해결할 유일한 방법이 고객 지원을 통하는 것인데, 지원 포털은 로그인을 요구했다는 점입니다. 사람들은 몇 주 동안 이 루프에 갇혀 있었다고 보고했습니다. 볼트 데이터는 안전했고 암호화는 더 강력해졌지만, 사용자는 여전히 파일을 열 수 없었습니다. 많은 사용자가 바로 이 이유 때문에 결국 LastPass를 떠나 Bitwarden으로 옮겨갔습니다.
관련 기사
내 비밀번호는 절대 휴대폰을 떠나지 않습니다 이 무료 앱으로 모든 비밀번호를 관리합니다
수년간 제가 가진 모든 계정을 타인의 서버에 맡겨온 끝에, 저는 휴대폰을 절대 떠나지 않는 파일로 비밀번호를 옮기기로 했습니다.
셀프 호스팅 볼트는 모든 결정을 당신의 손에 맡깁니다
마이그레이션, 키 교체, 강제 재인증 시점을 당신이 결정합니다
출처: Yadullah Abidi / All Things N 셀프 호스팅 볼트라고 해서 클라우드보다 암호화가 더 강력해지는 것은 아닙니다. 달라지는 것은 제어권을 누가 쥐느냐입니다. MFA 재동기화, 반복 횟수 업그레이드, 강제 재로그인, 고객 지원 대기열 등 모든 것이 당신의 결정에 달려 있습니다. 화요일에 계정의 2FA를 재설정해야 한다고 판단되면, 키보드 앞에 앉아 있을 수 있는 일요일 아침으로 계획할 수 있습니다.
또한 이는 볼트가 당신이 볼 수 없는 인프라 위에 놓이지 않는다는 것을 의미합니다. 암호화된 데이터베이스는 Linux VPS, 홈 서버 또는 당신이 신뢰하는 기기에 저장되며, 방화벽 규칙, 제한된 SSH, IP 허용 목록, 그리고 서비스를 외부로 노출하고 싶지 않은 경우 VPN을 통한 접근 등 자신만의 제어 계층을 추가할 수 있습니다.
비용 측면에서도 이야기는 비슷하게 반전됩니다. 1GB RAM을 갖춘 1 vCPU VPS는 Vaultwarden을 실행하기에 충분하며, 같은 기기에서 다른 서비스도 호스팅할 수 있습니다. 사용자당 추가 요금이 없으므로 가족이나 소규모 팀이 셀프 호스팅을 선택하기에 충분히 합리적입니다. 개인 클라우드 서버와 같은 셀프 호스팅 서비스를 이미 운영 중인 사람에게는 스택에 컨테이너 하나를 추가하는 것과 다름없습니다.
솔직한 반론은 운영상의 부담도 당신이 떠안아야 한다는 점입니다. 업데이트, 백업, 인증서 갱신, 모니터링, 그리고 가끔 발생하는 새벽 2시의 재부팅은 이제 당신의 문제입니다. 오래된 Vaultwarden 이미지, 만료된 TLS 인증서, 잘못 설정된 방화벽 규칙은 LastPass의 MFA 재동기화만큼이나 확실하게 당신을 잠글 수 있습니다. 차이점은 문제를 일으킨 사람이 곧 문제를 해결할 수 있는 사람이라는 점입니다.
Vaultwarden은 Bitwarden 경험을 그대로 제공합니다
Bitwarden 프로토콜을 지원하는 가벼운 Rust 서버
제가 다른 셀프 호스팅 옵션보다 Vaultwarden을 추천하는 이유는 실제로 다른 제품을 사용한다는 느낌이 들지 않기 때문입니다. Vaultwarden은 Bitwarden 서버 API를 Rust로 재구현한 것입니다. 클라이언트 측에서 보면 Bitwarden 서버와 똑같이 작동하므로, 공식 Bitwarden 웹 볼트, 브라우저 확장 프로그램, 데스크톱 앱, 모바일 앱 및 bw CLI가 별도의 커스텀 플러그인이나 포크 없이 그대로 연결됩니다.
설치 또한 매우 가볍습니다. 공식 Docker Compose 예제는 단일 서비스와 볼륨, 관리자 토큰으로 구성되며, 서버 자체는 일반적으로 100MB 미만의 RAM을 사용합니다. 소형 VPS, 구형 노트북 또는 Raspberry Pi에서도 무리 없이 실행할 수 있습니다.
다른 셀프 호스팅 옵션들도 존재합니다. KeePass와 그 파생 버전들은 완전히 오프라인에서 작동하며 클라우드 동기화된 KDBX 파일과 잘 어울리고, Passbolt는 세밀한 공유 기능이 필요한 팀에게 좋은 선택입니다. 공식 Bitwarden 셀프 호스팅 서버는 가장 완벽하지만, 엔터프라이즈 배포를 위해 MSSQL과 여러 서비스를 번들로 묶어놓아 리소스를 많이 차지합니다.
Vaultwarden은 대부분의 가정과 소규모 팀에게 가장 적합한 균형점을 제공합니다. 모든 기기에서 공식 Bitwarden 클라이언트의 세련된 인터페이스를 사용할 수 있고, 자신만의 HTTPS 엔드포인트를 통한 진정한 크로스 플랫폼 동기화가 가능하며, 로그인, 폴더, 첨부 파일, TOTP 코드, 조직 관리, 비밀번호 생성 등 일상적으로 사용하는 모든 기능을 동일하게 지원합니다. 단점은 공식 Bitwarden 제품이 아니므로 서버를 위해 별도의 (잘 관리되는) 오픈 소스 프로젝트를 신뢰해야 한다는 점입니다.
##### Vaultwarden
개발자 Daniel García
가격 모델 무료, 오픈 소스
Vaultwarden은 Bitwarden 클라이언트와 호환되는 가벼운 셀프 호스팅 비밀번호 관리자로, 저사양 서버에서 효율적으로 실행되도록 설계되었습니다.
유지 관리할 의향이 있다면 셀프 호스팅은 효과적입니다
비밀번호 볼트를 셀프 호스팅하는 것은 LastPass 사용자들이 자신의 데이터에서 잠기게 만들었던 것과 같은 공급자 측의 실수를 피할 수 있는 실용적이고 저렴한 방법입니다. Vaultwarden은 시스템 관리자가 아니더라도 운영할 수 있을 만큼 접근성이 좋으며, 공식 Bitwarden 클라이언트를 사용하므로 일상적인 사용 경험도 익숙합니다.
하지만 이러한 접근성이 책임을 면제해 주는 것은 아닙니다. OS 패치, Vaultwarden 이미지 최신 유지, 백업 검증을 직접 수행해야 하며, SSH 키, 방화벽, 볼트 자체의 2FA를 통해 서버를 안전하게 보호해야 합니다. 이러한 유지 관리를 수행할 의향이 있다면 셀프 호스팅이 확실히 더 나은 선택입니다. 만약 그렇지 않다면, 비록 단점이 있더라도 검증된 실적을 가진 관리형 서비스를 이용하는 것이 더 안전한 선택입니다.