🛡️

Cloudflare Zero Trust 経由でEC2にSSH接続する

2024/04/06に公開

以下の記事を参考に構築した際、調べた各コンポーネントの情報やはまったポイントを整理する。
https://zenn.dev/hiroe_orz17/articles/b028fdb5444ee0

今回構築するインフラ構成

WARPとは

Cloudflare Networkと接続してくれるサービス。内部的にはWireGuardによってVPN接続をしている。

WARPのSSL証明書について

  • Windows, macOS, Linux devices には自動で証明書がインストールされる。
    • インストールされた証明書の確認方法はこちら(macOSの場合)
  • モバイルWARPクライアントを使用する場合は手動でインストールする必要がある。

認証方法設定について

  • zero trustの設定画面からどの認証方法を許可するか選ぶ(今回はGoogleのみ)
  • WARPクライアントのpreferenceから設定を行う必要がある。

Cloudflare Tunnelとは

接続先からのアウトバウンド接続によって通信を可能にするコンポーネント。
接続先は、Public Network, Private Networkタブから接続したいネットワークをCIDR指定する。

以下のような接続用コマンドが表示されるのでこれをEC2上で実行するだけ。
今回は Fedora がベースになっている Amazon Linux 2023 で実行したかったのでRedHat向けコマンドを実行した。

EC2との接続方法2種類

  1. cloudflared
  2. WARP Connector

cloudflared はアウトバウンドトラフィックのみ。WARP Connectorなら双方向通信可能。
今回のようなVPNを置き換える場合はcloudflaredがベストプラクティス。(参照

Tunnel capacityについて

はまったポイント

WARPが起動できない

  • CF_HOST_UNREACHABLE_CHECK エラーがずっと出ていた。
    • 試したこと

    • 解決した方法

      • Firewall policies の Block Malware 設定を解除した。
      • おそらく設定が厳しすぎたのだと思う。

もろもろ設定完了後の接続手順

  1. WARPクライアントをConnectedにする。
  2. sshでEC2のprivate ipを指定して接続。

これだけ。

Discussion