가입을 요구하는 웹사이트는 계속 늘어나는데, 패스워드는 사이트마다 각각이다보니 기억력의 한계를 느낀다.
패스워드 관리프로그램을 쓰고 있긴 하나, 이것도 불안하긴 마찬가지라 좀 알아보던 중에 bitwarden을 NAS에
설치하여 운영하는 방법을 찾았다.
NAS에 설치하고, 마스터계정 로그인을 통해 저장된 패스워드를 조회할 수 있게 만들 수 있으며,
자신의 NAS에 설치되는 것이므로, NAS 관리만 잘 하면 되므로, 불안하게 남의 서버에 저장되는 것 보단
훨씬 심리적인 안정감을 준다.
준비물 : 시놀로지 NAS (docker 설치상태), 개인 도메인(필요 시), 약간의 지식 (포트포워딩, DNS설정 등)
1. 제일 먼저 할 일은 NAS에 docker를 설치하는 일이다. 설치방법은 인터넷에 많으니 그것을 참조한다.
2. docker → 레지스트리에서 bitwarden을 검색하여 맨 위에 나온 bitwardenrs/server를 더블클릭한다.
3. 특별한게 없다면 lastest로 선택하고 “선택”을 누르면 다운로드가 시작된다. 조금 걸리니 기다리자.
다운로드가 완료되면 알림창에 별도 메시지가 뜨므로 조금만 기다리면 된다.
4. docker → 이미지로 이동 후 bitwardenrs/server를 선택하고 “실행”을 클릭하면 이미지가 실행되며 컨테이너
설정창이 열린다.
5. 컨테이너 이름은 적당히 설정해두면 되고, 사양이 낮은 NAS를 쓰는 경우 “리소스 제한 활성화”를 체크한뒤
적절히 제한사항을 설정할 수 있다. 몇가지 더 설정해야하므로 “고급설정” 클릭
6. 항시 사용가능해야 하므로, NAS가 재부팅 되거나 컨테이너가 오류로 종료되더라도 자동 실행될 수
있게 “자동 재시작 활성화” 체크
7. 데이터가 저장될 경로를 지정해준다. “폴더추가”를 클릭하여 적당한 폴더를 지정하고,
하위 폴더에 “/”를 포함하여 적당한 이름을 붙인 경로를 만들어주면 된다.
8. “자동”으로 되어 있긴 한데, 포트를 지정해두어야 나중에 역방향 프록시 등 여러모로 설정할때
편해지므로 포트를 적절히 지정해둔다.
9. 공유기 포트포워드 설정에서 위에서 지정했던 포트를 열어준다. 아까 포트를 지정해주지 않았다면,
이 단계서부터 막혀서 진행이 매우 골때려진다. 포트를 열어주었으니 공유기 단계서 할일은 끝났다.
10. 고급설정까지 다 끝났으니, “다음” 을 클릭하고 “적용”해주면 일단 50% 이상 완료다.
11. docker → 개요에서 컨테이너가 제대로 실행중인지 확인한다. 지금까지 잘 따라왔다면 큰 문제는 없다.
혹시 실행이 안되어있다면, “컨테이너”로 이동해서 실행해주면 된다.
12. NAS 내부 IP와 아까 열어둔 포트 (컨테이너 포트 80에 지정되었던 포트)를 이용하면 접속이 가능하다만,
여기까지다. https로 접속하지 않으면 로그인이 불가능하므로 정상작동하는 것만 참고한다.
13. 이제 개인 도메인 DNS을 설정해줄 차례다. CNAME을 써도 되고, A레코드를 써도 되고, 서브도메인으로 쓸
이름을 지정해주고 NAS 주소를 목적지로 지정해준다.
그리고 와일드카드 인증서(ex : *.xeriars.com)를 발급받은게 아니라면, 반드시 해당 서브도메인에 대한 인증서를
발급해두어야 원할히 접속가능하다.
인증서 없이 https로 접속시도하는 경우 크롬 브라우저의 경우 보안경고가 똻!
서브도메인으로 bitwarden이 설정되어 있기 때문에 실제 접속 주소는 bitwarden.xeriars.com 가 될 것이고,
나는 구글 DDNS를 쓰고 있기 때문에 CNAME으로 설정한 상태이다. (구글DDNS 설정법 : https://xeriars.com/243)
IP로 지정해야 하는 경우에는 A레코드를 사용한다.
개인도메인 없이 DDNS로만 이용하는 경우에는 보통 synology.me를 사용할테니 다음과 같이 접속하면된다.
https://ㅇㅇㅇ.synology.me:지정한 포트번호 (ex : https://ㅇㅇㅇ.synology.me:13569)
이 경우 역방향 프록시 설정은 건너뛴다.
14. 이제 역방향 프록시를 설정해줄 차례다. https://ㅇㅇㅇ 으로 접속하면 http://192.0.0.0 와 같은 내부 ip로
접속을 돌려줄 수 있기 때문에, 아까 설정해둔 포트로 연결해주면 https로 접속한 것과 같아진다.
“생성”을 클릭해서 신규 항목을 만든다.
15. 역방향 프록시는 아래와 같이 설정해준다.
소스 설정
설명 : 적당한 이름을 설정해준다.
프로토콜 : https로 설정해준다. bitwarden은 http로 로그인이 허용되지 않는다.
호스트 이름 : 설정했던 서브도메인을 넣어준다. (ex : bitwarden.xeriars.com)
포트 : https 포트 443을 넣어준다. 그리고 http로 접속해도 자동으로 https로 바꿔 주도록 “HSTS 활성화”와
“HTTP/2 활성화”를 체크해준다.
대상 설정
프로토콜 : http로 설정해준다.
호스트 이름 : NAS 내부 IP를 넣어준다. (ex : 192.168.1.10)
포트 : 아까 설정해주었던 포트를 넣어준다. 컨테이너 포트 80으로 지정했던 포트다.
16. 이제 거의 다 왔다. 정상적으로 설정되었다면 https로 접속되었기 때문에 주소 옆에 자물쇠가 보일거고,
로그인에 큰 문제가 없을 것이다. 이제 서비스를 이용하기 위해서는 마스터 계정을 만들어야 한다.
“계정 만들기”를 클릭한다.
17. 이건 사실 넣을 필요가 없다고 보는데.. 회원가입하듯 적당히 넘어간다.
18. 마스터 계정을 생성하고 로그인하면 완료된 것이다. 이제 패스워드를 입력하고 적당히 운영하면 끝.
설정에 따라서 2FA 설정도 가능하기 때문에 보안을 한층 더 강화 할 수 있다.
19. 혹시 다른 패스워드 관리 프로그램을 쓰고 있다면, 데이터를 옮겨올 수도 있다. 왠만한건 있으니,
적당한 파일 형식을 맞춰서 불러오면 된다. 개인적으로는 enpass를 쓰고 있다가 데이터를 옮겨와서 사용중.
20. 크롬이나 파폭같은 브라우저는 스토어에서 익스텐션을 설치 할 수 있고, 이 경우에는 크롬처럼 비밀번호를
자동으로 입력하도록 만들어 줄 수 있다. 안드로이드 앱도 있으니 편할때로 운영하면 된다.
lastpass가 털린 전적도 있고, 아무래도 남의 서버에 내 패스워드를 전부 보관하기엔 불안불안하고,
2FA도 지원하기 때문에, 서버 관리만 충실히 잘 해준다면 조금 더 안전하게 운영 할 수 있다.