squidでプロキシサーバを構築 202

/ LPIC / Comment[0]

プロキシサーバ導入のメリット


まず、プロキシサーバを導入するメリットとしては以下が挙げられます。
  • インターネット接続をプロキシ経由のみにすることでセキュリティが上がる
  • キャッシュ機能によりパフォーマンスが上がると共に帯域も節約できる
  • 不適切なサイトのURLフィルタリングが出来る
  • クライアントのウェブブラウジング履歴を残せる

Squidの設定


Squidの設定は/etc/squid/squid.confで行います。
設定の手順としては、まずSquid自体の設定をファイルの下部に書いておき、上部にACLを定義してその直下にACLの制限の設定を行う形になります。(我流)


Squidの基本設定
  • http_port Squidのポート
  • visible_hostname Squidのホスト名
  • hierarchy_stoplist キャッシュしない文字列
  • maximum_object_size キャッシュ最大サイズ
  • minimum_object_size キャッシュ最小サイズ(0=無限)
  • maximum_object_size_in_memory メモリ上の最大ファイルサイズ
  • ipcache_size IPキャッシュ数
  • cache_dir キャッシュのディレクトリ,容量など
  • cache_mem メモリ上のキャッシュサイズ
  • cache_access_log クライアントのアクセスログ
  • cache_log キャッシュログ
  • refresh_age キャッシュの保存期間
  • acl アクセスコントロールリストの定義
  • http_access アクセスコントロールリストの制御

ACLの定義
ACLの書式: acl ACL名 ACLタイプ 文字列

ACL名は自由に指定可能です。
ACLタイプとしては主に下記があります。
  • src クライアント側IPアドレス
  • dst 宛先IPアドレス
  • srcdomain クライアントドメイン
  • dstdomain 宛先ドメイン
  • port 宛先ポート
  • myport クライアントポート
  • arp MACアドレス
  • proto プロトコル
  • method HTTPメソッド
  • url_regex URLにマッチする正規表現
  • urlpath_regex パス名にマッチする正規表現

アクセス制御設定の例
#まずはACLを定義
acl localnet 10.0.0.0/8

#定義したACLに対する処理(denyかaccess)
http_access allow localnet #特定の項目を許可
http_access deny all #他は全て拒否

基本的にはaclとhttp_accessの2つが1セットになっています。

設定例
# vi /etc/squid/squid.conf
#ローカルネットを定義
acl localnet src 10.0.0.0/8
acl localnet src 192.168.1.0/24

#ポートを定義
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https

#CONNECTメソッドを定義
acl CONNECT method CONNECT

#ブラックリストを定義(ACLではクオートで囲むとファイルを読むようになる)
acl blacklist url_regex "/etc/squid/blacklist.txt"

#アクセス設定
http_access allow localhost manager
http_access allow localnet
http_access allow localhost
http_access deny !Safe_ports
#SSLポート以外でのCONNECTメソッドを拒否
http_access deny CONNECT !SSL_ports
#deny allは一番下に書く
http_access deny all

#プロキシ経由の接続であることを隠す(プロキシ接続を拒否するサイトもあるため)
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all

#squid稼動ポート
http_port 3128

#キャッシュ設定
cache_mem 256 MB
cache_dir ufs /var/spool/squid 100 16 256
coredump_dir /var/spool/squid

#クライアントのアクセスログ
cache_access_log /var/log/squid/access.log

#キャッシュをリフレッシュするタイミングの設定
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

有効化


# chkconfig squid on
# service squid start
または
# update-rc.d squid enable
# /etc/init.d/squid start
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可