web-dev-qa-db-ja.com

OpenVPNコミュニティ(無料)バージョンで物理暗号トークンを使用する

私は現在、複数のクライアントへの企業アクセスを提供するためにOpenVPNをセットアップしています。私たちの要件は、証明書を使用し、クライアントキーをパスワードで保護し、クライアントごとに2要素(MFA)認証を使用することです。

使用したいフォーティネットFortiToken200トークンがたくさんありますが、OpenVPNなどでこれらのトークンを使用する方法を示す情報が見つかりません。もう少し調べてみると、OpenVPNで物理トークンを使用する方法を示す情報も見つかりません。

だから私の質問は、OpenVPNで物理トークンをどのように使用できるかということです。クライアントもスマートフォン経由でVPNを利用する予定なので、Google認証システムのようなものは使用できません。 OpenVPN PKCS#11のハウツードキュメントは非常に不十分に書かれています。

MFAが要件である場合、OpenVPNは現時点では実行可能なオプションではないと私は信じ始めています。

ご協力いただきありがとうございます。

1
lobi

基本的に:

  1. トークン用のpkcs#11ドライバーをインストールします(トークンの製造元に提供されていない場合は問い合わせてください)。
  2. そのドライバーを使用するようにopenvpnに指示し、トークンに使用可能なキーをリストします:
    • openvpn --show-pkcs11-ids /path/to/pkcs11/driver.so
  3. 設定ファイルで、--show-pkcs11-ids出力からキーのモジュールとシリアル化されたIDを指定します。例:

    pkcs11-プロバイダー/usr/lib/x86_64-linux-gnu/pkcs11/gnome-keyring-pkcs11.so
    pkcs11-id Gnome\x20Keyring/1\x2E0/1\x3AUSER\x3ADEFAULT/Gnome2\x20Key\x20Storage/417AEDAAB81FEF6AEBD1EC43D76A630CAAA4722A

(pkcs-idのバックスラッシュは必ずエスケープしてください。たとえば、Gnome\x20KeyringGnome\\x20Keyringになります。)

2
Steffan Karger