はじめに
Squidは、UNIX系システムで広く使用されているキャッシュ型プロキシサーバーです。Webアクセスの高速化やアクセス制御、ログ収集など、ネットワーク管理において重要な役割を担います。
個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
本記事では、自分用にSquidの基礎や設定のポイントをまとめておきます。
書こうと思ったきっかけ
社内のネットワーク監視やWebアクセス制御の仕組みを構築する中でSquidを導入しました。最初は設定に戸惑うことも多かったため、今後の運用や再設定に備えて備忘録としてまとめています。
Squidの基本機能
- プロキシキャッシュ(Webコンテンツの高速化)
- アクセス制御(ACLによるIP・URL制限)
- ログ記録(アクセスログ、キャッシュヒット率など)
- 認証機能(Basic認証、LDAP認証など)
- フィルタリング機能(広告ブロックや特定サイトの制限)
よく使うコマンド
# サービスの起動・停止
sudo systemctl start squid
sudo systemctl stop squid
sudo systemctl restart squid
# ステータス確認
sudo systemctl status squid
# ログの確認
sudo tail -f /var/log/squid/access.log
sudo tail -f /var/log/squid/cache.log
参考文献
基本的な設定ファイル
-
/etc/squid/squid.conf
:メイン設定ファイル
squid.confのよく使う項目
http_port 3128
visible_hostname proxy.example.com
# アクセス制御
acl localnet src 192.168.0.0/16
http_access allow localnet
http_access deny all
# キャッシュの設定
cache_mem 256 MB
maximum_object_size_in_memory 512 KB
maximum_object_size 10 MB
cache_dir ufs /var/spool/squid 100 16 256
参考文献
認証の設定(Basic認証の例)
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/.htpasswd
auth_param basic realm ProxyAuth
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
# 認証ユーザーの作成(htpasswdが必要)
sudo htpasswd -c /etc/squid/.htpasswd username
まとめ
Squidはネットワーク管理に欠かせない強力なツールですが、設定項目が多く柔軟な分、最初は戸惑うこともあります。ログの確認やアクセス制御の仕組みを把握し、少しずつカスタマイズしながら運用していくことが大切です。
個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
今後はログの可視化や、外部認証連携(LDAP等)、HTTPSの中継なども学びながら、よりセキュアで効率的なネットワーク環境の構築を目指していきます。