Vaultwarden: 비밀번호 관리도 셀프호스팅으로

안녕하세요, Mark입니다.

요즘 사이트마다 비밀번호가 다 다르죠. 보안을 위해 사이트마다 다른 비밀번호를 써야 한다고들 하는데, 그걸 다 외우는 건 사실 불가능합니다. 그래서 대부분 비밀번호 관리 앱을 쓰는데요.

유명한 것들이 1Password, LastPass, Bitwarden 같은 것들이 있습니다. 그런데 이것들은 내 비밀번호를 남의 서버에 저장하는 방식이에요. 실제로 LastPass는 2022년에 해킹을 당해서 사용자 데이터가 유출되는 사고가 있었습니다.

“내 비밀번호를 내 서버에 저장하면 어떨까?”

그 생각에서 시작한 게 오늘 소개할 Vaultwarden입니다.


🔐 Vaultwarden이 뭔가요?

Vaultwarden은 Bitwarden의 서버를 개인이 직접 셀프호스팅할 수 있게 만든 오픈소스 프로젝트입니다.

Bitwarden은 원래 클라우드 기반 비밀번호 관리 서비스인데, 유료 플랜을 써야만 2단계 인증, 조직 공유 같은 고급 기능을 쓸 수 있습니다. 그런데 Vaultwarden을 내 서버에 설치하면 이런 유료 기능들을 전부 무료로 사용할 수 있어요.

중요한 건 클라이언트 앱은 그대로 공식 Bitwarden을 씁니다. 서버만 내 것으로 바꾸는 거예요.

💡 비유하자면: Bitwarden은 월세 내고 사는 아파트, Vaultwarden은 내 땅에 직접 지은 집입니다. 외관은 똑같아 보이지만, 집주인이 다른 거죠 ㅎㅎ


📱 어떤 기기에서 쓸 수 있나요?

Vaultwarden 서버를 설치하고 나면, 공식 Bitwarden 클라이언트를 그대로 사용할 수 있습니다.

플랫폼방법
PC (윈도우/맥)Bitwarden 데스크탑 앱 설치
브라우저Chrome, Firefox, Edge 등 Bitwarden 확장 프로그램
스마트폰Bitwarden 앱 (iOS / 안드로이드)
삼성 기기삼성 인터넷 브라우저 + 키보드 자동완성 연동

특히 안드로이드에서는 삼성 인터넷 브라우저나 삼성 키보드와 연동이 되어서, 로그인 화면이 뜨면 키보드 위에 저장된 계정 정보가 표시됩니다. 선택만 하면 자동으로 입력이 되는 거죠.

각 기기에서 처음 설정할 때는 Bitwarden 앱을 설치하고 로그인 화면 하단의 셀프 호스팅 또는 서버 URL 변경 옵션을 선택해서 내 Vaultwarden 주소를 입력하면 됩니다.


⚡ Vaultwarden vs 공식 Bitwarden 서버

셀프호스팅을 할 때 공식 Bitwarden 서버를 설치하는 방법도 있는데, 왜 Vaultwarden을 쓰냐고요?

항목공식 Bitwarden 서버Vaultwarden
RAM 사용량2GB 이상50MB 미만
컨테이너 수10개 이상단 1개
데이터베이스MS SQL ServerSQLite (내장)
유료 기능유료 플랜 필요전부 무료
설치 난이도복잡매우 간단

공식 서버는 메모리만 2GB 이상 필요한데, Vaultwarden은 50MB 미만으로 동작합니다. 우리 오라클 무료 서버에서 다른 프로그램들과 함께 가볍게 돌리기에 딱입니다. ㅎㅎ


📦 포테이너 스택으로 설치하기

Stacks → Add Stack 으로 이동 후 아래 내용을 붙여넣습니다.

version: '3'
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    ports:
      - "3002:80"
      - "3012:3012"
    volumes:
      - /home/ubuntu/vaultwarden:/data
    environment:
      SIGNUPS_ALLOWED: "false"
      WEBSOCKET_ENABLED: "true"
      WEBSOCKET_PORT: "3012"
      ROCKET_ADDRESS: "0.0.0.0"
      ROCKET_PORT: "80"

주요 항목 설명

항목설명
3002:80웹 UI 접속 포트
3012:3012WebSocket 포트, UI 로딩에 반드시 필요
SIGNUPS_ALLOWED: false신규 회원가입 차단, 설치 후 내 계정 만들고 바로 막기
WEBSOCKET_ENABLED: trueWebSocket 활성화, 이게 없으면 UI가 제대로 안 뜸
/data모든 비밀번호 데이터 저장 경로

⚠️ SIGNUPS_ALLOWED 주의! 처음 설치 후 내 계정을 만들었으면 반드시 이 값을 false로 설정하세요. 외부에서 누군가 내 Vaultwarden에 계정을 만들 수 있으면 큰일 납니다.

Deploy the Stack 클릭 후 설치 완료!


🌐 접속 및 초기 계정 설정

브라우저에서 접속합니다.

http://[서버 IP]:3002

처음 접속하면 Bitwarden과 동일한 화면이 뜹니다. 여기서 계정을 생성합니다.

  1. 계정 만들기 클릭
  2. 이메일, 이름, 마스터 비밀번호 입력
  3. 로그인 후 볼트(Vault) 화면 확인

⚠️ 마스터 비밀번호는 절대 잊으면 안 됩니다. 서버 관리자도 복구 불가능합니다. 모든 비밀번호가 이 마스터 비밀번호로 암호화되어 있기 때문에, 잊어버리면 모든 데이터를 잃게 됩니다.


📲 각 기기에서 연결하는 방법

서버 설치가 끝났으면 이제 각 기기에서 연결해야 합니다.

공통 순서

  1. 각 기기에 Bitwarden 공식 앱/확장프로그램 설치
  2. 로그인 화면에서 서버 URL 변경 또는 셀프 호스팅 선택
  3. 내 Vaultwarden 주소 입력 (http://[서버IP]:3002)
  4. 내 계정으로 로그인

스마트폰 자동완성 설정 (안드로이드)

  • 설정 → 접근성 → Bitwarden 자동완성 활성화
  • 삼성 기기는 삼성 키보드 설정에서 Bitwarden 연동 가능
  • 이후 로그인 화면이 뜨면 키보드 상단에 저장된 계정이 표시됨

🔒 보안 주의사항

비밀번호 관리 프로그램인 만큼 보안이 특히 중요합니다.

Vaultwarden은 외부 도메인 연결을 하지 않는 것을 권장합니다. 비밀번호가 전부 들어있는 서버를 인터넷에 노출시키는 건 위험할 수 있거든요.

저는 다음 편에서 소개할 Tailscale(테일스케일)과 함께 사용합니다. Tailscale로 내가 지정한 기기에서만 서버에 접근할 수 있게 만들어두면, Vaultwarden을 외부에 노출시키지 않고도 어디서든 안전하게 사용할 수 있습니다.


✅ 핵심 요약

항목내용
용도비밀번호 셀프호스팅 관리
클라이언트공식 Bitwarden 앱 그대로 사용
유료 기능전부 무료로 사용 가능
RAM50MB 미만으로 매우 가벼움
보안외부 노출 비권장, Tailscale 연동 추천

마치며

비밀번호를 남의 서버에 맡기는 게 영 찜찜했는데, Vaultwarden 덕분에 내 서버에서 직접 관리할 수 있게 됐습니다. 무료인데다 공식 Bitwarden 앱을 그대로 쓸 수 있으니 사용 경험도 똑같아요.

다음 편에서는 드디어 Tailscale 이야기입니다. 집에서도, 회사에서도, 스마트폰으로도 내 서버에 안전하게 접속하는 방법이에요. Vaultwarden 같은 민감한 서비스를 안전하게 쓰기 위해서도 꼭 필요한 도구입니다.


Mark의 한마디: “LastPass 해킹 사건 이후로 클라우드 비밀번호 관리 서비스에 대한 불안감이 커졌습니다. 내 비밀번호는 내 서버에 — Vaultwarden이 그 해답이었어요. 어차피 서버 있는 김에 이거 안 쓰면 손해입니다 ㅎㅎ”

댓글 남기기