zaurusからphsでwebとかを見るときに、最近はw3mを使う。
広告とかうざいので、フィルタがかけられるといいな~と思って調べてみたら、MouseHoleなんて言うものがあるらしい。
このお方は、デフォルトではlocalhostからの接続しか許さないらしい。
どのくらいのセキュリティ設定ができるのかわからないけど、いきなり外向きにあけてオープンプロキシになってしまうのは嫌だなと。
うちではすでにsquidが動いているので、こいつとなんとか協調できないものかと思う。
そういえば、squidは現在内部向けにしかサービスしていないが、そもそもsquidの認証ってどうなっているのかな?と調べてみた。

いろいろな認証方法が使えるらしいが、一番お手軽なのはbasic認証らしい。しかし、例によってネットワークを平文でパスワードが流れるのは納得いかないので、digest認証を使うことにする。
portsから入れているsquidさんは、/usr/local/etc/squid/squid.conf が設定ファイル。
まずはこいつを眺めてみると、auth_param basic で始まる行が何行か有効になっていたので、こいつを全てコメントアウト。そして、以下のような記述を追加する。
http_port 外部向けのアドレス:3128

auth_param digest program /usr/local/libexec/squid/digest_pw_auth /usr/local/etc/squid/digpass
auth_param digest children 3
auth_param digest realm Squid proxy-caching web server
auth_param digest nonce_garbage_interval 5 minutes
auth_param digest nonce_max_duration 30 minutes
auth_param digest nonce_max_count 50

acl password proxy_auth REQUIRED

http_access allow password
最後の、http_access allow password の行は、LAN側のallow の後で、 all の deny の前に入れる。
これで、LAN側からはパスワードなしでアクセスでき、インターネット側からはdigest認証を求められるようになる。
そして、/usr/local/etc/squid/digpassと言うファイルを作成し、ユーザ名:パスワード(平文) の行を必要なだけ追加する。
後は、/etc/ipf.rulesで外部からの3128へのアクセスを通すようにしておく。
で、squid を再起動すれば、外部からもうちのsquidが使えるようになった。
試しにw3mで見てみたら、リクエストのたびにユーザ名とパスワードを聞かれる・・・。

次は、squidを使って中身をフィルタできないか調べてみるかな~。

カテゴリ

トラックバック(1)

このブログ記事を参照しているブログ一覧: Squidで認証

このブログ記事に対するトラックバックURL: https://www.wizard-limit.net/cgi-bin/mt/mt-tb.cgi/1042

» Squidプロクシサーバのインストール @ Mac OS X(blog.remora.cx)~のトラックバック

せっかくSSD使ってるんだから高速なプロクシサーバとして運用してみよう。ってことでSquidをインストール。いつもの通り、Macportsにお任せだ。 $... 続きを読む

コメント(7)

たけちゃん :

ベーシック、ダイジェスト認証共に出来なくて
困ってます。詳しく紹介してほしい。
SQUID 2.6.STABLE23ですが、
変わったのかな?
passwd 及び digpass の置き方?

squid.conf 設定例がほしいです。

何卒、ご教授お願いします。

たけちゃん

false :

この記事を書いたのが2006年で、現在は Squid 2.7.6 を使っていて同じ設定で動作していますので、バージョンでの違いは問題なさそうです。

squid.conf の digest 認証に関する部分はこの記事に書いた通りで、後はauth_param digest program の行の最後に書いてあるパスに ユーザID:パスワード を書いたファイルを置くだけです。

何をやって、どうできないのか、を明らかにしていただかないと、アドバイスできません。
まずは、認証をかけない設定でSquidが動作していることを確認したのち、認証をかけてみてどのようなエラーが出るのかを見てみてください。
クライアントにどのようなエラーが出るのか、サーバ側のログファイルには何が出力されているのか、あたりが手がかりになります。

たけちゃん :

windows版です。認証無しではOKです。
auth_param digest program c:/squid/libexec/digest_auth_pw c:/squid/etc/digpass
で、NG digest_pw_authが正しいのか?試したがNGでした。
ログは、まだ見てないです。apacheみたいに、何行目にエラーが有るか分かる
方法ありますか?パスワードのファイル名は、拡張子無しで、digpassでOKですか?

お手数おかけします。

false :

digest_auth_pw はどこから出てきたのでしょうか?

とりあえず、
auth_param digest program c:/squid/libexec/digest_pw_auth.exe c:/squid/etc/digpass
としたらどうでしょう?
digpass は拡張子なしで良いはずです。

NGと言うのは、どのようにNGなのですか?
# squidが起動しない、パスワードを聞かれない、正しいパスワードを入れてもアクセスできないなど、NGだけだと情報が足りません。

たけちゃん :

# Then, set this line to something like
#
# auth_param digest program c:/squid/libexec/digest_auth_pw c:/squid/etc/digpass
は、suquid.cof.defaurtの141行あたりの記述です。実行するファイル名は、
digest_pw_auth.exe なので、一応両方試しましたが、
squidそのものが、起動してないみたいです。又拡張子exeも省略になってます。
IEを起動しても、見れないと出るだけです。(squidのエラーメッセージではない)
エラーメッセージは、中国語を指定してます。認証無しの時は、正常にでます。
認証のID、パスワード入力画面が出ません。
最初から、又解凍からやり直してみます。
http_access allow lan password は、間違いでしょうか?

false :

squid.conf.defaultのコメントの記述ミスのようですね。
実際に c:\squid\libexecにあるファイルを指定してください。exeは省略可能かもしれません。
squidが起動していないようであれば、c:\squid\var\logsにあるログを確認してください。
acl lan の行と acl password の行があるのであれば、http_access allow lan password は間違いではありません。
たとえば、

acl lan src 192.168.0.0/255.255.255.0
acl password proxy_auth REQUIRED
http_access allow lan password

とあると、192.168.0.*からのアクセスで、かつ認証に成功した場合のみアクセス可能になります。
lanからは認証なしでアクセス、それ以外は認証ありにしたいのであれば、

http_access allow lan
http_access allow password

と2行に分けて書きます。
いずれにせよ、
http_access deny all
の行より前である必要があります。

たけちゃん :

最初から、入れ直したら嘘の様に
直りました~~~LANでdigpass
OKでした。まだ、WAN外部からは、
試してません。多分OKではと、
思ってます。
お蔭様です。有難うございます。

でも、又別な問題が発生windows7が、
update出来ない。Windows 7 の修復インストール
しても、NGです。VISTAとデュアルブートですが、
再インストールするしか、無さそうです。

まずは、解決したので感謝してます。
お世話になりました。

再会

コメントする

このブログ記事について

このページは、falseが2006年6月 2日 17:04に書いたブログ記事です。

ひとつ前のブログ記事は「OpenPNE」です。

次のブログ記事は「dansguardian」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

広告

Powered by Movable Type 6.1.1