可能?証明書ベースのログインとパスワードベースのログインの両方が必要なOpenVPNサーバー(Tomatoルーターファームウェア経由)


8

OpenVPNサーバーを実行するために、Asus N66UルーターでShibbyのビルドのTomato(64k NVRAMバージョン)を使用しています。

ユーザーがアクセスを許可される前に、証明書ユーザー名/パスワードの両方を要求するようにこのOpenVPNサーバーを設定できるかどうか知りたいです。

証明書の詳細を入力するときに「チャレンジパスワード」のエントリがあることに気づきましたが、「それ以外の場合」は誰もが空白のままにしておくように言われました。なぜなのかわからないし、説明もありません。また、私はGoogle'dこの問題を抱えてきたし、注目人々は、ユーザー名/パスワードを経由して認証するために、OpenVPNのためのPAMモジュールについて話して、それが持って登場のいずれか/またはオプションであることを。つまり、ユーザー名/パスワードまたは証明書を使用して認証を強制できます。両方必要です。

これは可能ですか?もしそうなら、どうですか?

回答:


4

サーバーがクライアントの証明書と資格情報の両方に基づいてクライアントを認証できるようにするOpenVPN機能はですauth-user-pass-verify。この機能により、サーバーは、リモートユーザーから提供されたユーザー名/パスワードを、認証を実行するスクリプトに渡すことができます。その時点で、PAM、RADIUS、LDAP、煙信号など、必要なものに対して資格情報を検証できます。

「トマト」ファームウェアについては何も知らないので、ここで段階的に説明するつもりはありません。私はいくつかのクイック検索を行いましたが、OpenVPNの「カスタム構成」オプションを使用してauth-user-pass-verify参照を含めることができると思います。認証を実行するにはスクリプトが必要です。

検索してみてください。「トマト」固有の参照が見つかると思います。


2

チャレンジパスワードは、キーの復号化を可能にするために使用されるパスフレーズです。これが「パスワード」とキーを実際に実行できる唯一の方法です。

実際に確認できるのはパスワードまたはキーのみで、両方では確認できません。両方の方法を有効にしている場合は、最初にキー認証が試行され、失敗した場合はパスワード認証にフォールバックします。

キーにパスフレーズがないと、誰かがたまたまキーを手にした場合に、誰かがあなたのアイデンティティを模倣しやすくなります。

interwebzがキーにパスフレーズを使用すべきではないと言う理由を調べ、それが実際に問題かどうかを確認することをお勧めします。


ええ、それは私が答えるのに苦労してきたものです。うまくいけば、他の誰かがその点について私たちを啓発することができます。それは直感に反する提案のようです。
エリック

それまでの間、証明書と要件の強度をユーザー名とパスワードの組み合わせのみと比較する定量化可能な方法はありますか?解読するのがはるかに難しいと想定していますが、それは私の状況に基づく知識に基づく仮定にすぎません。
エリック

これは古い答えですが...これはチャレンジパスワードの目的ではありません。上記のように、パスフレーズを使用してキーを保護できますが、チャレンジパスワードは無関係です。証明書にもキーにも保存されませんが、CAに保存されます。これは、CAを使用してキーを失効させるか、交換を発行するときに使用することを目的としています。
ジャックB

2

auth-user-pass-verifyは正しいことです。さらに、認証ユーザーのユーザー名を認証済みのCNにする必要があることを強制できます。また、openvpnが一度に各証明書に対して1つの接続のみを確立するように強制することもできます。

このように、「模倣者」は、証明書のCNと比較して適切なユーザーと適切なパスを持つ必要があり、実際の所有者が一度にログオンする必要があります。

さらに、IDSについて考えることもできます。選択するIDによっては、許可された外部IP範囲、ログオン時間などのようにIDSを絞り込むこともできます。

公開された証明書は直ちに取り消す必要があります。署名サーバーはオフネットである必要があります-USBによる転送キー-あなたは本当にタイトな安全なアクセスを持っています。

証明書にパスワードを設定しないでください。

  1. ブルートフォースが簡単です。
  2. ユーザーをロックすることはできません(証明書パスはオフラインのみです)。
  3. 人々は常にパスワードを失い、毎回証明書を取り消して再作成するように強いられます-取り消しを忘れることが多い場所にたくさんの証明書があることの大きなリスク。

ただし、本当に必要な場合は、auth-userとcert passwordを同時に使用して、フォールバックなどは発生しません。

最初に、openvpnは証明書のパスワードを使用して秘密鍵を復号化し、接続を確立します。次に、認証ユーザーがサーバーIDで起動します-資格情報が間違っている場合は、アウトです。

ただし、攻撃者が通常の資格情報を取得した場合、あなたはすでに問題を抱えており、可能性が高いので、証明書のパスワードも取得しました。

ですから、ここには実際の利益は多くの欠点とは言えず、セキュリティが向上しているという誤った感覚はありません。


0

私は次のチュートリアルに従いました(Asus N66UのTomatoUSB Shibby 1.28を使用):http ://www.dd-wrt.com/wiki/index.php/OpenVPN これは非常に 役立ちます。


2
AndyZ-SFへようこそ。ただし、ここでは、リンク(年齢とともに腐敗する可能性がある)だけではなく、より多くの実体を含めるための回答を歓迎します。この回答を見直して、フォローしたメソッドの重要な部分と記事へのリンクを含めることができれば、それは本当に良い回答になるでしょう。
MadHatter、2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.