Product SiteDocumentation Site

11.6. HTTP/FTP プロキシ

HTTP/FTP プロキシは HTTP または FTP 接続の仲介者として機能します。HTTP/FTP プロキシの役割は 2 種類あります。
Falcot Corp はプロキシサーバとして Squid を選びました。

11.6.1. インストール

squid3 Debian パッケージには、モジュール式 (キャッシュ) プロキシだけが含まれます。Squid をフィルタリングサーバとして使うには、追加で squidguard パッケージをインストールする必要があります。加えて、squid-cgi には、Squid プロキシ用の問い合わせおよび管理インターフェースが含まれます。
インストールの前に、システムが自分の完全な名前を識別できるか確認することを忘れないでください。すなわち hostname -f が完全修飾名 (ドメイン名を含むホスト名) を返すことを確認してください。これに失敗した場合、/etc/hosts ファイルを編集して、システムの完全な名前 (たとえば arrakis.falcot.com など) を書き込むべきです。潜在的な名前の衝突を避けるには、ネットワーク管理者に公認コンピュータ名の妥当性を確認するべきです。

11.6.2. キャッシュの設定

キャッシュサーバを有効化するには、/etc/squid3/squid.conf 設定ファイルを編集し、ローカルネットワークからのマシンがプロキシを介して問い合わせを実行することを許可するだけで簡単に可能です。以下の例は Falcot Corp の管理者の行った変更を表しています。

例 11.25 /etc/squid3/squid.conf ファイル (抜粋)

# クライアントからのアクセスを許可するにはここにルールを書いてください

# 以下はローカルネットワークからのアクセスを許可するルール
# の一例です。IP アドレスリストを HTTP アクセスを許可する
# (内部) IP ネットワークに合わたものに変更してください。
acl our_networks src 192.168.1.0/24 192.168.2.0/24
http_access allow our_networks
http_access allow localhost
# 最後にその他のクライアントがプロキシへアクセスすることを拒否します。
http_access deny all

11.6.3. フィルタの設定

squid 自身はフィルタリングを実行しません。フィルタリング作業は squidGuard に委任されています。squid を設定して squidGuard と協力するようにしなければいけません。これを行うには、以下の指示文を /etc/squid3/squid.conf ファイルに追加します。
url_rewrite_program /usr/bin/squidGuard -c /etc/squid3/squidGuard.conf
/usr/share/doc/squidguard/examples/squidGuard.cgi.gz をたたき台として使い、/usr/lib/cgi-bin/squidGuard.cgi CGI プログラムをインストールすることが必要です。このスクリプトの $proxy$proxymaster 変数 (それぞれプロキシの名前と管理者の連絡用電子メールアドレスです) を変更する必要があります。$image$redirect 変数は問い合わせが拒否されたことを表現する既存の画像を設定します。
このフィルタを有効化するには、service squid3 reload コマンドを使います。しかしながら、squidguard パッケージはデフォルトで何もフィルタリングしません。フィルタリングポリシーを定義するのは管理者の仕事です。これを行うには、/etc/squid3/squidGuard.conf ファイルを作成します (必要ならば /etc/squidguard/squidGuard.conf.default をテンプレートとして使います)。
squidGuard 設定ファイル (またはその中で言及しているドメインまたは URL のリストの 1 つ) を変更したら、毎回 update-squidguard を使って作業データベースを再生成しなければいけません。設定ファイルの構文は以下のウェブサイトで説明されています。