むかしむかし、南アメリカに美しい温かい仮想ジャングルがあり、そこにイカのサーバーが住んでいました。ネットワークの知覚イメージは次のとおりです。
<the Internet>
|
|
A | B
Users <---------> [squid-Server] <---> [LDAP-Server]
Users
インターネットへのアクセス要求時に、squid
名前とパスポートを尋ね、認証をLDAP
行います。LDAPが承認した場合は、許可します。
ユーザーとイカの間のパスでスニファーがパスポートを盗むまで、誰もが幸せでした[パスA]。この災害は、squidがBasic-Authentication
メソッドを使用したために発生しました。
ジャングルの人々は問題を解決するために集まった。NTLM
メソッドの使用を提供するバニーもいます。木によって推奨されているDigest-Authentication
間、ヘビが好まKerberos
れた。
結局のところ、ジャングルの人々によって提供された多くのソリューションとすべてが混乱していた!ライオンはこの状況を終わらせることにしました。彼はソリューションのルールを叫んだ。
- ソリューションを安全にしましょう!
- ほとんどのブラウザーとソフトウェア(ダウンロードソフトウェアなど)でソリューションが機能するか
- ソリューションはシンプルで、他の巨大なサブシステム(Sambaサーバーなど)を必要としません。
- メソッドが特別なドメインに依存してはならない。(例:Active Directory)
それから、猿によって提供される非常に手ごろな包括的で賢い解決策は、彼をジャングルの新しい王にした!
あなたは解決策が何であったか推測できますか?
ヒント:
間のパスsquid
とLDAP
ライオンで保護されており、解決策は、それを確保する必要がありません。
注:ストーリーが退屈で面倒な場合は申し訳ありませんが、そのほとんどは本物です!=)
/~\/~\/~\ /\~/~\/~\/~\/~\ ((/~\/~\/~\/~\/~\)) (/~\/~\/~\/~\/~\/~\/~\) (//// ~ ~ \\\\) (\\\\( (0) (0) )////) (\\\\( __\-/__ )////) (\\\( /-\ )///) (\\\( (""""") )///) (\\\( \^^^/ )///) (\\\( )///) (\/~\/~\/~\/) ** (\/~\/~\/) *####* | | **** /| | | |\ \\ _/ | | | | \_ _________// Thanks! (,,)(,,)_(,,)(,,)--------'
更新:
Massimoは、Users
- squid
とsquid
-の間の認証方法はLDAP
同じである必要はないと説明しました。任意の方法を使用してユーザーから認証情報を取得し、任意の方法を使用して認証済みの収集データを取得できます。
しかし、問題があります。すべてのタイプの認証システムの入力/出力は同じではありません。例えば:
Basic
オーセンティケータは行に「ユーザ名パスワード」ペアを読み、返信する必要がありOK
、ユーザーパスが正しい場合、またはERR
Digest
オーセンティケータは、読むべきusername:realm
とヘクスエンコードの返信HA(A1)
またはERR
。
client-squidメソッドとsquid-ldapメソッドの間に直接的な関係はありませんが、クライアントから収集されたデータは、squid-ldap部分で使用されるメソッドと互換性がある必要があります。したがって、ユーザー側で認証方法を変更する場合は、オーセンティケーターも変更する必要があります。
そのため、問題は次のように単純化されます。
最初のレベルでは、i(サル!)はユーザー側で適切な認証方法を探しています。ほとんどのブラウザで安全でサポートされている方法はどれですか。私は間の混乱にいる
NTLM
、Kerberos
とDigest
。選択した方法の資格情報をサポートし、LDAPを介して認証する認証システムを見つけることができます。