💻vaultwarden だったり bitwarden だったり

windows 用 bitwarden の初期画面
windows 用 bitwarden の初期画面

2024-05-13T03:49:38Z vaultwarden を使い始める

vw セットアップ https://qiita.com/fsdg-kohei-ioroi/items/97fb3574ad287f07b10a

VM つくるところはまあ、別に探せばいくらでもあるので割愛する。

違うところ

前提条件

mailtrap は使わない(自分のアドレスに転送できないので運用上厳しい)で azure communication service を smtp 認証でつかう。

基本セットアップ

https://zenn.dev/microsoft/articles/azure-communication-service-email でテストはしないところまで設定をすませておく。

azure のお作法

カスタムロール(に azure communication service 用の r/w 権限をつけて)+シングルテナント(要は外部公開しない Entra アプリ)のテナント ID まで取れたらいけるぽい。https://learn.microsoft.com/ja-jp/azure/communication-services/quickstarts/email/send-email-smtp/smtp-authentication

ドメイン設定のハメぷ

公開用アドレスに当初 azure managed domain を試してうまくいかなかったので、専用にとったドメインにサブドメインつけてから、 cloudflare 側で mx, spf を azure の提示した値にして、dkim, dkim2 については CNAME のレコード名に設定する値を セレクタ名._domainkey.サブドメイン として成功した。

foobarselector._domainkey.www みたいに。azure の検証ステップで提示してくれる dkim, dkim2 に関する dns 設定値が間違えていて、それがそもそものハマりポイントでもある。

2024-05-13T03:49:38Z おのれ azure め

慣れてないのと azure の階層と関係について把握してないから迷うので、セットアップだけで結構時間かかった。

cloudflared による tunnel 経由でドメイン公開する

のでインバウンド通信は開かなくていい(ポート 587 あけろ書いてあるけどしなくていいし、設定終わったら ssh:22 も閉じるくらいでよし)。

運用開始前の仕上げ作業

vw の管理画面は https://どめいん/ぱす/admin からいける。 env ファイルにパスワードを暗号化したトークンを書いておくと、 admin ログインでパスワードを使えるようになる。

これで自鯖パスワード管理できるようになった。

2024-05-13T08:30:13Z パスワード移行開始いぃぃん

Firefox でためこんだパスワードを vw につっこむ。

vw サーバーに対してクライアントは思いつくプラットフォームで対応されている。 が、まずはメインどころとして常用ブラウザの Firefox でパスワード管理を vw へ移行させる。

FF に限らずどのブラウザもパスワード管理の仕組みにエクスポートが備わっているので、

  1. エクスポートファイルから vw 用にファイルをつくって vw サーバーにインポート
  2. 使っているブラウザに拡張機能として vw を入れ、サーバーと同期する
  3. あとはブラウザ側のパスワード管理ストアをクリア これで vw がブラウザのパスワード管理の替わりに動き始める。べんり。

そのあと漏洩パスワードチェックなどしつつ、二度と使わないサイトや死んだサイトを整理。 この用途ではあんまり使いやすくない。

一個一個開いて死んでたら削除、死んでなかったらパスワード確認してから残すか削除するか判断、みたいなことを繰り返すのには向いていない。結局、途中で vw から CSV エクスポートしなおしてテキストエディタで見直している。使いながら余裕時間で触っていく。さすがにパスワードセットだけで600近くあるとシンドイ。

2024-05-14T08:01:05Z おのれ iCloud キーチェーン

vw(vault warden) さわりだしたらパスワード整理がとまんねえ。

その流れでスマホも vw に移行するため icloud キーチェーンをどうにかしようとしたところ、

  • iPhone 単体で icloud キーチェーンをエクスポートできない
  • Windows Hello つかってまで Windows 用 icloud 使ってもダメ だと分かったのが今日の収穫。

macos をどげんかせんといかんですよ

macos を vm で動かしてどうにかしてやるか。 用途的に瞬間しか使わないので、それのために macos vps は高い。

MEGA から macOS Sonoma の ISO イメージをダウンロードして、 VM 作り https://forum.amd-osx.com/threads/mac-os-install-on-amd-ryzen-vmware-opencore.4696/

このタイミングで買収された VMWare Player も、なぜか 522 出て DL できなかった。

2024-05-14T10:07:20Z google パスワードマネージャー

勝手にメールアドレス使われる、という話が [email protected] で見えてきたところで、そういえばパスワード流出しているのと組み合わせで使われてたら嫌なので、とりあえず gmail のログインを FIDO2 に置き換える試験をした。

vw の firefox 拡張と iPhone 上の vw とで、両方パスキーでのログインが出来たのでヨシ。これから全部の gmail アカウントをパスキーでログインに変更する。google workspace の場合は admin console のセキュリティメニューから(現在は)β機能のパスワードスキップを許可したらいけた。

これのいいところは、アカウントとパスキーでログインが完結するところ。こういう運用が出来るのであれば別に yubikey いらなかったかもしれんw。 bw/vw が優秀すぎる。

まあ、 PC 用の vw にログインするときのパスキーに使っているのと、なにかに使えるはずだから()無駄にはならないだろうけど。とにかく資格情報くらいはビッグテック依存からの脱却を目指すため。

さわりはじめて気が付いたが、google アカウントに紐づく google のパスワードマネージャーってエクスポートできるくせにオールクリアできないのな。意味わかんねー。

2024-05-15T15:08:54Z me.com の転送がコケてメールが送信されなくなりました(笑)

あせって意味のわからない Azure Monitoring を ON してみたが、なんの情報も得られないので削除。(課金されるし)

ガチャガチャしていたけど解決するでもないので、メールアドレスを me.com から icloud.com に変えたら受信した。

vw と yubikey コンビネーション

yubikey を bitwarden で使うべく、 admin console に設定するナニカを探るべく personalization tools をダウンロード してインストールした。が、どうも違うらしいw。yubikey manager も yubikey 本体の設定ができるというツール。

vaultwarden の admin console で要求されるのは client ID と secret で、これを生成する手順を示すと、次の段取りになる。

  1. https://upgrade.yubico.com/getapikey/ にいく。
  2. メールアドレスは普通にいれてもろて
  3. yubico OTP という欄
    • クリックして入力可能状態にする
    • yubikey(USB にささってる状態)でボタンをタッチ、44桁の OTP が入力される。
  4. この入力が終わったら go すると client ID と secret が生成、表示される。
  5. admin console にも設定できるけど、 docker の起動時環境変数設定で、直接指定するのがよいとのこと。ADMIN_TOKEN もそう。

さて。てことはだ、 yubico に yubikey の情報が渡ったわけだ。これもセルフホストにしたかったなあ。まあ、無理だろうけど。yubico 自体が認証局みたいなもんだろうし。

2024-06-07T01:49:08Z コスト

一か月ほど vw の運用をまわしてみてコストを考慮。2番目に安いはずのスケールで 3,500 円くらい。この金額だと最終的に自宅サーバーに収容するなどしないとキツいw。もう1段下のスケールでVM動かした方が幸せな気がしてきたので、時間が出来たらメモリとディスクを計ってみることにした。

動きを見ている限りクラサバ間にリアルタイム通信が必要なわけでないので、下げたら使用感が悪くなるとか心配はしていないが、せっかく vw を使うんだから、コストは出来るだけ下げたい。