본문 바로가기
Tech/Applications

암호관리 bitwarden 셀프 설치

by 타이호 2020. 11. 25.

Bitwarden은 오픈소스 암호관리 프로그램이다. Bitwarden에서 제공해주는 서버를 사용해도 되고 직접 구축을 해도 되기 때문에 오라클 클라우드 프리 티어에 구성을 해본다.

bitwarden 사이트에서 보다 많은 정보를 볼 수 있다.

Bitwarden Open Source Password Manager

1. 준비사항

  • 오라클 클라우드 프리티어 VM
  • SSL 인증서를 위한 Let's Encrypt 인증서
  • Docker
  • Ngnix reverse proxy

2. 오라클 클라우드 프리티어 VM

기존에 VM은 그대로 생성을 하면 되고, IP변경이 될 수 있으니 고정 IP를 받아둔다.

Networking → IP Management

생성된 VM으로 가서 Compute → Instances → Instance Details → Attached VNICs → VNIC Details → IP Addresses 로 이동 한 뒤 해당 VNIC에 대한 Public IP를 변경해준다. 만약 기존에 할당된 IP가 있으면 No Public IP를 선택 후 저장한 뒤 위에서 만든 고정 IP를 붙여주면 된다.

3. Docker 설치

# apt로 설치 시
$ sudo apt install docker.io
$ sudo usermod -aG docker $USER

# snapd으로 설치시
ubuntu@ubuntu01:~$ sudo snap install docker
docker 19.03.11 from Canonical✓ installed
ubuntu@ubuntu01:~$ sudo snap connect docker:home
ubuntu@ubuntu01:~$ sudo addgroup --system docker
Adding group `docker' (GID 119) ...
Done.
ubuntu@ubuntu01:~$ sudo adduser $USER docker
Adding user `ubuntu' to group `docker' ...
Adding user ubuntu to group docker
Done.
ubuntu@ubuntu01:~$ newgrp docker
ubuntu@ubuntu01:~$ sudo snap disable docker
docker disabled
ubuntu@ubuntu01:~$ sudo snap enable docker
docker enabled
ubuntu@ubuntu01:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

4. Let's Encrypt SSL 인증서 설치

ubuntu 서버 자체 방화벽을 허용해준다

# iptable을 저장하기 위해 iptables-persistent를 사용한다.
$ sudo systemctl start netfilter-persistent.service

$ sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
$ sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
$ sudo iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
$ sudo iptables -I INPUT -p tcp --dport 8443 -j ACCEPT

$ sudo netfilter-persistent save
$ sudo netfilter-persistent reload

 

 

5. bitwarden 설치

$ docker run -d --restart always --name bitwarden -v /home/ubuntu/bitwarden/:/data/ -p 9090:80 -e ADMIN_TOKEN="Token_Key" bitwardenrs/server:latest

6. bitwarden 설정

Nginx Proxy Manager로 설정한 리버스 프록시로 접속을 한다. 

https://equus.tistory.com/115

https://<mydomain>.duckdns.org/admin 으로 접속한 뒤 위에서 설정한 ADMIN_TOKEN을 넣어준다

General settings에서 Domain URL과 Allow new signups는 체크 해제, Require email verification on signups는 체크한다.

Advanced Settings에서 Require new device emails는 체크한다.

7. 테스트

Email 설정이 잘 되지 않아서 위에서 설정한 이메일 체크 해제랑 사인업 기능은 허용을 한 뒤 계정을 우선 생성한다.

내용을 채워넣고 난 뒤 로그인을 하면 이렇게 정상적으로 로그인이 된다.

댓글0