Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【祝・東京リージョン上陸!】AWS Client VPNを使ってみる

hmatsu47
June 20, 2019
2.2k

【祝・東京リージョン上陸!】AWS Client VPNを使ってみる

JAWS-UG名古屋/AWS Summit Tokyo 2019 振り返り勉強会 LT 2019/06/20

hmatsu47

June 20, 2019
Tweet

More Decks by hmatsu47

Transcript

  1. はじめに • 自己紹介は省略します • JPタワーでAWSを使って何かやってる人です • ちょっとタイトル詐欺気味です • この場で接続の実演はしません •

    こちらの記事に設定方法を書きました • https://qiita.com/hmatsu47/items/ce0cc8b7f5747dbb3190 • 記事の中からAWS Client VPNの設定上・使用上のポイントを ピックアップしました
  2. AWS Client VPNとは • AWSのVPCにVPN接続するためのサービスです • クライアント用VPN接続です • OpenVPNのクライアントから接続することができます •

    ルーターモード(dev tun)で接続します • 最近ようやく東京リージョンでサービスインしました • Active Directory認証(+サーバ証明書認証)と、証明書によ る相互認証が可能です • 併用することも可能です
  3. 設定の流れ(1/3) • オレオレ認証局(CA)を立てます • 必要な証明書を発行しACMへインポートします(例:サーバ証明書) $ git clone https://github.com/OpenVPN/easy-rsa.git $

    cd easy-rsa/easyrsa3/ $ ./easyrsa init-pki $ ./easyrsa build-ca nopass $ ./easyrsa build-server-full server nopass $ mkdir published $ cp pki/ca.crt published/ $ cp pki/issued/server.crt published/ $ cp pki/private/server.key published/ $ cd published/ $ aws acm import-certificate --certificate file://server.crt --private-key file://server.key --certificate-chain file://ca.crt --region ap-northeast-1
  4. ポイント① 認証オプションの選択 • Active Directory(AD)認証 • VPNサーバ側でADと連携してユーザ名・パスワードでクライアントを認 証します(ユーザを認証) • 証明書による相互認証

    • VPNサーバ側でクライアント証明書を使ってクライアントを認証します (端末を認証) • VPNサーバ側でのクライアントの認証対象が違います • クライアント側ではともにサーバ証明書を使ってサーバを認証します • 前述の通り併用も可能です
  5. ポイント② 証明書と有効期限 • 証明書はACM(AWS Certificate Manager)にインポートします • 証明書には有効期限があります • CA(認証局)証明書

    • サーバ証明書 • クライアント証明書(相互認証の場合に使用) • ACMでは証明書を自動更新してくれません • オレオレ認証局で更新してACMに(再)インポートする必要があります • CA証明書を更新したら設定ファイルの再ダウンロードが必要です
  6. ポイント④ Client VPNのルーティング • Client VPNはAWSとしては異例の「外→中(VPC)→外のルー ティングができるサービス」です • OpenVPNクライアントから接続する場合、クライアントの通信 は全てClient

    VPNエンドポイントにルーティングされます • そのままではVPN接続中のクライアントから直接インターネットアクセ スができなくなります