ソフトウェアエンジニア向けのコンピュータネットワークをセットアップしています。私は現在、すべてのSSH接続をジャンプ/要塞ホスト経由で実行しており、SSHエージェント転送を必要とする本番サーバーにアクセスできます。
内部に面し、セキュリティで保護されていない可能性のあるHTTPサービス(管理ダッシュボードやIPythonノートブックなど)にアクセスするために、ユーザーは運用サーバーのポートをローカルホストにポート転送する必要があります。
ユーザーにOpenVPNサーバーをプロビジョニングし、ポート転送なしで内部サービスにアクセスできるようにしたいと思っています。ただし、これらのサービス(IPythonノートブックなど)へのアクセスは、SSH /シェルアクセスと同等です。
既存のOpenSSH設定と一緒にOpenVPNを実装する場合、エンドユーザーはSSH鍵とOpenVPN TLS鍵という2つの方法でリモートシェルにアクセスできます。これはユーザーの認証を複雑にし、ネットワークの攻撃面を増やし、アクセス監査と侵入検知の難しさを増やします。
これに基づいて、OpenVPNを導入することはまったく良い考えですか?もしそうなら、ユーザーのキー管理を簡素化できるいくつかの方法は何ですか? (ユーザーはOpenVPN TLSとSSHに同じRSAキーを使用できますか?)どのようにサーバーのロギングを照合して、VPNとSSHアクセスに同じ監査エクスペリエンスを提供できますか?
複雑化することはありません。サーバーで次のものを使用します。
そう! OpenSSHの場合、PAM認証方式を使用し、pam-ldapを使用してLDAPを使用して認証します。 OpenVPNが同様の設定を使用する場合、 this one のような、すぐに使えるソリューションもいくつか存在します
そして、そのような設定で混乱が発生することはありません。すべてが非常に明確で、LDAPの単一のストレージ/認証ポイントで適切に構成されています。 mpdのようなppptpアクセスを使用する必要がある場合-問題ありません。これはこのセットアップにもうまく統合されます(私も自分で行いました):freeradiusをバックエンドフォームmpdとして使用し、freeradiusをLDAPにもポイントします。
既存のOpenSSH設定と一緒にOpenVPNを実装する場合、エンドユーザーはSSH鍵とOpenVPN TLS鍵という2つの方法でリモートシェルにアクセスできます。これはユーザーの認証を複雑にし、ネットワークの攻撃面を増やし、アクセス監査と侵入検知の難しさを増やします。
このすべてに対する答えはイエスです。明らかに、ネットワークへの別のアクセス方法を開くと、攻撃対象領域が増加します。本当の問題は、メリットが追加のリスクを正当化するのに十分かどうかです。 VPNサーバーが本当に良いアイデアであるかどうかを尋ねますが、VPNサーバーがある場合は、SSHサーバーを常に使用できる状態にしておく必要がありますか?コメントの1つで述べたように、VPNはネットワークへのアクセスを提供するためのより堅牢で安全な方法ですが、より多くのセットアップとメンテナンスが必要です。ユーザーにとって物事をシンプルまたは使い慣れたものに保つことは、常に考慮すべき点ですが、セキュリティは一般的に利便性を覆すはずです。
一般に、セキュリティと利便性の間にはある程度のギブアンドテイクがあることを理解できる能力を備えている必要がある開発者を扱っているようです。そのため、そのバランスがクライアントの特定のニーズのどこにあるのかを理解する必要があります。キーの再利用と照合監査に関する質問はすべて、クライアントのニーズ、導入されているセキュリティポリシー、情報に必要な保護レベル、現在のネットワークアーキテクチャと実装などによって異なります。2つの異なるデバイス間でのキーの再利用システムは最高レベルのセキュリティを提供するつもりはなく、より多くのリスクが伴います。しかし、必要な保護のレベルによっては、真のシングルサインオンシステムのより複雑でコストのかかるセットアップを行わなくても、実装に十分なセキュリティを提供できる場合があります。