- - PR -
squidでのNTML認証について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-10-05 11:12
お世話になります。
現在、squidにてAD連携を実施し、ntml認証を実施しています。 使用している各ツールは、以下の通りです。 OS: RHEL4 UP3 squid: 2.5.STABLE13 ソースよりコンパイル ./configure --enable-auth="ntlm,basic" samba: 3.0.10-1.4E.6 以下サイトを参考に、NTML認証を実施しています。 http://squid.robata.org/build_ntlm-auth.html 認証は正常に行われ、access.logにもユーザ名が記述されるようになりました。 しかし、Javaアプレットを呼び出すサイトが読めない、WindowsUPdateが出来ない などの事象が発生しています。 squid.confの中のacl/http_accessの組み合わせで、NTML認証前に直接サイトを閲覧 するようにしているため、現状は閲覧可能ですが、本来の認証/access.logへのユー ザ名記述という要件がクリアできていません。 aclで回避できていることから、NTML認証との問題なのではということは想像できる のですが、具体的な対策がわからず困っています。 ご存知の方おりましたら、アドバイス等いただけませんでしょうか。 お願い致します。 以下に、各設定の抜粋を記載します。 ====squid.conf=============================== ・・・・ auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp auth_param ntlm children 100 auth_param ntlm max_challenge_reuses 0 auth_param ntlm max_challenge_lifetime 2 minutes auth_param ntlm use_ntlm_negotiate off auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off ・・・・ acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 554 # RTPS add 2006/04/18 acl CONNECT method CONNECT acl GoodHost src 10.0.0.0/255.0.0.0 acl AuthorizedUsers proxy_auth REQUIRED acl special_url01 url_regex -i www.hoge.or.jp acl SSL method CONNECT acl POST method POST PUT never_direct allow POST never_direct allow SSL acl microsoft url_regex -i microsoft.com acl updatecom url_regex -i download.windowsupdate.com http_access allow special_url01 GoodHost no_cache deny updatecom http_access allow microsoft http_access allow updatecom http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow GoodHost AuthorizedUsers http_access allow to_localhost http_access deny all ・・・・ ====squid.conf=============================== ====smb.conf================================= [global] workgroup = HOGEDOMAIN netbios name = HOGE001 server string = Samba Server printcap name = /etc/printcap load printers = yes cups options = raw log file = /var/log/samba/%m.log max log size = 50 security = DOMAIN password server = 10.1.0.1 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = no idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 winbind use default domain = yes ====smb.conf================================= | ||||
|
投稿日時: 2006-10-05 23:04
http://www.monyo.com/technical/samba/translation/ntlm.html の通り、HTTP通信で2往復ぐらいします。 でJava AppletとかWindows Updateは、自分自身がWebクライアントみたいなもの ですからProxyが2往復するという状態を、Java Appletそのものがサポートして いないのでは(想像) パケットキャプチャーすれば、はっきりはしますが、面倒なだけですね。。。 ここらへんがオープンソースの面倒なところ。 誰もサポートしてくれないし。 ここらへんってオープンソースサポート業者はいくらでやってくれるんですかね。 | ||||
|
投稿日時: 2006-10-06 09:57
なるほど。 設定レベルの話ではないのかも知れませんね。 ご提示いただきましたURLを熟読し、何か活路を見出せるようにがんばってみます。 NTML認証ってあまり使われないのでしょうか? 同じようなことで、悩んでおられた方は、どのようにして解決されたのでしょうか。。。 | ||||
|
投稿日時: 2006-10-07 09:35
この現象はWindowsUpdateの実装方法に問題があるようなのでProxy側で
の対応方法は無いと思われます。 (この現象はIASサーバにおいても発生するようです。) 問題はWindowsUpdateを呼び出した際に、[高速]/[カスタム]の選択画面までは NTLM認証に適応したパケットを発生させているにも係わらず、その後、これら のボタンを押して先へ進もうとすると、認証をせずに通過しようとするパケッ トを発生させる事が原因で発生します。 Basic認証ではそのような事が起きないことから、NTLM認証においてIEの モジュールがID/Passwordを省略できるようにしている事に起因する問題 のようにも考えられますが詳しいことは判りません。 squidのメーリングリストで調べたみましたが、対策としてはすでに行わ れているようにMSのUpdateサイトへは「認証をせず接続」する方法が現 実解となります。 それ以外の方法としては、IEのProxy利用方法を自動認識かスクリプトに よる方法を取って、UpdateサイトへのProxyを経由せずにアクセスさせる 方法が考えられます。(「proxy.pac」「WPAD」で検索してみてください) ただし、自動認識の方法ではアクセスがクライアントからソースサーバへ スルーとなってしまうので、最初のProxy側でUpdateの際に認証せずに 接続する方がアクセスコントロール(セキュリティ)という面からは 望ましいと思われます。 もう一つの方法として、WindowsUpdateでは無く社内にWSUSサーバを構築 して、各クライアントが勝手にUpdateしないようにする方法もあります。 この場合には社内のクライアントがActiveDirectoryを利用するように なっている事が望ましい状況になります。(というかAD必須かな) 個人的はこの方法が尤も望ましいと思います。(Update漏れの可能性が 低くなりますね) JAVAの件に関してはもう少し詳しい情報が無いと判りませんが、NTLM 認証によってJAVAに影響を与えるという事は無いと思うので、こちらは 設定上の問題のような感じがします。 ただし、もしアプレット中において別のセッションを張るような処理が ある場合、そのアプレット自体がProxy認証を設定する仕組みが無ければ 同じ問題が発生する可能性はあります。 (FireFoxなどの他のブラウザでは問題は起きないか確認してみてください) [ メッセージ編集済み 編集者: 非武装エリア 編集日時 2006-10-07 09:46 ] |
1