pfSenseのOpenVPN設定ファイルの「キー」エントリに情報をどこに入れますか?

pfSenseのOpenVPN設定ファイルの「キー」エントリに情報をどこに入れますか?

次の設定ファイルがあり、デフォルトのOpenVPNクライアントで正常に動作します。

client
dev tap

proto udp
port 1198

remote myhost.com 1194

persist-key
persist-tun


tls-client

ca   my-ca.crt
cert my-client.crt
key  my-client.key

verb 3

さて、同じ情報を使ってpfSense OpenVPNクライアントを設定したいと思います。

わかりません。keyファイルの内容はどこに保存されていますか?私はcrt適切なセクションにファイルを入れましたSystem/Certificate Manager

クライアント設定ページにCryptographic Settings/KeyサブメモがあるセクションがありますPaste the shared key here。このセクションは最初は存在せず、設定が一度保存された後にのみ表示されます。表示されると、いくつかのキーが含まれています。そこにファイルの内容を貼り付けるとkeyエラーが発生します。

The field 'TLS Authentication Key' does not appear to be valid

ファイル情報はどのように入力しますか?

修正する

自動生成すると生成されます。

#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
... small amount of HEX symbols ...
-----END OpenVPN Static key V1-----

そして私の鍵は

-----BEGIN PRIVATE KEY-----
... large amount of random chars...
-----END PRIVATE KEY-----

私のキーを確認してopensslみると2048ビットだと出ていました。どのように自動的に生成されたキー(つまり2048ビット)より大きくすることができますか?

アップデート2

自動生成されたキーをそのままにすると保存されますが、次のメッセージが表示されます。log

TLS Error: cannot locate HMAC in incoming packet from

無効にするとTLS authentication - Enable authentication of TLS packets保存されますが、

Mar 16 22:25:39 openvpn 47325   Exiting due to fatal error
Mar 16 22:25:39 openvpn 47325   FreeBSD ifconfig failed: external program exited with error status: 1
Mar 16 22:25:39 openvpn 47325   /sbin/ifconfig ovpnc5 XX.XX.XX.XX netmask 255.255.255.0 mtu 1500 up
Mar 16 22:25:39 openvpn 47325   do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Mar 16 22:25:39 openvpn 47325   TUN/TAP device /dev/tap5 opened

どちらの場合も、keyファイルは未使用のままです。

アップデート3

私のキーの前に同じ値を追加すると、

 -----BEGIN OpenVPN Static key V1-----

行(同じ行で終わる行)を入力すると、GUIはキーを受け入れ、ログに次のエラーが表示されます。

Non-Hex character ('M') found at line 2 in key file '/var/etc/openvpn/client5.tls-auth' (0/128/256 bytes found/min/max)

したがって、非常に具体的なキーが必要ですが、それを通知したり記録したりしません。

ベストアンサー1

pfSenseのソースコードを見るvpn_openvpn_clientモジュール

if ($tls_mode && $pconfig['tlsauth_enable'] && !$pconfig['autotls_enable']) {
        if (!strstr($pconfig['tls'], "-----BEGIN OpenVPN Static key V1-----") ||
            !strstr($pconfig['tls'], "-----END OpenVPN Static key V1-----")) {
            $input_errors[] = gettext("The field 'TLS Key' does not appear to be valid");

デフォルトでは、「TLSキー」フィールドに「-----BEGIN OpenVPN固定キーV1----」または「-----END OpenVPN固定キーV1----」が含まれていることを確認します。 ""、貼り付けた内容が有効なキーであることを確認しません。そのため、設定を保存するときにエラーを消去できましたが、キーはまだ機能しません(「16進数以外の文字「M」」エラーが発生しました)。

証明書マネージャに「BEGIN PRIVATE KEY」キーを入力する必要があることを確認してください(識別にキーを使用している場合)。 OpenVPNのドキュメントと関連記事を組み合わせて硬化TLSキーはパケットのソースを確認するために使用されます(つまり、すべてのパケット、制御、およびデータに適用されます)、保持しているキーは認証のためにクライアントを識別するために使用されます。識別に使用されるTLSキー所有者、保持しているキーでユーザーを識別します。

おすすめ記事