Featured image of post CloudFlare ZTNA を設定して安全に宅内にアクセスする

CloudFlare ZTNA を設定して安全に宅内にアクセスする

Summary

Summary

Zero Trust のアカウント

今回は GitHub のアカウントで認証する。
MFAのアカウント増やしたくないし、 Google アカウントでやると @gmail.com になってしまったりログインする時に制約があるので GitHub に寄せておく。

そのさい、 Zero Trust では認証すると email フィールドに GitHub の Primary EMail が入るので Gmail などで label を使う設定をしていると ([email protected] など) のちのちしようとしている SSH のアクセスを ブラウザでする機能でユーザー認証できない、ため注意する。

GitHub では Email の登録画面で登録した連絡先の Primary が認証時に CloudFlare に返ってくるのでこれを変更する。課題やトピック通知などは Notifications の Default notifications email で選択された連絡先に送付されるため今まで通りとなった。

Tunnels を張る

今回は pfSense のライセンス形態が変更されて新規ライセンスが有料となってしまったので OPNsense の載せ替えを検討していて損タイミングでの導入になる(どうせならグローバルIPで晒してないキレイな状態で CloudFlare に向けたほうがリスクが少ないからである)

切断通知の設定

CloudFlare の機能として Tunnel の切断時などに通知ができるようなので設定しておく

Dashboard での設定

Login methods

GitHub の認証を追加

App Launcher

App Launcher の設定を追加

Access groups

Access groups の作成、最初に作っておくのが吉

Application の設定

弊宅では一般家庭なので 150 ほど Application を登録必要があるのがわかったのでいろいろ確認した結果、 Application ID を Tuneel の Public hostname に指定していくことで自動化しやすいので脳死で名前を決められるようにした。

そのため下記の順番で設定する必要がある

  1. Application を作る
  2. Public hostname の設定

Application を作る

Public hostname の設定

SSH もやる場合

2024/02 月現在は Beta だが利用できる。

  1. Short-lived certificates
  2. 接続先に linux ユーザーを Email のユーザー名と同一名で作る
  3. sshd の設定を更新する
  4. Application の作成(Browser rendering: SSH に設定する必要があるため新規作成が必要)
    1. Public hostname を設定して ssh を指定する

プログラムアクセスさせる場合

Service Auth という場所で HTTP header, TLS 証明, SSH と選べるのでどれかを選択。 API 系の同期が多いと思うので、 Service Tokens がみんな設定することになるのではないだろうか

参考情報

少し古いが概要を掴むには十分でボリュームのしっかりとあり大変参考になった

Built with Hugo
テーマ StackJimmy によって設計されています。