비밀번호는 해커와 계정 사이를 가르는 첫 번째 방어선이지만, 81%의 데이터 침해 취약하거나 도용된 자격 증명에서 비롯됩니다. 미국인 중 비밀번호 관리자를 사용하는 비율은 3분의 1에 불과해, 수백만 명이 자격 증명 도용과 계정 탈취 위험에 노출되어 있습니다. 핵심 질문은 바로 이것입니다. 내 비밀번호 저장소를 다른 사람에게 맡길 수 있는가?
이 가이드는 완전한 제어권 확보를 위해 Bitwarden 비밀번호 관리자를 자체 VPS에 직접 호스팅하는 방법을 단계별로 안내합니다. Windows Server 2025와 Ubuntu 24.04 LTS 설치 과정은 물론, 저장소를 본인만 접근할 수 있도록 보안을 강화하는 방법까지 다룹니다.
무엇을 구축할 것인가 (그리고 왜 VPS인가)?
Bitwarden 비밀번호 관리자를 직접 호스팅하면, 자체 서버 위에 프라이빗 비밀번호 관리 인프라를 구성하게 됩니다. 이 방식을 통해 자격 증명이 저장되는 위치, 백업 방식, 접근 권한을 전적으로 직접 제어할 수 있습니다.
Bitwarden에 VPS를 선택하는 이유
Virtual Private Server는 비밀번호 관리에 필요한 제어력, 성능, 비용 효율성의 균형을 가장 잘 갖춘 선택입니다.

완전한 데이터 주권
비밀번호 보관함은 내가 직접 관리하는 인프라를 절대 벗어나지 않습니다. 클라우드 호스팅 서비스와 달리, 암호화된 데이터는 내가 선택한 서버와 지정한 위치에만 존재합니다.
항상 켜진 접근성
VPS는 24시간 내내 실행되므로 언제 어디서든 비밀번호 보관함에 접근할 수 있습니다. 개인 컴퓨터를 항상 켜둘 필요가 없습니다.
전용 리소스
VPS 플랜은 CPU, RAM, 스토리지 리소스를 보장하며, 다른 사용자의 워크로드와 공유되지 않습니다. 다른 고객의 사용량에 관계없이 성능이 일정하게 유지됩니다.
확장성
개인 사용에서 팀 또는 비즈니스 배포로 비밀번호 관리 규모가 커지더라도 VPS 플랜을 그에 맞게 업그레이드할 수 있습니다. 작게 시작하고 필요에 따라 확장하면 됩니다.
비용 효율적
VPS 호스팅은 전용 물리 서버를 직접 운영하는 것보다 비용이 훨씬 적게 듭니다. 초기 투자 없이도 동일한 수준의 격리와 제어권을 얻을 수 있습니다.
전문가 수준의 보안
신뢰할 수 있는 VPS 공급자는 DDoS 보호, 정기 백업, 고수준 네트워크 보안을 제공합니다. 이를 직접 구축하면 비용과 시간이 상당히 많이 소요됩니다.
셀프 호스팅 요구 사항은 무엇인가요?
Bitwarden 비밀번호 관리자를 셀프 호스팅하려면 하드웨어 사양을 파악해야 합니다. 이를 통해 적합한 VPS 플랜을 선택하고, 이후 발생할 수 있는 성능 문제를 미리 방지할 수 있습니다.

Windows Server의 하드웨어 요구 사항
Windows Server 2025에서 성공적으로 배포하려면 다음 최소 사양이 필요합니다.
프로세서: 최소 x64, 1.4GHz CPU, 권장 x64, 2GHz 듀얼코어
RAM: 6GB minimum; 8GB or more recommended for production use.
저장소: 76GB minimum; 90GB recommended for production deployments.
Docker: Docker Desktop (Engine 26.0 이상, 27.x 권장) 및 Compose, Hyper-V 지원 (WSL2 불가)
Windows Server 2025는 중첩 가상화 지원이 필요합니다. Azure 사용자는 Security Type을 Trusted launch가 아닌 Standard로 설정한 Standard D2s v3 가상 머신을 사용해야 합니다.
Linux의 하드웨어 요구 사항
Linux 배포판은 더 적은 리소스로 실행됩니다. Ubuntu 24.04 LTS, Debian 12, Rocky Linux 9에서 Bitwarden 비밀번호 관리자를 셀프 호스팅하려면 다음이 필요합니다.
프로세서: 최소 x64, 1.4GHz CPU, 권장 x64, 2GHz 듀얼코어
RAM: 2GB minimum; 4GB or more recommended for multiple users
저장소: 12GB minimum; 25GB recommended for production
Docker: Docker Engine 26.0 이상 (27.x 권장) 및 Docker Compose
Linux는 더 효율적인 선택입니다. Windows Server 배포 대비 RAM를 약 3분의 1만 사용하면서 동일한 기능을 제공합니다.
성능 비교:
| 미터법 | Linux (Ubuntu 24.04) | Windows Server 2025 |
| 최소 RAM | 2GB | 6GB |
| 최소 저장공간 | 12GB | 76GB |
| Docker 오버헤드 | 낮음 | 더 높음 (Hyper-V) |
| 업데이트 복잡도 | 간단하게 | 중간 |
| 커뮤니티 리소스 | 광범위한 | 중간 |
| 초기 설정 시간 | 15-30분 | 30-60분 |
VPS 공급자 선택
Bitwarden을 셀프 호스팅하려면 완전한 루트 접근 권한과 Docker 지원, 안정적인 공인 IP 주소를 갖춘 VPS가 필요합니다. 또한 모든 기기에서 비밀번호 보관함이 즉시 동기화되도록 높은 네트워크 처리량과 안정적인 가동 시간도 필요합니다.
Cloudzy는 이 워크로드에 필요한 고성능 인프라를 제공합니다. 저희의 Docker VPS 호스팅 플랜은 NVMe 스토리지와 AMD Ryzen 9 프로세서 (최대 5.7 GHz)를 기반으로 합니다. 암호화된 데이터베이스 작업에 필요한 단일 스레드 성능을 제공합니다.
최대 40 Gbps 네트워크 연결과 99.95% 가동 시간 SLA를 보장하므로 보관함에 언제든 접근할 수 있습니다. 또한 전 세계 12개 도시에 서버 위치를 제공하여 원하는 곳에 데이터를 호스팅할 수 있습니다.
권장 구성:
- 개인 사용 (10명 미만): 코어 2개 CPU, RAM 4GB, NVMe 스토리지 25GB.
- 팀 사용 (10~50명): 코어 4개 CPU, RAM 8GB, NVMe 스토리지 50GB.
설치 전에 무엇을 준비해야 할까요?
설치를 시작하기 전에 아래 항목들을 미리 준비해 두면 과정이 훨씬 수월합니다.

1. 도메인 이름과 DNS 레코드
vault.yourdomain.com과 같은 도메인 이름을 설정하고, DNS A 레코드가 서버의 VPS IP 주소를 가리키도록 구성하세요. Bitwarden은 도메인 이름을 사용할 때 가장 잘 작동합니다. IP 주소만 사용하면 SSL 옵션이 제한되고 인증서 관리가 어려워집니다.
2. Bitwarden 설치 ID와 키
방문하기 Bitwarden 호스팅 포털 유효한 이메일 주소를 입력하면 설치 ID와 설치 키를 이메일로 받게 됩니다. 두 값 모두 설치 과정에서 필요하므로 안전한 곳에 보관해 두세요.
3. VPS 접속 정보
다음 항목이 모두 준비되어 있는지 확인하세요:
- Linux 서버용 SSH 접속 정보
- Windows 서버용 원격 데스크톱(RDP) 접속 정보
- 관리자 또는 루트 권한
4. SSL 인증서 방식 결정
SSL/TLS 암호화를 어떻게 처리할지 미리 결정하세요:
- 설치 중 Let's Encrypt를 통한 자동 인증서 발급
- 인증 기관에서 사전 발급받은 SSL 인증서 사용
- 테스트 환경 전용 자체 서명 인증서
5. SMTP 서버 정보
사용자 초대 및 이메일 인증을 위해 SMTP 서버 정보가 필요합니다:
- SMTP 호스트명과 포트
- 인증 사용자 이름과 비밀번호
- 발신자 이메일 주소
SMTP를 설정하지 않으면 사용자를 초대하거나 이메일 주소를 인증할 수 없습니다. 단, 초기 관리자 계정에 대한 시스템 기능은 정상적으로 작동합니다.
Linux(Ubuntu/Debian/Rocky)에 설치하는 방법
이 가이드는 Ubuntu 24.04 LTS를 기준으로 작성되었습니다. 동일한 절차가 Debian 12와 Rocky Linux 9에도 적용되며, 패키지 매니저 명령만 해당 배포판에 맞게 조정하면 됩니다. 아래 단계를 따라 이 Linux 배포판 중 어디서든 Bitwarden 비밀번호 관리자를 직접 호스팅할 수 있습니다.

1단계: 서버 초기 설정
SSH로 Linux VPS에 접속한 후 시스템을 업데이트합니다:
sudo apt update && sudo apt upgrade -y
방화벽에서 포트 80(HTTP)과 443(HTTPS)이 열려 있는지 확인하세요. Ubuntu의 UFW 기준:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
2단계: Docker 엔진 설치
Bitwarden은 Docker 컨테이너 위에서 실행됩니다. Docker 엔진은 설치의 기반이 됩니다. Docker 엔진 26.0 이상과 Docker Compose V2 플러그인을 설치하세요:
sudo apt install docker.io docker-compose-plugin -y
sudo systemctl enable --now docker
sudo systemctl status docker
더 지금 활성화 이 명령은 Docker를 즉시 시작하고, 서버 재부팅 후에도 자동으로 실행되도록 설정합니다.
설치가 정상적으로 완료되었는지 확인합니다:
docker --version
docker compose version
Both commands should return version numbers. Docker Engine should be 26.0 or higher, Docker Compose should be 2.0 or higher.
3단계: Bitwarden 사용자 및 디렉터리 생성
전용 비-root 사용자로 Bitwarden을 실행하는 것은 보안 모범 사례입니다. 애플리케이션이 침해되더라도 피해 범위를 최소화할 수 있습니다. 전용 사용자 계정을 생성하세요:
sudo adduser bitwarden
프롬프트가 나타나면 강력한 비밀번호를 설정하세요. 이 비밀번호는 나중에 Bitwarden 사용자로 직접 로그인할 때 SSH 접근을 보호합니다.
Docker 그룹이 없는 경우 생성합니다(대부분의 시스템에는 이미 존재합니다):
sudo groupadd docker
Bitwarden 사용자를 Docker 그룹에 추가합니다. 이렇게 하면 sudo 없이 Docker 명령을 실행할 수 있습니다:
sudo usermod -aG docker bitwarden
제한된 권한으로 Bitwarden 설치 디렉터리를 생성합니다:
sudo mkdir /opt/bitwarden
sudo chmod -R 700 /opt/bitwarden
sudo chown -R bitwarden:bitwarden /opt/bitwarden
더 700 이 권한 설정은 Bitwarden 사용자만 해당 디렉터리의 파일을 읽고, 쓰고, 실행할 수 있도록 제한합니다. 다른 시스템 사용자로부터 비밀번호 데이터베이스를 보호합니다.
이후 모든 설치 단계는 Bitwarden 사용자로 전환하여 진행합니다:
sudo su - bitwarden
cd /opt/bitwarden
4단계: 설치 스크립트 다운로드 및 실행
Bitwarden 설치 스크립트를 다운로드합니다:

curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh
설치를 시작합니다:
./bitwarden.sh install
5단계: 설치 프롬프트 구성
설치 프로그램이 여러 값을 입력하라고 요청합니다:
도메인 이름: 구성한 DNS 레코드(vault.yourdomain.com)를 입력하세요.
SSL 인증서: 유형 Y Let's Encrypt로 인증서를 자동 발급받으려면, 또는 N 이미 인증서가 있다면
설치 ID: https://bitwarden.com/host/ 에서 발급받은 ID를 입력하세요.
설치 키: https://bitwarden.com/host/ 에서 발급받은 키를 입력하세요.
선택한 SSL 인증서에 맞게 나머지 프롬프트를 완료하세요. 설치 과정에서 Docker 이미지를 다운로드하고 환경을 구성합니다.
6단계: 이메일 설정 구성
환경 파일을 편집하세요:
nano ./bwdata/env/global.override.env
SMTP 자격 증명을 설정하세요:
globalSettings__mail__smtp__host=smtp.yourprovider.com
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__ssl=false
globalSettings__mail__smtp__startTls=true
[email protected]
globalSettings__mail__smtp__password=yourpassword
파일을 저장하세요(Ctrl+X, 그다음 Y, 그다음 Enter).
7단계: Bitwarden 시작
Bitwarden 인스턴스를 실행하세요:
./bitwarden.sh start
처음 시작할 때 GitHub Container Registry에서 모든 Docker 이미지를 다운로드합니다. 몇 분 정도 소요될 수 있습니다. 모든 컨테이너가 정상 실행 중인지 확인하세요:
docker ps
여러 Bitwarden 컨테이너가 "Up" 상태로 표시되어야 합니다.
웹 브라우저에서 구성한 도메인(https://vault.yourdomain.com)에 접속하세요. Bitwarden 웹 볼트 로그인 페이지가 표시되면 마스터 계정을 생성해 비밀번호 관리자를 시작할 수 있습니다.
Windows Server(PowerShell)에 설치하는 방법은?
이 섹션에서는 PowerShell을 사용해 Windows Server 2025에 설치하는 방법을 다룹니다. 전체 과정은 Linux 설치와 동일하지만, Windows VPS에서 Bitwarden 비밀번호 관리자를 셀프 호스팅하기 위해 Windows 전용 명령어를 사용합니다.

1단계: Windows 초기 구성
원격 데스크톱 프로토콜(RDP)을 사용해 Windows VPS에 연결하세요. RDP는 Docker Desktop 설정에 필요한 전체 GUI 환경을 제공합니다.
Windows 방화벽에서 포트 80과 443 트래픽을 허용하는지 확인하세요. PowerShell을 관리자 권한으로 열고 다음을 실행하세요:
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "Allow HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
2단계: Docker Desktop 설치
Docker Desktop은 Windows Server를 공식 지원하지 않으며 안정성 문제가 발생할 수 있습니다. 더 안정적인 환경을 원한다면 Linux를 권장합니다.
Windows용 Docker Desktop을 다운로드하여 설치하세요: https://www.docker.com/products/docker-desktop/. 설치 중 "Use WSL2 instead of Hyper-V" 옵션의 체크를 해제하세요. Bitwarden은 Hyper-V 모드에서 실행됩니다.
설치 후 Docker Desktop을 열고 Settings → Resources로 이동하세요. RAM 할당량을 최소 4GB로 설정하세요. 이렇게 하면 Windows의 RAM가 Docker에 할당됩니다.
3단계: Bitwarden 사용자 및 디렉터리 생성
PowerShell을 관리자 권한으로 열고 Bitwarden 사용자를 생성하세요:
$Password = Read-Host -AsSecureString
메시지가 표시되면 안전한 비밀번호를 입력하세요. 그런 다음 사용자 계정을 생성하세요:
New-LocalUser "Bitwarden" -Password $Password -Description "Bitwarden Local Admin"
Bitwarden 사용자를 docker-users 그룹에 추가하세요:
Add-LocalGroupMember -Group "docker-users" -Member "Bitwarden"
Bitwarden 설치 디렉토리를 생성하세요:
mkdir C:\Bitwarden
Docker Desktop에서 Settings → Resources → File Sharing으로 이동하세요. C:\Bitwarden Resources 목록에 추가한 후 Apply & Restart를 클릭하세요.
4단계: Bitwarden 설치 스크립트 다운로드
Bitwarden 디렉토리로 이동하세요:
cd C:\Bitwarden
설치 스크립트를 다운로드하세요:
Invoke-RestMethod -OutFile bitwarden.ps1 -Uri "https://func.bitwarden.com/api/dl/?app=self-host&platform=windows"
설치 프로그램을 실행하세요:
.\bitwarden.ps1 -install
5단계: 설치 프롬프트 구성
설치 프로그램의 프롬프트는 Linux 설치 과정과 동일합니다:
도메인 이름: DNS에서 설정한 도메인 이름 입력
SSL 인증서: Enter Y Let's Encrypt 인증서를 사용하는 경우 N 직접 인증서를 제공하는 경우
설치 ID: https://bitwarden.com/host/ 에서
설치 키: https://bitwarden.com/host/ 에서
SSL 설정 선택에 따라 나머지 프롬프트를 완료하세요.
6단계: 이메일 설정 및 시작
편집 C:\Bitwarden\bwdata\env\global.override.env SMTP 설정으로 파일을 수정한 후 Bitwarden을 재시작하세요:
.\bitwarden.ps1 -restart
설정한 도메인에 접속하여 Bitwarden 볼트를 열고 마스터 계정을 생성하세요.
가장 빠르게 확인하고 보안을 강화하는 방법은?
Bitwarden 비밀번호 관리자를 직접 호스팅한 후, 사용자를 추가하거나 비밀번호를 가져오기 전에 인스턴스가 제대로 작동하는지 확인하세요.

검증 단계
SSL 인증서 확인: 웹 브라우저에서 Bitwarden 도메인(https://vault.yourdomain.com)을 열어보세요. Bitwarden 웹 보관함 로그인 화면이 나타나고, 주소창에 자물쇠 아이콘이 표시되며, '안전하지 않음' 경고가 없어야 합니다.
인증서 경고가 표시되면 SSL 설정 섹션을 다시 확인하세요.
관리자 계정 생성: 로그인 화면에서 '계정 만들기'를 클릭하세요. 대문자, 소문자, 숫자, 특수문자를 조합하여 12자 이상의 강력한 마스터 비밀번호를 설정하세요. 이 비밀번호는 반드시 적어두고 오프라인 안전한 곳에 보관하세요.
Bitwarden은 분실한 마스터 비밀번호를 복구할 수 없습니다.
클라이언트 앱 테스트: Bitwarden 브라우저 확장 프로그램이나 모바일 앱을 설치하세요. 로그인 전에 설정/톱니바퀴 아이콘을 탭하고, '서버 URL'를 자체 호스팅 도메인으로 변경한 뒤 저장하고 로그인 화면으로 돌아오세요.
자격 증명을 입력하고, 새 비밀번호 항목을 추가할 수 있는지, 웹 보관함에 동기화되는지, 브라우저 확장 프로그램에서 불러올 수 있는지 확인하세요.
Docker 컨테이너 상태: 모든 컨테이너가 실행 중인지 확인하세요.
Linux:
cd /opt/bitwarden
docker ps
Windows:
cd C:\Bitwarden
docker ps
예상 출력: 5~7개의 컨테이너가 목록에 표시되며, STATUS 열에 모두 'Up'으로 나타나야 합니다. 컨테이너 이름: bitwarden-web, bitwarden-api, bitwarden-identity, bitwarden-attachments, bitwarden-icons, bitwarden-mssql, bitwarden-nginx.
컨테이너가 'Exited' 상태이거나 목록에 없으면 로그를 확인하세요: docker compose logs [컨테이너-이름]
보안 강화 체크리스트
이중 인증 활성화: 관리자 계정에 2FA를 즉시 설정하세요. Bitwarden은 인증 앱, 이메일, 하드웨어 키를 2단계 인증 수단으로 지원합니다.
방화벽 규칙 설정: SSH(Linux의 포트 22) 또는 RDP(Windows의 포트 3389)를 알려진 IP 주소로만 제한하세요. Linux에서 fail2ban을 사용해 무차별 대입 공격을 차단하는 것도 고려해 보세요.
정기 백업 설정: 백업 /opt/bitwarden/bwdata (Linux) 또는 C:\Bitwarden\bwdata (Windows)를 일정에 따라 백업하세요. 이 디렉터리에는 데이터베이스와 설정 파일이 포함되어 있습니다. 실질적인 재해 복구를 위해 백업본은 서버 외부에 보관하세요.
인증서 갱신 설정: Let's Encrypt를 사용 중이라면 자동 갱신이 설정되어 있는지 확인하세요. 아래 명령어로 갱신을 테스트하세요: ./bitwarden.sh renewcert Linux에서.
사용자 등록 비활성화: 필요한 계정을 모두 만든 후, 무단 가입을 막기 위해 신규 사용자 등록을 비활성화하세요. global.override.env 추가: globalSettings__disableUserRegistration=true 를 수정한 뒤 Bitwarden을 재시작하세요.
관리자 포털 접근 설정: 시스템 관리자 포털에 접근할 수 있는 이메일 주소를 지정하세요. [email protected] 를 설정 파일에 추가하세요.
접근 로그 검토: 모니터 /opt/bitwarden/bwdata/logs (Linux) 또는 C:\Bitwarden\bwdata\logs (Windows) 를 매주 검토하여 의심스러운 활동 패턴을 확인하세요.
Bitwarden을 안전하게 유지 관리하고 업그레이드하는 방법
정기적인 유지 관리는 인스턴스를 안전하고 안정적으로 운영하는 데 필수입니다. 올바른 관리 방법을 따르면 Bitwarden 비밀번호 관리자를 수년간 안정적으로 셀프 호스팅할 수 있습니다.

업데이트 절차
Bitwarden은 보안 패치와 새 기능을 포함한 업데이트를 정기적으로 출시합니다. 공식 채널을 통해 보안 업데이트가 발표되면 즉시, 그렇지 않더라도 매월 인스턴스를 업데이트하세요.
Linux 업데이트 절차:
cd /opt/bitwarden
./bitwarden.sh updateself
./bitwarden.sh update
./bitwarden.sh start
더 updateself 명령은 설치 스크립트 자체를 업데이트하고, 업데이트 는 새로운 Docker 이미지를 가져옵니다.
Windows 업데이트 절차:
cd C:\Bitwarden
.\bitwarden.ps1 -updateself
.\bitwarden.ps1 -update
.\bitwarden.ps1 -start
백업 전략
당신의 bwdata 디렉터리에는 데이터베이스, 설정 파일, SSL 인증서, 로그 등 모든 데이터가 포함됩니다. 자동 백업은 Bitwarden 비밀번호 관리자를 셀프 호스팅할 때 반드시 거쳐야 하는 안전 조치입니다.
백업할 항목:
데이터베이스: Linux를 사용합니다 bwdata/mssql/data (SQL Server), Windows 사용 시 bwdata/mssql/data.
구성: 더 bwdata/env 디렉터리에는 환경 변수, SMTP 설정, 도메인 구성 정보가 포함됩니다.
SSL 인증서: 위치한 bwdata/ssl Let's Encrypt 대신 커스텀 인증서를 사용하는 경우에 해당합니다.
자동 백업 스크립트 (Linux):
#!/bin/bash
# Save as /home/bitwarden/backup-bitwarden.sh
BACKUP_DIR="/home/bitwarden/backups"
DATE=$(date +%Y%m%d-%H%M%S)
# Create backup directory if it doesn't exist
mkdir -p $BACKUP_DIR
# Create compressed backup
cd /opt/bitwarden
tar -czf $BACKUP_DIR/bitwarden-backup-$DATE.tar.gz bwdata/
# Keep only last 30 days of backups
find $BACKUP_DIR -name "bitwarden-backup-*.tar.gz" -mtime +30 -delete
# Optional: Copy to remote storage
# rsync -az $BACKUP_DIR/ user@remoteserver:/backups/bitwarden/
스크립트에 실행 권한을 부여하고 crontab에 추가하세요:
chmod +x /home/bitwarden/backup-bitwarden.sh
# Run daily at 2 AM
crontab -e
# Add this line:
0 2 * * * /home/bitwarden/backup-bitwarden.sh
Windows 백업 (PowerShell):
# Run as scheduled task
$Date = Get-Date -Format "yyyyMMdd-HHmmss"
$BackupPath = "C:\Backups\Bitwarden"
New-Item -ItemType Directory -Force -Path $BackupPath
Compress-Archive -Path "C:\Bitwarden\bwdata" -DestinationPath "$BackupPath\bitwarden-backup-$Date.zip"
# Clean old backups (older than 30 days)
Get-ChildItem -Path $BackupPath -Filter "*.zip" |
Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)} |
Remove-Item
rsync, 암호화된 클라우드 스토리지, 또는 별도의 백업 VPS를 사용해 서버 외부에 백업을 저장하세요. 서버 내 백업은 하드웨어 장애로부터 데이터를 보호하지 못합니다. 백업 파일을 원격 위치로 안전하게 전송 하려면 SFTP나 FTPS 같은 암호화 프로토콜을 고려하세요.
모니터링
문제가 사용자에게 영향을 미치기 전에 감지할 수 있도록 기본 모니터링을 설정하세요:
컨테이너 상태: 모든 Docker 컨테이너가 하루 종일 정상 실행되고 있는지 확인하세요.
디스크 공간: 디스크 용량 부족으로 인한 데이터베이스 손상을 방지하기 위해 bwdata 디렉터리의 남은 저장 공간을 모니터링하세요.
SSL 인증서 만료: 인증서가 일정대로 갱신되고 있는지, 예상치 못하게 만료되지 않았는지 확인하세요.
로그 검토: 비정상적인 활동이나 인증 실패를 감지하기 위해 오류 로그를 매주 점검하세요.
복구 테스트
데이터 손실 시 복구할 수 있도록 분기마다 백업 복원 프로세스를 테스트하세요:
- Bitwarden 중지
- 현재 bwdata 디렉터리 이름 변경
- 백업에서 복원
- Bitwarden을 시작하고 정상 작동 확인
- 복원에 성공했다면 기존 디렉터리 삭제
Linux vs. Windows: 어느 쪽을 선택해야 할까요?
두 플랫폼 모두 Bitwarden 패스워드 매니저를 셀프 호스팅하는 데 사용할 수 있습니다. 각각 고려할 만한 장단점이 있습니다.

Linux의 장점
리소스 효율성: Linux는 최소 2GB RAM가 필요한 반면, Windows는 최소 4GB가 필요합니다. 이는 곧 월간 호스팅 비용 절감으로 이어집니다.
낮은 운영 오버헤드: Linux는 운영 체제 자체보다 Bitwarden 실행에 더 많은 리소스를 할당합니다.
더 간단한 업데이트: 패키지 매니저를 통해 시스템 업데이트를 간편하게 처리할 수 있습니다. Docker 통합은 추가 레이어 없이 기본으로 지원됩니다.
커뮤니티 지원: 셀프 호스팅 커뮤니티는 대부분 Linux를 사용합니다. 온라인에서 더 많은 커뮤니티 가이드와 문제 해결 자료를 찾을 수 있습니다.
비용: 대부분의 Linux 배포판은 무료로 제공되어 OS 라이선스 비용이 발생하지 않습니다.
Windows Server의 장점
친숙함: Windows Server 경험이 있는 시스템 관리자는 기존 지식을 바로 활용할 수 있습니다.
통합: 기존 Windows 기반 인프라 및 Active Directory 환경과의 통합이 용이합니다.
관리 도구: Windows 중심의 조직 환경에서는 Windows Server 관리 도구가 더 적합할 수 있습니다.
지원: 문제 해결 및 지원을 위한 Microsoft의 상업적 지원 옵션을 이용할 수 있습니다.
성능 비교
| 미터법 | Linux (Ubuntu 24.04) | Windows Server 2025 |
| 최소 RAM | 2GB | 6GB |
| 최소 저장공간 | 12GB | 76GB |
| Docker 오버헤드 | 낮음 | 더 높음 (Hyper-V) |
| 업데이트 복잡도 | 간단하게 | 중간 |
| 커뮤니티 리소스 | 광범위한 | 중간 |
| 초기 설정 시간 | 15-30분 | 30-60분 |
권장사항
Windows Server가 꼭 필요한 경우가 아니라면 Linux를 선택하세요. Ubuntu 24.04 LTS는 안정성, 리소스 효율, 커뮤니티 지원 면에서 가장 균형 잡힌 선택입니다. 5년간의 지원 기간은 일반적인 VPS 배포 주기와도 잘 맞습니다.
문제 해결 (빠른 답변)
Bitwarden이 시작되지 않는 경우: 컨테이너가 실패하거나 볼트에 접근할 수 없다면, 먼저 Docker 서비스 상태를 확인하세요. Linux에서는 다음 명령을 실행하세요. sudo systemctl status docker. Windows에서는 Docker Desktop이 실행 중인지 확인하세요. 시작을 방해하는 포트 충돌이나 파일 권한 문제를 확인하려면 다음으로 오류 로그를 검사하세요. docker compose 로그 포트 충돌이나 파일 권한 문제로 인해 시작이 실패하는 경우를 확인할 수 있습니다.
도메인에 연결할 수 없음: 연결 타임아웃 오류가 발생하면 DNS A 레코드가 VPS IP를 가리키는지 확인하세요. 방화벽에서 포트 80과 443이 허용되어 있는지 확인하고, 다음 명령을 실행하세요. docker ps 모든 컨테이너가 "Up" 상태인지 확인하세요. "Exited" 상태인 컨테이너가 있다면 해당 컨테이너의 로그를 확인하세요.
이메일 전송 실패: 사용자가 초대 메일을 받지 못한다면, 다음 파일에서 SMTP 설정을 확인하세요. bwdata/env/global.override.env. 대부분의 메일 서비스는 StartTLS를 사용하는 포트 587이 필요합니다. 자격 증명 문제를 배제하려면 SMTP를 독립적으로 테스트하거나 다음을 확인하세요. identity.txt 서버 측 거부 오류에 대한 로그를 확인하세요.
SSL 인증서 오류: 브라우저 경고가 표시된다면 보통 Let's Encrypt 인증 유효성 검사가 실패한 것입니다. 포트 80이 공용 인터넷에 열려 있는지 확인하세요. 만료된 인증서를 갱신하려면 다음 명령으로 강제 갱신하세요. ./bitwarden.sh renewcert (Linux) 또는 .\bitwarden.ps1 -renewcert (Windows).
높은 메모리 사용량: VPS가 느려지면 다음 명령을 사용하세요. docker 통계 리소스를 많이 사용하는 컨테이너를 파악할 수 있습니다. Bitwarden을 재시작하면 메모리 누수를 일시적으로 해소할 수 있습니다. 단, 문제가 지속된다면 4GB 이상의 RAM를 제공하는 플랜으로 업그레이드해야 할 수 있습니다.
업데이트로 인해 설치가 중단된 경우: 업데이트 전에 반드시 다음을 백업하세요. bwdata 업데이트 전에 이 디렉토리를 백업하세요. 업데이트가 실패하면 해당 디렉토리를 복원하고 이전 버전으로 되돌리세요. 다시 업데이트를 시도하기 전에 공식 릴리스 노트에서 호환성이 깨지는 변경 사항을 확인하세요.
릴리스 노트에서 호환성이 깨지는 변경 사항 확인: https://github.com/bitwarden/server/releases 업데이트 전에 호환성이 깨지는 변경 사항을 확인하세요.
대안: 경량 배포를 위한 Vaultwarden
리소스를 더 적게 사용하는 옵션을 찾는다면 Vaultwarden가 좋은 대안입니다. Vaultwarden는 Rust로 작성된 비공식 Bitwarden 호환 서버로, 리소스 사용량이 적습니다.

Vaultwarden 장점
최소 리소스 요구 사항: Vaultwarden는 512MB RAM만으로도 원활하게 실행됩니다. 덕분에 Raspberry Pi처럼 성능이 낮은 기기에서도 사용할 수 있습니다.
Bitwarden 클라이언트 호환: 공식 Bitwarden 앱, 확장 프로그램, 모바일 클라이언트를 그대로 사용할 수 있습니다. 접속 주소만 Vaultwarden 서버 URL로 바꾸면 됩니다.
프리미엄 기능 포함: Vaultwarden는 유료 Bitwarden 라이선스 없이도 TOTP 생성, 파일 첨부 등 프리미엄 기능을 제공합니다.
더 빠른 배포: Linux 시스템에서는 복잡한 설정 없이 10분 이내에 설치가 완료됩니다.
Vaultwarden를 선택할 때
Vaultwarden가 적합한 경우:
- 개인 사용 또는 소규모 팀 (10명 미만)
- RAM가 제한된 리소스 제약 VPS 플랜
- 커뮤니티 지원 소프트웨어를 편하게 사용하는 경우
- 상업적 지원보다 리소스 효율성을 우선시하는 환경
공식 Bitwarden을 선택할 때
다음 경우에는 공식 Bitwarden을 사용하세요:
- 상업적 지원 계약이 필요한 기업 배포
- 공식 보안 감사 및 인증이 필요한 조직
- 동시 사용자가 많고 50명을 초과하는 배포 환경
- 서드파티 통합 지원 보장이 필요한 환경
두 옵션 모두 강력한 비밀번호 관리 기능을 제공합니다. 선택은 리소스 제약, 지원 요구사항, 규모에 따라 달라집니다.
결론
Bitwarden을 직접 호스팅하면 1시간 이내에 높은 보안 수준과 데이터 주권을 확보할 수 있습니다. 2025년 기준 침해 사고 평균 비용이 444만 달러에 달하는 상황에서, 자격 증명을 직접 관리하면 위험을 줄이면서도 최신 비밀번호 관리자의 편의성을 유지할 수 있습니다.
인스턴스를 보호하려면 즉시 이중 인증을 활성화하고, 서버 외부로 자동 백업을 구성하세요. 마스터 비밀번호는 설계상 복구가 불가능하므로, 디지털이 아닌 물리적인 오프라인 공간에 보관하세요.
마지막으로, 장기적인 안정성을 위해 보안 업데이트를 구독하고 분기마다 백업 복원을 테스트하세요. 이러한 간단한 유지 관리 습관이 볼트를 안전하게 유지하고 데이터 손실을 방지합니다.