SquidGuardの構築手順

 

Copyright by Zou Liangzhi


概要:

   Linuxで使うプロキシサーバーソフトとしてSquidが有名です。SquidGuardはSquidプロキシサーバー
 
の上で稼動するもので、フィルタ、重指向とアクセスコントローラー3つの機能を持っている。
  
SquidGuardを起動するには、まずSquidプロキシサーバーを設定しなければならない。そう して、
  SquidGuardソースをコンパイル時バージョン2.XのBerkeley DBライブラリが必要です。最後は
 
SquidGuardの設定ファイルSquidGuard.confを作る。

 

1.Squidプロキシサーバーの設定:

  1.1 まず、 squid がインストールされているか確認してみましょう。

     # rpm -q squid すると、私の場合は LASER5 Linux 6.2 で既に squid がインストールされています
    
ので以下のように表示されます。

     squid-2.3.STABLE1-3

     インストールされていなければ以下のように表示されます。

     パッケージ squid はインストールされていません

      インストールされていなければお使いのディストリビューションの CD-ROM か FTP サイトから
     インストールしてください。

  1.2 Squidを使う設定

      squid を利用するには /etc/squid/squid.conf に設定を書きます。ちなみに行頭に # が付いて
     いるのはコメント行になりますので有効にするには # をはずします。( squid.confファイルには、本
  
   当に多いな選択肢があります。ただsquidGuardちゃんと動ける程度なら、以下の設定だけで行け
     ます。)

     まず、 #http_port 3128 と書かれている行の下あたりに

     http_port 8080

      これは squid で使用するポートの指定ですが、 3128 のままで良ければ行頭の # を消すだけで
     良いです。

      次に、 "ACCESS CONTROLS" と書かれている個所から下の設定を行います。そこから十数行
     下に acl CONNECT method CONNECT の次の行あたりに

     acl aclname src 192.168.0.0/255.255.255.0

     と書きます。

     aclname には好きな名前を書きます。例えば "MyOfficeNet" などでも良いわけです。 IP アドレス
     は自身の環境に合わせます。 次に

     http_access deny all と書かれている行の前に

     http_access allow aclname

     と書きます。

      Squidを起動するときSquidGuardもいっしょに起動するために、#redirect_program noneと書かれ
     ている行の下あたりに

     redirect_program /usr/local/bin/squidGuard

      と書きます。(安全のために、
     redirect_program /usr/local/bin/squidGuard -c /wherever/squidGuard.confと 書いてもいいけど)        

     設定が済んだら squid を起動します。

     # /etc/rc.d/init.d/squid start

 

2.Berkeley DBライブラリのインストール:

  1.1ソース入手方法

    http://www.sleepycat.com/download.html

  2.2ソースの展開

    >$su
    >#cd /usr/local/src
    >#cp [ファイルのあるディレクトリ] /db-2.7.7.tar.gz ./
    >tar xvfz db-2.7.7.tar.gz

  2.3インストール

    >cd /usr/local/src/db-2.7.7
    >cd dist
    >./configure
    >make
    >make install
    >make clean(optional)

    /usr/local/BerkeleyDBディレクトリが出るはず。

 

3.SquidGuardのインストール:

  3.1ソースの入手方法

    http://www.squidguard.org/download/

  3.2ソースの展開

    >$su
    >#cd /usr/local/src
    >#cp [ファイルのあるディレクトリ] /squidGuard-1.1.4.tar.gz ./
    >tar xvfz squidGuard-1.1.4.tar.gz

  3.3インストール

    >cd /usr/local/src/squidGuard-1.1.4
    >./configure(ディフォルトだけでいいです。オプションつけて
            ./configure --with-sg-config=/usr/local/squidGuard/squidGuard.conf
                   --with-sg-logdir=/usr/local/squidGuard/log
                   --with-sg-dbhome=/usr/local/squidGuard/db
            のようにしてもいいですけど)
    >make
    >make install

  3.4squidGuard使う設定

    3.4.1まずsquidGuardディレクトリおよびlogとdbディレクトリを作る

       >mkdir /usr/local/squidGuard
       >mkdir /usr/local/squidGuard/log
       >mkdir /usr/local/squidGuard/db

    3.4.2squidGuard.confを作成する

       >cd /usr/local/squidGuard
       >vi squidGuard.conf

       ここに私作ったsquidGuard.confをサンプルとして書きます。ただ基本の機能持っているだけ。         

       #squidGuard.conf

       logdir /usr/local/squidGuard/log
       dbhome /usr/local/squidGuard/db

       dest local{
          domainlist domains
       }

       acl{
          default{
             pass !local all
             redirect http://localhost/cgi-bin/squidGuard.cgi?clientaddr=%a&clientname=%n&
                      
clientuser=%i &clentgroup=%s&url=%u
              }
       }

    3.4.3データベースの作成

        自分でアクセスさせたくないサイトを直接ファイルに書き込んでもいいですけど、blacklistsは
       もともとあるので、これを使ったほうがいいだと思う。

       blacklistsソースはもとのsquidGuardパッケージにもう入ってます。

       >cd /usr/local/src/squidGuard-1.1.4/sample/dest
       >tar xvfz blacklists.tar.gz
       >cd blacklists

        ここにいろいろなサイトデータがありますけど、禁止したいdomainsファイルをdbhomeの下
      
にコピーする

       >cp domains /usr/local/squidGuard/db/

       blacklistsの最新バージョンは下のサイトからダウンロードできます。

       http://ftp.ost.eltele.no/pub/www/proxy/squidGuard/contrib/

    3.4.4squidGuardディレクトリと下のものの所有者と所有グループを変更する(必須)

       >chown -R squid /usr/local/squidGuard
       >chown -R :squid /usr/local/squidGuard

    3.4.5禁止されたサイトにアクセスするときcgi画面が出るように

       (まずhttpdでcgiを使えるように設定してください)

       >cp /usr/local/src/squidGuard-1.1.4/samples/squidGuard.cgi /home/httpd/cgi-bin/
       >chmod 777 squidGuard.cgi

  3.5squidGuardの起動

    >su
    #/etc/rc.d/init.d/squid restart

     問題なければ、禁止されてるサイトにアクセスするとき、”Access to this site is blocked”と表示
    
するcgi画面が出ってくる。 

 
Hosted by www.Geocities.ws

1