よくある質問・用語集

サーバー構築のデージーネットTOP > よくある質問・用語集 > 用語集 > squidとは

  • もっと調べる
  • どうやって使う?

squidとは

squidとは、プロキシサーバ、ウェブキャッシュサーバなどに利用されているオープンソースソフトウェアである。当初はUNIX系OS向けに開発されていたが、現在はWindowsを含むほとんどのOSで利用可能であり、GNU GPLライセンス下で利用できる。squidは、Red Hatをはじめとする多くのLinuxディストリビューションで標準的にパッケージ提供されている。

squidは、HTTP、HTTPS、FTPをはじめとする多くのプロトコルに対応している。また、ウェブキャッシュ機能により、特にフォワーディングプロキシとして利用される場合は利用する組織外へのウェブ系のトラフィックを削減することができる。

squidのプロキシとしての主な機能は次の通り。

  • フォワーディングプロキシ機能
  • リバースプロキシ機能
  • 多段プロキシのサポート
  • 透過プロキシモードのサポート
  • 多彩なアクセス制御機能
  • 認証機構の外部プログラムとの連携
  • ウェブリダイレクトプログラムとの連携

フォワーディングプロキシ機能

フォワーディングプロキシ機能とは、インターネット上のウェブサーバなどに接続する際に、ウェブアクセスを中継する機能であり、主にローカルネットワークの出口に設置される。クライアントは通常、ウェブブラウザの「プロキシ設定」によりフォワーディングプロキシをプロキシサーバとして設定して利用する。

フォワーディングプロキシを利用する主な理由は次の通り。

  • ウェブキャッシュ機能と組み合わせてネットワーク外部へのトラフィックを軽減する
  • ウェブリダイレクト機能と組み合わせて、内部ネットワークからアクセスできる先を制限する(ペアレントコントロールもこの機能を利用している)
  • 認証機能と組み合わせて、ネットワーク内からのウェブアクセスを個人レベルで制限する

リバースプロキシ機能

リバースプロキシ機能とは、インターネットからのウェブアクセスを代表して受信し、内部にあるウェブサーバ群との通信を中継する機能である。このためウェブサーバ群の入り口部分に窓口として設置されるのが一般的である。リバースプロキシを導入することにより、内部のウェブサーバの負荷分散を行ったり、URLごとにサーバを振り分けたりすることができる。特に後者の利用方法では、アプリケーションサーバを別々に用意している場合や、同一ドメインながらコンテンツを別々の開発会社が作成しそれぞれ別々のサーバに収容されている場合などによく用いられる。

多段プロキシのサポート

squidは、中継したウェブのリクエストを直接ウェブサーバに接続して処理するだけでなく、後段のプロキシサーバに中継する機能も持っており、これを多段プロキシのサポートという。巨大なネットワーク内でプロキシの階層構造を組むこともできるし、外部のSaaSとして提供されているウィルスチェックプロキシへの中継としての用途としても利用されている。後者の利用方法では、ウィルスチェックプロキシ自体が全世界のURLを完全に処理することができないなどの理由で、一部URLについてはウィルスチェックプロキシへバイパスしないようにするなどといった利用がなされている。

透過プロキシモードのサポート

透過プロキシとは、利用者がプロキシの存在を意識することなく利用できるプロキシのことであり、ネットワークの出口に設置されたルータなどと組み合わせて利用する。広い意味では、リバースプロキシも透過プロキシと見ることができる。技術的には、特定ポートへ向けたアクセスのみをルータから透過プロキシサーバに対して振り向け、透過プロキシは通常のHTTPなどのリクエストを受け付けたふりをして接続先のHTTPサーバへリクエストを中継する。squidはこの機能をサポートしている。

Linuxサーバでは、iptablesのパケットリダイレクト機能と組み合わせることによって透過プロキシを実現することができる。

多彩なアクセス制御機能

squidには、次に挙げるような多彩なアクセス制御機能がある。

  • 利用者に関するアクセス制御
    • クライアントIPアドレスをベースにアクセスを制御する機能
    • ユーザ認証によりアクセスを制御する機能
  • 接続先に関するアクセス制御
    • 接続先によってアクセスを制御する機能
  • アクセス制御の方法
    • 利用を許可もしくは不許可とする
    • 認証を必要とするかどうか
    • URLフィルタリングなど外部フィルタと連携するかどうか
    • 特に接続先URLに関して、実際の接続先を制御

これら以外にも多彩なアクセス制御が存在するが、これらの制御方法を組み合わせることにより、きめ細かにアクセスの振り分けや制御を行うことができるようになっている。

認証機構の外部プログラムとの連携

squidはユーザ認証などを行う機能をサポートしているが、実はsquid本体は、認証機構をすべて外部プログラムと連携して実現する仕組みになっている。下記のような標準パッケージにバンドルされている認証プログラムを利用することもできるし、より複雑な認証ポリシーを実現したい場合は認証プログラムを自作して利用することも可能だ。

  • パスワードのダイジェスト認証
  • SASL認証
  • SMB認証
  • Kerberos認証
  • LDAP認証
  • NIS認証

ウェブリダイレクトプログラムとの連携

squidはURLフィルタリングなどのウェブリダイレクトプログラムと連携することができる。アクセス制御と組み合わせ、特定のユーザに対してURLフィルタリングをかけることで、ペアレントコントロールなどの機能を持たせることもできる。

【カテゴリ】:セキュリティ  オープンソースソフトウェア  

  • もっと調べる
  • どうやって使う?

関連用語

squidに関連するページ(事例など)


デージーネット用語集のページです。「squid」という用語と関連情報について説明します。「squid」について情報を収集する際、サービスをご検討いただく際などに用語集ページをお役立てください。

squidとは先頭へ