danielcrisap.ansible_pritunl_vpn

Pritunl VPN用のAnsibleロール

ビルドステータス

このロールはPritunl VPNをインストールします。

**

Pritunlとは

PritunlはオープンソースのVPNサーバーおよび管理パネルです。使いやすいウェブインターフェースを通じて、ユーザーにOpenVPNプロトコルの力を提供します。

要件


新しい要件の追加

このアプリケーションはLinuxサーバーで動作する必要があります。CentOS、Amazon Linux、Debian、Ubuntuなどで動作可能です。

PritunlはMongoDBをデータベースとして使用するため、MongoDBサーバーが必要です。

データベース設定

Pritunlが初めて起動すると、443ポートで動いているウェブサーバー上にデータベース設定プロンプトが表示されます。設定キーとMongoDB URIの入力が求められます。設定キーを取得するには、サーバーにSSH接続してコマンド sudo pritunl setup-key を実行してください。これにより、設定キーが返されます。デフォルトでは、MongoDB URIはlocalhostのMongoDBサーバーのURIで自動入力されます。この設定は、Pritunlインスタンスと同じサーバーでMongoDBサーバーが動いている場合はそのままにしておいてください。エンタープライズクラスタの場合は、MongoDBのドキュメントを参照してください。接続文字列URI形式もしくは、直接 /etc/pritunl.conf ファイルに設定することもできます。CLIコマンドに関する詳細は、コマンドを参照してください。一部のMongoDBサーバーは管理データベースで認証を行い、URIに authSource=admin オプションが含まれる必要があります。

サブスクリプションについて

サブスクリプションは、ホームページまたは稼働中のPritunlサーバーのウェブコンソールから購入できます。クレジットカード情報はウェブブラウザーから直接Stripeに安全に送信され、他のサーバーに保存または転送されることはありません。Pritunlサーバーはいつでもアップグレード可能で、サブスクリプションにアップグレードしても再設定は不要です。

ライセンスキー

サブスクリプションを作成した後、チェックアウト時に使用したメールアドレスにライセンスキーが送信されます。ライセンスキーは、サブスクリプションを作成したサーバーと同じサーバーで使用する必要はありません。プレミアムサブスクリプションは1つのサーバーでのみ使用でき、エンタープライズライセンスは1つのクラスターでのみ使用できます。クラスターは同じMongoDBデータベースに接続されたPritunlサーバーのグループです。テストのため、ライセンスキーは何度でも使用できますが、複数のサーバーでの継続使用はサブスクリプションのキャンセルにつながります。

請求書と長期サブスクリプション

一部の会社は、完全な請求書と年次サブスクリプションを要求します。これはエンタープライズサブスクリプションのみで利用可能で、年次サブスクリプションに割引はありません。エンタープライズサブスクリプションの年次請求書をリクエストするには、請求情報を contact@pritunl.com にメールし、請求書を受け取るためのメールアドレスとライセンスキーを受け取るためのメールアドレスを含めてください。

教育割引

公立学校には50%の割引があります。これは既存の月額サブスクリプションまたは年次サブスクリプションに適用できます。月額サブスクリプションの割引を受けるには、まずトライアルを開始してから、サブスクリプション作成時に使用したメールアドレスを contact@pritunl.com に送信してください。年次サブスクリプションの場合は、上記の手順に従ってください。

**

認証

**

WireGuard 認証は、Pritunlのクライアントプロファイルに既にあるキーを利用しています。これにより、ユーザーがプロファイルを再インポートする必要なく、WireGuard に移行できます。多くの管理者は有効なHTTPS証明書を構成せず、HTTPSに依存する必要はありません。認証は3つのキーを使用して行われ、複数の暗号化と認可のレイヤーを提供します。

  • クライアント SHA512-HMACキー(認可)
    クライアントはSHA512-HMACシークレットを使用して各接続要求に署名します。サーバーもこのシークレットを用いて応答に署名し、クライアントは接続応答を検証できます。このシステムは、ホストアドレスやサーバーポートの変更(プライベートキーは同期されません)のようなプロファイル設定の同期を認可するために使用されます。

  • クライアント/サーバー NaCl非対称キー(認可+暗号化)
    クライアントは、クライアントプロファイルに含まれるサーバーのNaCl 公開キーを利用します。これにより、クライアントからサーバーへの接続要求が非対称暗号化されます。サーバーは、クライアントのNaCl 公開キーを使用して応答を暗号化します。クライアントもサーバー応答をサーバーのNaCl 公開キーを使用して検証します。このシステムは、OpenVPN接続でパスワードや二要素コードによる追加の暗号化と認可を提供するためにも使用されます。

  • クライアント RSA-4096非対称キー(認可)
    クライアントのRSA証明書とキーは、各接続要求に署名するために使用されます。サーバーはこれを用いてクライアントの接続要求を検証します。これはOpenVPN接続を検証するために使用される同じ証明書です。

WireGuard 接続は新しいWireGuardキーを使用します。これにより、最高レベルのセキュリティが提供されますが、ユーザーがスリープ中のコンピュータに戻るとネットワーク接続に遅れが生じます。WireGuardプライベートキーはPritunlクライアントのバックグラウンドサービスのメモリとWireGuard構成ファイルに保存されます。WireGuardは接続のない設計を使用し、このプライベートキーは多要素認証が使用されていても攻撃者が接続をハイジャックするために使える可能性があります。高セキュリティ環境では、多要素認証があるOpenVPN接続がこのような弱点を持たないことを考慮することが重要です。そのため、サーバーは非アクティブクライアントのWireGuardキーをすぐに取り消し、こうした事態の可能性を制限します。サーバーはキーが再利用されていないことも検証します。

クライアントが接続されると、10秒ごとにサーバーにpingリクエストを送信します。このリクエストは、クライアントがダウンリンクを迅速に検出し、約13秒でフェイルオーバーできるようにします。サーバーが6分間pingリクエストを受け取らないと、ユーザーを切断し、公開キーを取り消します。

ロール変数

pritunl_mongodb_uri: 'mongodb://localhost:27017/pritunl?authSource=admin&ssl=true'

pritunl_mongodb_uri Pritunlがデータベースに接続するためのMongoDB URI。

例プレイブック

ロールを使用する方法の例(例えば、引数として渡される変数を使用する)もユーザーにとっては嬉しいです:

    - hosts: servers
      vars:
        pritunl_mongodb_uri: 'mongodb://localhost:27017/pritunl?authSource=admin&ssl=true'
      roles:
         - { role: danielcrisap.ansible-pritunl-vpn }

ライセンス

MIT ©

著者情報

このコレクションは2020年にダニエル・クリスチャンによって作成されました。

プロジェクトについて

setup pritunl vpn

インストール
ansible-galaxy install danielcrisap.ansible_pritunl_vpn
ライセンス
Unknown
ダウンロード
81
所有者
I'm a Site Reliability Engineer and I love what I do.