OpenVPN ユーザー パスはどこでどのように定義すればよいですか?

OpenVPN ユーザー パスはどこでどのように定義すればよいですか?

これによるとリンクユーザー/パスワード認証を行うには、以下の行をサーバー設定ファイルに追加する必要があります。

plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login

しかし、リンクにはファイルをどのようにlogin入力すればよいかが記載されていません。
私は Ubuntu 18.04 を使用しています。

答え1

PAMはプラグイン可能な認証モジュールは、システム認証および認可フレームワークです。ファイル、データベース、パスワードストレージとして設定したものなら何でも使用できます。パスワード以外のもの(OTPなど)を使用して認証することもできます。2要素認証、外部の信頼できるサードパーティ(Kerberosなど)へのリンクなどを行うことができます。最も単純なケースでは、システム ユーザーの暗号化されたパスワードを保存するファイル。

openvpn-auth-pamモジュールを使用すると、このシステム認証フレームワークを使用して OpenVPN ピアを認証できます。loginここでは、OpenVPN が使用する PAM サービスを意味します。おそらく、ローカル ユーザーに使用される などのいくつかのサービスがすでにあるでしょうsystem-auth。ファイルを調べて、/etc/pam.d/PAM がどのように構成されているかを確認し、マニュアルも読んでください。

loginデフォルトでは、サービスは を参照するだけであることが分かりますsystem-auth。これをそのまま使用するには、まずローカル システム ユーザーを作成し、そのパスワードを設定します。次に、クライアント構成に、資格情報ファイル名またはネイキッド (その場合、対話的に資格情報を要求します) のいずれかのオプションを追加します。詳細については、--auth-user-passを参照してください。man openvpn

最後に、常に最初に証明書ベースの認証を使用することを忘れないでください。各 VPN ピアは独自の証明書/キー ペアを持っている必要があります。ユーザー名/パスワード認証は、補助的なセキュリティ対策としてのみ考慮する必要があります。また、`duplicate-cn' 機能は使用しない方がよいでしょう。

関連情報