ブラウザ ベースのアプリケーションの認証をクライアント マシンに依存させるにはどうすればよいですか? 管理者がこのマシンからのみログインできるとします。
前提: ネットワークと関連するすべてのマシン (クライアントとサーバー) を完全に制御できます。
Apache/Linux ソリューションを探しています。
ブラウザ ベースのアプリケーションの認証をクライアント マシンに依存させるにはどうすればよいですか? 管理者がこのマシンからのみログインできるとします。
前提: ネットワークと関連するすべてのマシン (クライアントとサーバー) を完全に制御できます。
Apache/Linux ソリューションを探しています。
このマシンを識別する何らかの方法を考え出す必要があります。アプリケーションで重要なことは何ですか? 物理的な位置?IPアドレス?
マシンを完全に制御できる場合は、クライアント証明書で SSL を使用し、使用する必要があるマシンにのみクライアント証明書を配置します。Apache でこれを構成する方法の詳細については、こちらを参照してください。
その記事にあるように、証明書、ユーザー名、およびパスワードを要求し、特定の IP アドレスへの接続を制限するように Apache を設定できます。
編集: クライアント証明書を使用するために別の Web サーバーは必要ありません。
アプリケーションの動作によっては、別の URL が必要になる場合があります。
この例では、特定のディレクトリに対してのみ証明書を構成していることに注意してください
<Directory "/www/hidden/docs">
. そのため、特定のクラスのユーザーに別の方法でログインさせるか、ログイン後に Web サイトのクライアント証明書で保護された部分にリダイレクトします。
ネットワーク上のクライアント ワークステーションを偽装しようとする悪意のある試みが心配な場合は、クライアントとサーバーで IPSEC を設定することを検討できます。その後、単純に IP アドレスを使用して信頼できるものとして扱うことができます。つまり、標準の Apache 技術を使用して制御します。 IPによるアクセス。
または、ネットワークが信頼できると考える場合は、クライアントに静的 IP を与え、標準の apache 技術を使用して IP によるアクセスを制限します。
どちらもネットワーク レベルでの管理作業が必要ですが、おまけに、アプリケーションを変更する必要はありません。