組織用にOpenVPNサーバーをセットアップしています。クライアント側のキーが機能するさまざまな方法について読んでいます。私はまだ、これらのクライアントキーとアカウント認証の背後にあるすべての概念に慣れていません。
各ポイントに対応するには:
1-OpenVPNキーのパスワード保護をSSHキーのパスワード保護にたとえることは正しい。
2-追加の認証方法を使用せずに、OpenVPNはクライアントの認証をサーバーによるクライアント証明書の検証(および理想的にはクライアントによるサーバー証明書の検証)のみに依存します。これにより、個々のクライアントのアクセスを取り消すには、クライアントの証明書を証明書失効リスト(CRL)に追加する(OpenVPNのバージョン1.5以降でサポートされる)か、クライアントからキーマテリアルを削除する(またはすべてのクライアントで証明書を切り替える)他のクライアント)。追加の認証方法を使用していない場合は、クライアントアクセスの取り消しを可能にするCRLが必要です。
キーを保護するパスワードは、追加の認証ではまったく役に立ちません。そのパスワードは、クライアントデバイスのキーを「ロック解除」するだけです。クライアントのユーザーがサーバーコンピューターに追加で認証される問題(およびアクセスの取り消しの問題)は軽減されません。
3-秘密鍵と公開鍵のペアは、ネットワーク経由で送信するのではなく、クライアント自体で生成する必要があります。クライアントで証明書要求を生成し、(証明書署名要求で)公開鍵をCAに送信して署名し、署名済み証明書をクライアントにインストールできます。これはすべてスクリプト化することができ、誰かがすでにそれを行っていると確信しています(そして、商用ライセンスのOpenVPN製品にその機能の一部が組み込まれていることを願っています)。
私はこれを見つけました My Certificate Wizard この目的のためだけに書かれたプロジェクトですが、プロセス全体を作成するためにOpenSSLコマンドラインツールを使用してクライアントですべてをスクリプト化しますユーザーにはほとんど見えません。