NordBastion 북극곰 마스코트가 Nordic 석조 금고실에서 청록색 N-방패를 들고 있으며, 자물쇠와 열쇠 아이콘이 있는 반투명 청록색 홀로그래픽 비밀번호 볼트 카드에 둘러싸여 있고, 벽의 룬 문자 조각이 희미하게 빛나는 모습
방법 가이드 · 실습 30분·2026년 업데이트됨

VPS에서 Vaultwarden을 자체 호스팅하십시오.
30분 만에 귀하만의 Bitwarden 호환 볼트.

Vaultwarden은 경량, Rust 기반, Bitwarden 호환 비밀번호 서버입니다. Docker 명령 다섯 개, HTTPS 리버스 프록시 하나, 백업 크론 하나 — 그러면 소유한 모든 계정의 자격 증명 볼트가 신뢰하는 인프라가 아닌 임대한 서버에 저장됩니다.

요약
  • 01

    Vaultwarden은 와이어 및 볼트 수준에서 Bitwarden 호환 — 모든 공식 클라이언트가 바로 작동합니다. 50~100 MB RAM에서 실행되며, 어떤 VPS든 처리할 수 있습니다.

  • 02

    볼트는 클라이언트 측에서 AES-256으로 암호화됩니다. 서버는 마스터 비밀번호를 볼 수 없습니다. VPS를 침해해도 자격 증명이 아닌 암호화된 블롭만 얻을 수 있습니다.

  • 03

    명확하지 않은 단계는 메타데이터 레이어입니다 — KYC 연결 카드로 호스트 비용을 지불하면 실제 신원이 볼트의 IP와 연결됩니다. no-KYC, 암호화폐 결제 호스트는 해당 연결을 제거합니다.

제1장

Vaultwarden이 무엇인지, 그리고 무엇이 아닌지.

Vaultwarden — 이전 명칭 bitwarden_rs — 은 Rust로 작성된 독립적인 서버 측 Bitwarden API 재구현입니다. 공식 Bitwarden 서버와 동일한 와이어 프로토콜을 사용하고, 동일한 암호화 형식으로 볼트를 저장하며, 모든 공식 클라이언트를 변경 없이 허용합니다. Bitwarden 브라우저 확장이나 iOS 앱에서 Vaultwarden 서버는 bitwarden.com과 구별할 수 없습니다.

흥미로운 차이점은 운영상의 것입니다. 공식 Bitwarden 서버는 엔터프라이즈 배포를 위해 설계된 다중 컨테이너 .NET 스택입니다. 공개된 자체 호스팅 이미지는 편안하게 사용하려면 2 GB RAM과 SQL Server 라이선스가 필요합니다. Vaultwarden은 기본적으로 SQLite를 사용하는 15 MB 단일 Rust 바이너리로, 50 MB RAM에서 잘 실행되며 1초 미만으로 콜드 스타트됩니다. 전체 프로젝트가 의존성 없이 단일 Docker 컨테이너에 들어갑니다.

얻는 것은 전체 Bitwarden 기능 영역입니다 — 비밀번호 볼트, 보안 메모, 신원 기록, 결제 카드, 파일 첨부, 전송(일회성 암호화 공유), TOTP 인증기, 공유 컬렉션이 있는 조직, 하드웨어 키 2FA, 브라우저 자동 채우기, 모바일 생체 인식 잠금 해제 — 유료 티어 게이트 없이. Families 플랜 동등물과 Enterprise SSO 동등물 모두 자체 호스팅 Vaultwarden에서 무료입니다.

Vaultwarden이 아닌 것: 공식적으로 감사받은 서버. 암호화 기본 요소는 Bitwarden 클라이언트(독립적으로 감사받음)에서 상속되었지만, Vaultwarden 서버 자체는 서드파티 보안 감사를 받지 않았습니다. 개인이나 소규모 팀 볼트에는 완전히 합리적인 트레이드오프이지만, 규제된 기업에는 그렇지 않습니다.

제2장

VPS 선택 — 임대하는 호스트가 사양보다 더 중요한 이유.

Vaultwarden은 사실상 모든 Linux VPS에서 실행됩니다 — 리소스 최소값이 너무 낮아 사양서가 최적화할 잘못된 축입니다. 올바른 축은 서버를 임대하기 위해 무엇을 제출해야 하는가입니다.

패스워드 금고는 개인이 소유한 단일 최고 가치 대상입니다. 이를 침해하면 소유자가 보유한 모든 다른 계정에 접근이 가능해집니다. 암호화 자세는 금고의 내용을 보호하지만, 금고 주변의 메타데이터 — 누가 IP를 임대했는지, 어디서, 어떤 카드로 결제했는지, 어떤 이름으로 등록했는지 — 는 보호하지 않습니다.

완전한 KYC를 갖춘 메인스트림 제공업체에서 VPS를 임대하면, 청구 데이터베이스가 귀하의 법적 이름을 서버의 IPv4와 연결합니다. 호스트가 침해되거나 소환장을 받거나 익명화된 데이터를 마케팅 분석 파트너에게 판매하면 해당 연결이 유지됩니다. 볼트는 암호화된 상태를 유지하지만, 메타데이터 레이어는 설계상 누출됩니다.

NordBastion은 정반대입니다 — 이메일과 비밀번호만으로 가입 가능, Bitcoin, Monero, Lightning 또는 기타 암호화폐로 결제, 데이터센터에는 4개의 북유럽 헌법적 언론 자유 체제 적용. 볼트는 귀하의 것입니다. 볼트에서 귀하의 신원으로 거슬러 올라가는 메타데이터 흔적은 애초에 존재하지 않습니다. Vaultwarden 호스팅에는 엔트리 플랜인 <a href="/ko/vps/" class="text-nord-cyan border-b border-nord-cyan/40 hover:border-nord-cyan transition">월 $5.90의 Ravelin VPS</a>로 충분히 여유롭습니다 — 2 vCPU, 4 GB RAM, 80 GB SSD로 Vaultwarden, 리버스 프록시, 그리고 3개의 셀프호스트 앱을 동일한 서버에서 운영할 수 있습니다.

제3장

Docker 설치. 명령 다섯 개, 10분.

새 Debian 12 VPS를 시작하고, 루트가 아닌 sudo 사용자로 SSH에 접속한 후 다음 다섯 블록을 실행하십시오. vault.example.com을 자신의 서브도메인으로 대체하십시오 — 웹 볼트에 접근할 URL이 됩니다.

1. Docker를 설치하십시오. curl -fsSL https://get.docker.com | sh && sudo usermod -aG docker $USER — 그룹 멤버십이 적용되도록 로그아웃 후 다시 로그인하십시오.

2. 데이터 디렉터리를 생성하십시오. mkdir -p ~/vw-data — Vaultwarden의 전체 상태(SQLite 볼트 DB, 첨부 파일, 아이콘 캐시)가 하나의 디렉터리에 저장됩니다. 이로 인해 백업이 간단합니다.

3. 관리자 토큰을 생성하십시오. docker run --rm vaultwarden/server /vaultwarden hash --preset owasp — 프롬프트가 나타나면 선택한 관리자 비밀번호를 붙여넣고, 결과 Argon2 해시를 캡처하십시오. 이것이 /admin 패널을 보호합니다.

4. 컨테이너를 시작하십시오. docker run -d --name vaultwarden --restart unless-stopped -e DOMAIN="https://vault.example.com" -e ADMIN_TOKEN='<paste-hash-from-step-3>' -e SIGNUPS_ALLOWED=false -e WEBSOCKET_ENABLED=true -v ~/vw-data:/data -p 127.0.0.1:8080:80 vaultwarden/server:latest — -p 127.0.0.1:8080 바인딩이 Vaultwarden을 호스트에 비공개로 유지한다는 점에 유의하십시오. 4장의 리버스 프록시가 앞에 위치합니다.

5. 확인하십시오. curl -s http://127.0.0.1:8080/alive는 타임스탬프를 반환해야 합니다. 반환되면 Vaultwarden이 실행 중입니다. 반환되지 않으면 docker logs vaultwarden에서 문제를 확인하십시오 — 거의 항상 ADMIN_TOKEN 환경 변수의 오타입니다.

4단계의 SIGNUPS_ALLOWED=false는 가장 자주 잊히는 설정입니다. true로 두면 URL을 찾은 누구나 등록할 수 있어 볼트가 열립니다. 본인 계정을 생성할 때만 true로 전환한 후 false로 되돌리고 재시작하십시오.

제4장

HTTPS와 관리자 패널. 필수이지만 5분이면 됩니다.

Vaultwarden은 비localhost 주소에서 일반 HTTP로 웹 볼트를 제공하기를 거부합니다. 모든 공식 클라이언트도 비HTTPS 서버와 통신하기를 거부합니다. 리버스 프록시 + Let's Encrypt 단계는 나머지 설정으로 가는 관문입니다. Caddy가 가장 가벼운 경로입니다 — 바이너리 하나, 자동 ACME, 별도로 예약할 certbot 없음.

vault.example.com의 DNS A 레코드를 VPS IP로 지정하고 전파될 때까지 기다리십시오(대부분의 공급자에서 새 레코드는 약 2분). sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg && echo "deb [signed-by=/usr/share/keyrings/caddy-stable-archive-keyring.gpg] https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version main" | sudo tee /etc/apt/sources.list.d/caddy-stable.list && sudo apt update && sudo apt install caddy.

/etc/caddy/Caddyfile 작성: vault.example.com { reverse_proxy 127.0.0.1:8080 header_up X-Real-IP {remote_host} } — 이것이 전체 설정입니다. sudo systemctl reload caddy를 실행하면 10초 이내에 Caddy가 Let's Encrypt 인증서를 가져오고 https://vault.example.com에서 볼트에 접근할 수 있습니다.

/admin 패널. Vaultwarden은 /admin에 3장에서 생성한 Argon2 해시로 보호되는 관리 UI를 제공합니다. 거기서 회원 가입을 비활성화하고(4단계에서 이미 완료), 초대 및 비밀번호 재설정 이메일을 위한 SMTP 서버를 설정하고, Yubikey 또는 Duo 2FA를 구성하고, 사용자별 한도를 설정하고 사용자 목록을 검사할 수 있습니다. 한 번 열어 모든 섹션을 살펴보고 설정을 저장하십시오 — 이후 /vw-data/config.json에 저장됩니다.

소규모 보안 강화 세부 사항: /admin을 공개 인터넷에서 완전히 차단하십시오. Caddyfile에 추가하십시오: vault.example.com { @admin path /admin* @admin not remote_ip 10.0.0.0/8 192.168.0.0/16 your.home.ip/32 respond @admin 404 ... } — 홈 IP에 있지 않은 사람은 /admin을 탐색할 때 404를 받으며, 패널은 공개 인터넷에서 보이지 않습니다.

제5장

백업. 당신을 죽이는 단 하나의 실수.

복원할 수 없는 패스워드 금고는 이미 잃어버린 금고입니다. Vaultwarden의 백업 이야기는 다행히 단순합니다 — 중요한 모든 것이 하나의 디렉터리에 있습니다 — 하지만 복원 테스트에 대한 규율이 작동하는 설정과 미래의 사고를 구분하는 것입니다.

백업할 것. 전체 ~/vw-data/ 트리. 그 안에는: db.sqlite3는 암호화된 볼트, attachments/는 파일 첨부, config.json은 /admin 설정, sends/는 임시 암호화된 공유, rsa_key.*는 세션에서 사용되는 JWT 서명 키입니다.

백업 방법. SQLite는 .backup 명령을 통해 동시 백업을 처리합니다 — 야간 크론을 예약하십시오: 0 4 * * * docker exec vaultwarden sqlite3 /data/db.sqlite3 ".backup /data/db.sqlite3.bak" && tar czf /backups/vw-$(date -I).tgz -C /home/<user>/vw-data . — 50개 계정 볼트는 1 MB 미만의 tarball을 생성합니다.

백업을 어디로 보낼 것인지. 동일한 VPS가 아닌 어디든지 가능합니다. S3 호환 버킷으로 rclone, 두 번째 VPS, WireGuard를 통한 홈 NAS, 또는 분기마다 형제에게 우편으로 보내는 암호화된 USB 키 — 위협 모델에 맞는 것을 선택하십시오. 기본 규칙은 기본 서버로부터의 지리적, 관리적 분리입니다.

복구 훈련. 두 번째 VPS를 시작하고, 어제의 백업을 복사하여 ~/vw-data에 압축 해제하고, 3장의 docker 블록을 해당 VPS로 지정하여 실행하고, 임시 서브도메인에서 웹 볼트를 열고, 마스터 비밀번호로 로그인하십시오. 계정이 열리고 볼트가 복호화되면 백업이 유효한 것입니다. 실제 자격 증명을 볼트에 입력하기 전에 지금 바로 이 훈련을 실행하십시오. 6개월마다 재실행하십시오.

제6장

클라이언트, 공유, 모바일. 귀하의 서버를 가리키는 Bitwarden 생태계.

원하는 공식 Bitwarden 클라이언트를 설치하십시오 — 브라우저 확장, 데스크톱 앱, iOS, Android. 로그인 전에 왼쪽 상단의 톱니바퀴 아이콘을 탭하고, 서버를 bitwarden.com에서 https://vault.example.com으로 전환한 후, 4장에서 생성한 계정으로 로그인하십시오. 클라이언트는 차이를 구별하지 못하며 관리형 Bitwarden 구독과 동일하게 작동합니다.

모바일 클라이언트에는 추가 단계가 있습니다: 생체 인식 잠금 해제를 위해서는 기기가 등록되어야 하며, iOS/Android에서 첫 번째 로그인이 이를 자동으로 처리합니다. 브라우저 자동 채우기, 모바일 자동 채우기, TOTP 생성, 비밀번호 생성기, 침해 모니터 조회(HaveIBeenPwned) 및 Bitwarden Send는 추가 설정 없이 모두 작동합니다.

가족 공유. 웹 금고에서 Organization을 생성하십시오 → New Organization → 이름 지정(예: "Family"), 무료 플랜. 조직 내에서 Collection을 생성하십시오("공유 청구서", "스트리밍 서비스", "WiFi & 라우터"). 각 가족 구성원을 서버 로컬 이메일로 초대하고, 가입 시 초대를 수락하며, 컬렉션에 배정하십시오. 그 순간부터 컬렉션의 모든 항목은 컬렉션의 모든 구성원에게 종단 간 암호화됩니다 — 서버는 암호문만 봅니다.

지불할 필요가 없는 것. 서버 정책인 모든 Bitwarden 유료 기능(Organizations, 공유 컬렉션, Families 플랜 동급, 하드웨어 키 2FA, Send 파일 첨부)은 서버가 게이트이므로 Vaultwarden에서 기본적으로 잠금 해제됩니다. 클라이언트 정책인 유료 기능(일부 Bitwarden 모바일 프리미엄 게이트)은 패치하지 않는 한 클라이언트에서 준수됩니다 — 정직한 사용자에게는 패치할 가치가 없습니다.

FAQ · Vaultwarden 자체 호스팅

질문들, 답변됨.

자체 호스팅 Vaultwarden을 운영하기 전과 첫 달 동안 발생하는 여덟 가지 질문.

Vaultwarden은 Bitwarden과 동일합니까?

Vaultwarden은 모든 공식 Bitwarden 클라이언트 — 브라우저 확장, 데스크톱 앱, iOS, Android, CLI — 와 완전히 호환되는 독립적인 Rust 기반 Bitwarden 서버 재구현입니다. Bitwarden Inc.가 제작하지 않았습니다. 와이어 프로토콜과 볼트 형식은 동일하며, 서버 바이너리는 크기가 약 1/100이고 50~100 MB RAM에서 편안하게 실행됩니다.

왜 Bitwarden 호스팅 유료 서비스 대신 Vaultwarden을 자체 호스팅해야 합니까?

세 가지 이유. 첫째: 다른 누구도 암호화된 볼트를 보유하지 않습니다 — Bitwarden도 읽을 수 없지만, 서드파티를 제거하는 것이 가장 깔끔한 위협 모델입니다. 둘째: 비용 — 월 $5 VPS가 5인 가족을 처리하면서 나머지 자체 호스팅 스택을 위한 여유 공간을 남겨줍니다. 셋째: 텔레메트리 없음, 분석 엔드포인트 없음, 이름과 연결된 계정 인증 이메일 없음.

패스워드 금고 자체 호스팅이 실제로 안전합니까?

그렇습니다 — Vaultwarden은 Bitwarden과 동일한 클라이언트 측 암호화를 사용합니다. 볼트는 서버로 전송되기 전에 클라이언트에서 AES-256으로 암호화됩니다. 서버는 마스터 비밀번호나 평문을 볼 수 없습니다. VPS 침해는 마스터 비밀번호만큼만 약한 암호화된 블롭을 산출합니다. 운영상의 위험은 귀하에게 있지만(백업, HTTPS, 서버 강화), 암호화 위험은 관리형 Bitwarden과 동일합니다.

VPS가 얼마나 필요합니까?

매우 적습니다. Vaultwarden 자체는 1 vCPU와 512 MB RAM에서 잘 실행됩니다. 최소 NordBastion VPS(2 vCPU, 4 GB, $5.90/월)는 동일 서버에서 Vaultwarden, 리버스 프록시, 세 개의 다른 자체 호스팅 서비스를 실행하기에 충분합니다. 디스크 사용량은 무시할 수 있습니다 — 첨부 파일이 있는 50개 계정 볼트는 200 MB 미만입니다.

KYC 없는 암호화폐 결제 호스트가 비밀번호 관리자에게 왜 중요합니까?

패스워드 금고는 개인이 소유한 가장 높은 가치의 대상입니다 — 다른 모든 계정의 자격 증명을 담고 있습니다. 실명과 실제 신원에 연결된 카드로 서버를 임대하면, 호스트의 결제 데이터베이스가 침해될 경우 신원이 금고 IP에 연결됩니다. no-KYC 암호화폐 결제 호스트는 설계상 그 연결고리를 제거합니다. 금고 자체는 여전히 클라이언트 측 암호화되어 있으며, no-KYC 자세는 메타데이터 계층을 보호합니다.

Vaultwarden 웹 금고에 정말로 HTTPS가 필요합니까?

예, 엄격합니다. Vaultwarden은 localhost 이외의 주소에서 일반 HTTP로 웹 볼트를 제공하기를 거부하며, 모든 공식 클라이언트도 비HTTPS 서버와 통신하기를 거부합니다. 이 가이드의 리버스 프록시 + Let's Encrypt 설정은 선택 사항이 아닙니다. 좋은 소식: DNS A 레코드가 전파되면 전체 TLS 단계는 약 3분이 걸립니다.

사람들이 Vaultwarden을 자체 호스팅할 때 저지르는 가장 큰 단일 실수는 무엇입니까?

백업에서 복원을 테스트하지 않는 것. /vw-data/의 야간 tar.gz는 새 VPS에 압축을 풀고 복구된 웹 금고에 성공적으로 로그인하기 전까지는 백업이 아닙니다. 실패 사례를 계획하십시오: 서버가 사라지고, 디스크가 지워지고, 가진 유일한 유물이 어제의 백업 파일입니다 — 금고로 다시 들어갈 수 있습니까? 금고에 실제 자격 증명을 넣기 전에 그 훈련을 한 번 실행하십시오.

자체 호스팅 Vaultwarden에서 가족과 금고를 공유할 수 있습니까?

그렇습니다. Vaultwarden은 Bitwarden의 조직 기능 — 공유 컬렉션, 세분화된 권한, Bitwarden Families 플랜 동등물 포함 — 을 유료 티어 없이 재구현합니다. 웹 볼트에서 조직을 만들고, 이메일로(또는 초대 링크를 직접 공유하여) 가족을 초대하면, 이후 공유 UX는 공식 Bitwarden 제품과 동일합니다.

서버를 확보하십시오

KYC 없는 VPS를 임대하고, 암호화폐로 결제하며, 오늘 바로 Vaultwarden을 실행하십시오.

Ravelin 입문 티어(2 vCPU, 4 GB RAM, 80 GB SSD, $5.90/월)는 Vaultwarden에 충분히 넉넉한 크기이며, 동일 서버에서 나머지 자체 호스팅 스택을 위한 여유 공간을 남겨줍니다.

마지막 검토일 · 2026-05-20 · 출처 · Vaultwarden 업스트림 문서, Bitwarden 클라이언트 호환성 매트릭스, Let's Encrypt ACME · 주기 · 연간