12.5. アクセス制限のための Squid の使用

多くの場合、Squid は特定の Web コンテンツへのアクセスをブロックするために使用します。通常、特定のポートまたは特定の Web サイトがブロックされます。

12.5.1. ポートのブロックによるアクセス制限

ポートフィルタリングと呼ばれるこの手法では、Squid プロキシーサーバーで固有のポート番号をブロックすることができます。これにより、プロトコル、サービス、Web サイト、アプリケーションの使用を制限することができます。たとえば、FTP トラフィックをブロックするには、ポート 21/TCP をブロックするだけで十分です。同様に、ポート 443/TCP をブロックすることで HTTPS サイトすべてをブロックすることができます。

手順12.5 ポート番号のブロック

  1. root ユーザーとしてログインして、Squid 設定ファイルを開きます。
    ~]# vi /etc/squid/squid.conf
  2. ACL でポートをブロックします。
    acl Bad_ports port 443           #(create acl for port 443/tcp)
  3. 変更を保存します。
  4. Squid を再起動して、新規設定を適用します。
    ~]# service squid reload
Squid 設定ファイルには、acl Safe_ports port の行が含まれます。デフォルトでは、これらのポート番号は「Safe_Ports」として追加され、参照用に開放されます。
acl Safe_ports port 80      
acl Safe_ports port 21      
acl Safe_ports port 443     
acl Safe_ports port 70      
acl Safe_ports port 210     
acl Safe_ports port 1025-65535  
acl Safe_ports port 280     
acl Safe_ports port 488     
acl Safe_ports port 591     
acl Safe_ports port 777
/etc/squid/squid.conf の各行を無効にして、適切なポートをブロックすることができます

例12.7 ポート 777/tcp のブロック

ポート 777/tcp をブロックするには、以下のように該当の行の前にハッシュ記号を追加します。
#acl Safe_ports port 777         # multiling http

12.5.2. 特定のサイトまたはアドレスをブロックしてアクセスを制御する手順

お使いのネットワークの Squid を設定して、固有のサイトへのアクセスを無効にします。

手順12.6 特定の Web サイトのブロック

  1. ネットワーク上で Squid へのアクセスを有効化します。/etc/squid/squid.conf ファイルを開き、「Access Controls」を検索します。INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS まで下方向にスクロールします。ブラウズが許可されているはずの場所から、内部 IP ネットワークに一覧を適用するようにしてください。以下の例は、ACL でローカルネットワーク 192.168.1.0/24 と 192.168.2.0/24 からのアクセスを許可します。
    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    acl our_networks src 192.168.1.0/24 192.168.2.0/24  
    http_access allow our_networks
  2. ブロックするサイト一覧が含まれるファイルを作成します。/usr/local/etc/allowed-sites.squid/usr/local/etc/restricted-sites.squid など、ファイルに名前を指定します。
    ~]# cat /usr/local/etc/allowed-sites.squid
    www.redhat.com
    fedoraproject.org
    ~]# cat /usr/local/etc/restricted-sites.squid
    www.badsites.com
    illegal.com
    これらは、制限をしたサイトをブロックするために使用することができます。
    ~]# vi /etc/squid/squid.conf
    acl our_networks src 192.168.1.0/24 192.168.2.0/24  
    acl GoodSites dstdomain "/usr/local/etc/allowed-sites.squid"  
    acl BadSites dstdomain "/usr/local/etc/restricted-sites.squid"
    
    http_access allow our_networks  
    http_access deny BadSites  
    http_access allow home_network business_hours GoodSites
    ファイルを保存してから閉じます。
  3. Squid プロキシーサーバーを再起動します。
    ~]# systemctl restart squid
  4. Web ブラウザーが Squid サーバーの DNS 名または IP アドレスを使用して、実行中のポートと一致するように設定します。