
Vaultwarden
Vaultwarden은 개인 NAS에서 자체 호스팅하는 비밀번호 관리 솔루션으로, 디지털 자산을 안전하게 보호하는 최적의 방법이다.
클라우드 기반 비밀번호 관리자는 편리하지만 개인 정보가 타사 서버에 저장된다는 불안감이 있다.
이제 시놀로지 NAS와 Vaultwarden을 활용해 완벽한 개인 비밀번호 관리 시스템을 구축하는 방법을 알아보자.
Vaultwarden?
Vaultwarden은 인기 있는 오픈소스 비밀번호 관리자인 Bitwarden의 비공식 서버 구현체를 시놀로지 NAS에 설치하여 사용하는 솔루션이다.
Vaultwarden은 원래 Bitwarden_RS라는 이름으로 알려졌으며, Rust 언어로 작성되어 원본 Bitwarden 서버보다 가볍고 자원 소모가 적다.
이 특성은 시놀로지와 같은 NAS 환경에서 특히 유용하다.
Vaultwarden을 사용하면 비밀번호, 보안 노트, 신용카드 정보 등의 중요 데이터를 외부 서비스에 의존하지 않고 자신의 NAS에 안전하게 저장할 수 있다.
모든 데이터는 AES-256 암호화를 통해 안전하게 보호되며, 제로 지식 암호화 방식을 채택해 사용자만이 데이터에 접근할 수 있다.
자체 호스팅의 가장 큰 장점은 데이터 주권과 프라이버시 보호에 있다.
모든 정보가 사용자의 통제 하에 있으며, 구독료 없이 무제한으로 항목을 저장할 수 있다.
Bitwarden 공식 클라이언트 앱(웹, 모바일, 데스크톱, 브라우저 확장 프로그램)과 호환되어 사용자 경험을 해치지 않으면서도 완벽한 자체 관리 시스템을 구축할 수 있다.
설치 전 준비사항
Vaultwarden을 설치하기 전에 몇 가지 필수 요구사항을 확인해야 한다.
먼저 DSM(DiskStation Manager) 버전 6.2 이상이 설치된 시놀로지 NAS가 필요하다.
Docker 패키지 실행이 가능한 모델이어야 하므로, 대부분의 x86 기반 시놀로지 NAS 또는 ARM64 아키텍처를 지원하는 모델이 적합하다.
Docker 패키지가 설치되어 있어야 한다.
DSM 6.2 이상 7.0 미만인 경우, 시놀로지 패키지 센터에서 ‘Docker’를 검색하여 설치할 수 있다.
DSM 7.0 이상인 경우, 시놀로지 패키지 센터에서 ‘컨테이너 매니저(Container Manager)’를 검색하여 설치할 수 있다.
또한 Vaultwarden을 외부에서 안전하게 접속하기 위해 HTTPS 설정이 필요하다.
이를 위해 도메인 이름과 시놀로지의 SSL 인증서 또는 Let’s Encrypt 인증서를 준비해야 한다.
데이터 안전성을 위해 충분한 저장 공간과 정기적인 백업 계획을 마련해야 한다.
Vaultwarden 자체는 저장 공간을 많이 차지하지 않지만, 첨부 파일을 많이 사용할 경우 공간이 필요할 수 있다.
마지막으로 시놀로지 NAS의 IP 주소가 고정되어 있거나, DDNS(Dynamic DNS)를 설정하여 외부에서 안정적으로 접속할 수 있어야 한다.
Docker를 활용한 설치 방법
시놀로지 Vaultwarden 설치는 Docker를 통해 간편하게 진행할 수 있다.
먼저 시놀로지 DSM에 로그인한 후 Docker 패키지를 실행한다.
Docker 인터페이스에서 ‘레지스트리’를 클릭하고 검색창에 ‘Vaultwarden’을 입력한다.
검색 결과에서 ‘Vaultwarden/server’를 찾아 ‘다운로드’를 클릭한다.
태그 선택에서는 일반적으로 ‘latest’를 선택하지만, 특정 버전이 필요한 경우 해당 태그를 선택할 수 있다.
이미지 다운로드가 완료되면 ‘이미지’ 탭으로 이동하여 다운로드한 Vaultwarden 이미지를 더블클릭하여 컨테이너 생성 마법사를 시작한다.
컨테이너 이름을 ‘Vaultwarden’으로 설정하고 ‘고급 설정’을 클릭하여 추가 구성을 진행한다.
‘볼륨’ 탭에서 ‘폴더 추가’를 클릭하여 데이터 저장 위치를 설정한다.
로컬 폴더 경로에는 NAS 내에 생성한 폴더(예: /docker/Vaultwarden)를 지정하고, 마운트 경로에는 ‘/data’를 입력한다.
docker run -d --name Vaultwarden \
-v /volume1/docker/Vaultwarden:/data \
-p 8080:80 \
-p 3012:3012 \
-e WEBSOCKET_ENABLED=true \
-e SIGNUPS_ALLOWED=false \
--restart=always \
Vaultwarden/server:latest
‘포트 설정’ 탭에서는 로컬 포트 8080을 컨테이너 포트 80에 매핑하고, 웹소켓 기능을 위해 로컬 포트 3012를 컨테이너 포트 3012에 매핑한다.
‘환경’ 탭에서 필요한 환경 변수를 설정한다.
기본적으로 ‘WEBSOCKET_ENABLED=true’와 ‘SIGNUPS_ALLOWED=false’를 추가하는 것이 좋다.
모든 설정을 완료한 후 ‘적용’을 클릭하여 컨테이너를 생성하고 실행한다.
컨테이너가 정상적으로 실행되면 웹 브라우저에서 http://시놀로지IP:8080으로 접속하여 Vaultwarden 웹 인터페이스에 접근할 수 있다.
초기 설정 및 구성
시놀로지 Vaultwarden 설치 후 초기 설정을 통해 보안과 편의성을 강화할 수 있다.
먼저 웹 브라우저에서 http://시놀로지IP:8080에 접속하여 Vaultwarden 웹 인터페이스를 연다.
처음 접속 시 ‘계정 만들기’ 버튼을 클릭하여 관리자 계정을 생성한다.
이메일 주소와 마스터 비밀번호를 입력하여 계정을 생성한다.
마스터 비밀번호는 절대 잊어버리면 안 되며, 복구할 수 없으므로 안전하게 보관해야 한다.
관리자 계정 생성 후, 관리자 페이지에 접속하기 위해 URL 끝에 ‘/admin’을 추가하여 http://시놀로지IP:8080/admin으로 이동한다.
관리자 페이지에 처음 접속할 때는 토큰 설정이 필요하다.
컨테이너의 로그를 확인하거나 관리자 토큰을 직접 설정할 수 있다.
docker exec -it Vaultwarden /bin/bash
cd /data
nano config.json
config.json 파일에 다음과 같이 관리자 토큰을 설정할 수 있다.
{
"admin_token": "매우_복잡한_랜덤_문자열"
}
관리자 페이지에서는 다양한 서버 설정을 조정할 수 있다.
먼저 ‘일반 설정’에서 ‘초대를 통한 사용자 등록 허용’을 활성화하고, ‘자동 등록 허용’은 비활성화하여 보안을 강화한다.
‘SMTP 설정’에서는 이메일 알림을 위한 메일 서버 정보를 구성할 수 있다.
비밀번호 힌트나 이메일 확인을 위해 필요하며, 시놀로지의 메일 서버를 활용하거나 외부 SMTP 서비스를 연결할 수 있다.
‘보안 설정’에서는 비밀번호 정책, 2단계 인증, 로그인 시도 제한 등을 구성하여 보안 수준을 조정할 수 있다.
모든 설정을 마친 후에는 반드시 ‘저장’ 버튼을 클릭하여 변경사항을 적용해야 한다.
클라이언트 연결 및 활용
시놀로지 Vaultwarden 서버를 설정한 후에는 다양한 기기에서 클라이언트를 연결하여 비밀번호를 관리할 수 있다.
Bitwarden 공식 클라이언트는 Vaultwarden과 완벽하게 호환된다.
웹 브라우저 확장 프로그램, 데스크톱 앱(Windows, macOS, Linux), 모바일 앱(iOS, Android) 등 다양한 플랫폼에서 사용할 수 있다.
각 클라이언트를 설치한 후 로그인 화면에서 ‘서버 URL 설정’ 옵션을 찾아 자신의 Vaultwarden 서버 주소를 입력한다.
예를 들어, https://vault.yourdomain.com 또는 http://시놀로지IP:8080과 같은 형식이다.
서버 URL을 설정한 후 Vaultwarden에서 생성한 계정 정보(이메일과 마스터 비밀번호)로 로그인한다.
로그인 후에는 비밀번호, 보안 노트, 신용카드 정보, 신원 정보 등을 안전하게 저장하고 관리할 수 있다.
브라우저 확장 프로그램을 사용하면 웹사이트 로그인 정보를 자동으로 저장하고 입력할 수 있어 편리하다.
모바일 앱에서는 생체 인식(지문, 얼굴 인식)을 통한 빠른 잠금 해제를 설정할 수 있으며, 자동 채우기 기능을 활성화하여 앱에서도 쉽게 로그인할 수 있다.
데스크톱 앱에서는 오프라인 접근 기능을 활용할 수 있어, 인터넷 연결이 없는 상황에서도 저장된 정보에 접근할 수 있다.
시놀로지 Vaultwarden의 중요한 기능 중 하나는 데이터 동기화다.
한 기기에서 정보를 추가하거나 수정하면 모든 기기에 자동으로 동기화되어 항상 최신 데이터에 접근할 수 있다.
백업 및 유지관리
시놀로지 Vaultwarden의 데이터는 매우 중요하므로 정기적인 백업과 유지관리가 필수적이다.
가장 기본적인 백업 방법은 Vaultwarden 데이터 폴더 전체를 백업하는 것이다.
시놀로지의 Hyper Backup 패키지를 사용하여 /docker/Vaultwarden 폴더를 정기적으로 백업하도록 설정할 수 있다.
또한 Vaultwarden의 내장 기능을 활용하여 데이터를 내보내고 백업할 수도 있다.
웹 인터페이스에서 ‘도구’ → ‘내보내기’ 기능을 사용하여 암호화된 .json 파일로 데이터를 내보낼 수 있다.
컨테이너 업데이트는 정기적으로 수행하는 것이 좋다.
Docker 인터페이스에서 Vaultwarden 이미지를 최신 버전으로 업데이트한 후, 컨테이너를 재생성하면 된다.
docker pull Vaultwarden/server:latest
docker stop Vaultwarden
docker rm Vaultwarden
docker run -d --name Vaultwarden \
-v /volume1/docker/Vaultwarden:/data \
-p 8080:80 \
-p 3012:3012 \
-e WEBSOCKET_ENABLED=true \
-e SIGNUPS_ALLOWED=false \
--restart=always \
Vaultwarden/server:latest
보안을 위해 시놀로지 NAS의 방화벽 설정을 검토하고, 필요한 포트만 외부에 노출하도록 구성해야 한다.
가능하면 리버스 프록시를 통해 SSL/TLS 암호화를 적용하여 데이터 전송 보안을 강화하는 것이 좋다.
시놀로지의 Security Advisor를 정기적으로 실행하여 보안 취약점을 확인하고 조치하며, DSM과 패키지를 최신 버전으로 유지하는 것도 중요하다.
로그 모니터링을 통해 비정상적인 접근 시도나 오류를 확인할 수 있다.
Docker 로그를 주기적으로 확인하여 Vaultwarden의 상태를 모니터링하는 것이 좋다.
마지막으로, 마스터 비밀번호를 안전하게 보관하고 정기적으로 변경하는 습관을 들이는 것이 중요하다.
마스터 비밀번호를 잊어버리면 데이터에 접근할 수 없게 되므로, 비밀번호 복구 힌트를 설정하거나 안전한 곳에 기록해 두어야 한다.
시놀로지 Vaultwarden을 통해 비밀번호 관리의 보안과 편의성을 모두 확보할 수 있다.
클라우드 서비스에 의존하지 않고 자신의 NAS에서 직접 관리함으로써 데이터 주권을 지키면서도 모든 기기에서 편리하게 비밀번호를 사용할 수 있다.
이제 직접 시놀로지 NAS에 Vaultwarden을 설치하고 더 안전한 디지털 생활을 시작해보자.