はじめに
SquidはLinuxベースのプロキシアプリケーションです。 Squidプロキシサーバーは、トラフィック、セキュリティ、およびDNSルックアップのフィルタリングに使用されます。
また、SquidはリソースをキャッシュすることでWebサーバーを高速化できます。 Squid Proxyを使用すると、サーバーは頻繁にアクセスするWebページをキャッシュできます。ユーザーがWebページまたはファイルを要求すると、その要求はプロキシサーバー(ユーザーのデバイスとインターネットの間の中間デバイス)に直接送信されます。プロキシサーバーはリソースを取得し、ユーザーに中継します。
このガイドでは、UbuntuにSquidProxyサーバーをセットアップしてインストールする方法について説明します。
前提条件
- Ubuntuオペレーティングシステム
- ターミナルウィンドウ/コマンドラインへのアクセス(Ctrl-Alt-T)
- rootまたはsudo権限を持つUbuntuユーザー
- デフォルトで含まれているaptパッケージインストーラー
- nanoなどのテキストエディタ
UbuntuへのSquidプロキシのインストール
ステップ1:ソフトウェアリポジトリを更新する
利用可能な最新のソフトウェアバージョンを使用していることを確認してください。
ターミナルウィンドウを起動し、次のように入力します。
sudo apt-get update
ステップ2:UbuntuにSquidパッケージをインストールする
Squidをインストールするには、次のコマンドを実行します。
sudo apt-get install squid
システムは確認を求めるプロンプトを表示する必要があります– Y
と入力します プロセスが自動的に完了するようにします。
Squidプロキシサーバーの構成
Squid構成ファイルは/etc/squid/squid.confにあります。
1.次のコマンドを使用して、テキストエディタでこのファイルを開きます。
sudo nano /etc/squid/squid.conf
2.移動してhttp_portオプションを見つけます 。通常、これはポート3218でリッスンするように設定されています 。このポートは通常、TCPトラフィックを伝送します。システムが別のポートのトラフィック用に構成されている場合は、ここで変更してください。
Squidがリクエストとレスポンスを変更しないようにする場合は、プロキシモードを透過に設定することもできます。
次のように変更します:
http_port 1234 transparent
3. http_access deny allに移動します オプション。これは現在、すべてのHTTPトラフィックをブロックするように構成されています。これは、Webトラフィックが許可されていないことを意味します。
これを次のように変更します:
http_access allow all
4. visible_hostnameに移動します オプション。このエントリに任意の名前を追加します。これは、接続しようとしているすべての人にサーバーがどのように表示されるかを示しています。変更を保存して終了します。
5.次のように入力して、Squidサービスを再起動します。
sudo systemctl restart squid
Squidクライアントの構成
この構成はすべて、Squidプロキシサーバーをセットアップするために行われました。次に、クライアントマシンに切り替えて、Webブラウザを開きます。
Firefoxを使用している場合、プロキシ設定は次の場所にあります:
メニュー>オプション>ネットワーク設定>設定
手動プロキシ設定のラジオボタンにチェックマークを付けます。
手順4でホスト名を入力した場合は、その名前と指定したポートを入力できるはずです。それ以外の場合は、SquidプロキシをホストしているシステムのIPアドレスを使用してください。
テストするには、https://whatismyipaddress.com/ip-lookupにアクセスしてください。プロキシが機能している場合は、IPアドレスがプロキシサーバーのIPアドレスとして表示されます。
SquidACLを追加
注: これらの各手順の後で、保存して終了し、Squidサービスを再起動して新しい構成を適用する必要があります。
手順4のように、squid.confファイルを再度編集して、アクセス制御リストを作成します。
次のように新しい行を追加します:
acl localnet src 192.168.0.15
これにより、このIPアドレスのシステムのみが接続できるようにするルールが作成されます。ルールを識別するために、行にコメントを付けることをお勧めします:
acl localnet src 192.168.0.15 # test computer
#記号の後はすべてSquidによって無視されます。
次のようにIPアドレスの範囲を指定できます。
acl localnet src 192.168.0.15/30
開いているポート
特定のポートを開くには、次を追加します。
acl Safe_ports port 123 # Custom port
プロキシ認証の構成
これにより、ユーザーはプロキシを使用するための認証を強制されます。
apache2-utilsをインストールすることから始めます:
sudo apt-get install apache2-utils
passwdファイルを作成し、所有権をSquidユーザープロキシに変更します。
sudo touch /etc/squid/passwd
sudo chown proxy: etc/squid/passwd
新しいユーザーとパスワードを追加する
1. Squidに新しいユーザーを追加するには、次のコマンドを使用します。
sudo htpasswd /etc/squid/passwd newuser
新規ユーザーのパスワードを入力して確認するように求められます。
2. /etc/squid/squid.confを編集します ファイルを作成し、次のコマンドラインを追加します。
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users
SquidプロキシでWebサイトをブロックする
1.新しいテキストファイルを作成および編集します/etc/squid/blocked.acl 次のように入力します:
sudo nano /etc/squid/blocked.acl
2.このファイルで、ブロックするWebサイトをドットで始めて追加します:
.facebook.com
.twitter.com
注:ドットは、メインサイトのすべてのサブサイトをブロックすることを指定します。
3. /etc/squid/squid.confを開きます 再度ファイルする:
sudo nano /etc/squid/squid.conf
4.ACLリストのすぐ上に次の行を追加します。
acl blocked_websites dstdomain “/etc/squid/blocked.acl”
http_access deny blocked_websites
Squidサービスを使用する場合のコマンド
Squidソフトウェアのステータスを確認するには、次のように入力します。
sudo systemctl status squid
これにより、サービスが実行されているかどうかがわかります。
サービスを開始するには、次のように入力します。
sudo systemctl start squid
次に、次のように入力して、システムの起動時にSquidサービスを起動するように設定します。
sudo systemctl enable squid
ここでstatusコマンドを再実行して、サービスが稼働中であることを確認できます。
サービスを停止するには、次のコマンドを使用します:
sudo systemctl stop squid
起動時にSquidが起動しないようにするには、次のように入力します。
sudo systemctl disable squid