【Linux】プロキシサーバソフト [4] ~ Squid / 設定ファイル編 ~

■ 説明

acl (アクセスコントロールリスト)

アクセス権限を示す
acl [アクセスコントロール名] [タイプ] [パラメータ]

http_access (HTTPアクセス)

許可/拒否を示す
http_access allow/deny [!]acl

■ サンプル

squid.conf

コメント文以外はデフォルト設定
#
# Recommended minimum configuration:
#

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#
# 【1】ローカルネットワークの定義
# acl [アクセスコントロール名] src [IP/Netmask]
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

# 【2】ポート番号の定義
# acl [アクセスコントロール名] port [ポート番号]
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http

# CONNECTメソッドはプロキシサーバにトンネリングを要求するメソッド
# SSLなどで暗号化されたデータを送る場合に利用
acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# Deny requests to certain unsafe ports
#
# 【3】【2】で定義した接続先として指定されているポート以外を拒否
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
#
# 【4】SSL接続時に 443 ポート以外の CONNECT を拒否
http_access deny CONNECT !SSL_ports

# Only allow cachemgr access from localhost
#
# 【5】自身からのアクセス(localhost)及びキャッシュマネージャ/cachemgr.cgi(manager)からのアクセスを許可
#       + Squid の統計情報を出力するのが、キャッシュマネージャと呼ばれる CGI スクリプト
#         キャッシュマネージャは /usr/lib/squid/cachemgr.cgi にインストールされている
http_access allow localhost manager
http_access deny manager

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#
# 【6】【1】で定義したローカルネットワーク(localnet)
#        及び自身からのアクセス(localhost)からのアクセスを許可
http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
#
# 【7】 【3】~【6】に一致しなかった場合は拒否
http_access deny all

# Squid normally listens to port 3128
#
# 【8】Squid で使用するポート
http_port 3128

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
#
# 【9】コアダンプを吐き出すディレクトリを指定
coredump_dir /var/spool/squid

#
# Add any of your own refresh_pattern entries above these.
#
# 【10】キュッシュの保存期間をコントロールするための設定
# 
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


関連記事

プロキシサーバソフト ~ Squid / 初期設定編 ~

https://blogs.yahoo.co.jp/dk521123/36956970.html