SquidプロキシサーバーをUbuntu 22.04に構築する手順【Basic認証も解説】

Ubuntu 22.04 Squidによるプロキシサーバー構築手順の画像現代のネットワーク環境では、セキュリティ対策やトラフィック管理、アクセス制御を目的にプロキシサーバーを導入するケースが増えています。

その中でも、オープンソースで高機能かつ柔軟な設定が可能な「Squid」は、企業から個人利用まで幅広く採用されています。

本記事では、人気のLinuxディストリビューションである「Ubuntu」を使ってSquidプロキシサーバーを構築する手順を詳しく解説します。

これからプロキシサーバーを構築したい方はぜひ参考にしてください。

\ 2週間無料でお試しできます! /
Unix系OS専門のホスティングサービス「ミライサーバー」
Unix/Linux系VPSをこの価格で!
全プランSSD搭載でコストパフォーマンス◎
・豊富なOSラインアップ
・充実の無料サポート
VPSを使ってみる

Squidとは

概要

Squidは、主にHTTPやHTTPSのトラフィックを中継・キャッシュするオープンソースのプロキシサーバーです。

Linux環境を中心に、企業ネットワークだけでなく自宅のルーターや小規模ネットワークでも幅広く利用されています。

Squidの代表的な機能は以下の通りです。

・Webキャッシュ
・アクセス制御
・basic認証/LDAP連携
・HTTPS中継
・ログ分析

さらに、公式のGitHubリポジトリや活発なコミュニティによる情報が豊富なため、トラブルシューティングやカスタマイズも行いやすいのが魅力です。

プロキシモード

Squidは、以下の4つのプロキシモードに対応しています。

・フォワードプロキシ
・多段プロキシ
・リバースプロキシ
・透過プロキシ

それぞれの特長について解説します。

フォワードプロキシ

フォワーディングプロキシ(順方向プロキシ)は、一般的に利用されるモードです。

クライアント(社内PCなど)がインターネットへアクセスする際、Squidを経由します。

例)PC→Squid→インターネット

主な特徴
・Webキャッシュによる回線負荷の軽減
・不適切なサイトへのアクセスをフィルタリング
・アクセスログの収集・管理

\ 2週間無料でお試しできます! /
VPSを使ってみる

多段プロキシ

多段プロキシは、複数のプロキシサーバーを段階的に経由させる構成です。

例)クライアント → Squid①(キャッシュ・フィルタリング) → Squid②(認証・ログ収集) → インターネット

主な特徴
・負荷や役割を分散
・障害時のリスク軽減
・セキュリティ強化

多段構成は設定が複雑になりますが、柔軟なネットワークポリシーを実現できるため、大規模ネットワークで採用されています。

リバースプロキシ

リバースプロキシは、SquidをWebサーバーの前段に配置し、外部からのリクエストを受けて裏側のWebサーバーへ転送する形態です。

主な特徴
・Webコンテンツをキャッシュによる応答速度向上
・Webサーバーの負軽減
・クライアントからWebサーバーのIPを隠すことによるセキュリティ強化

主に大規模なWebサービスやコンテンツ配信ネットワーク(CDN)でよく利用されるモードです。

透過プロキシ

透過プロキシは、クライアントがプロキシ設定を意識せずに通信を行えるモードです。

フォワーディングプロキシでは、ブラウザ設定でプロキシサーバーを指定する必要がありますが、透過プロキシは、ルーターやファイアウォールで特定ポートへの通信を自動的にSquidに転送します。

主な特徴
・クライアント設定不要
・ネットワーク全体のHTTP/HTTPSトラフィックを一括管理
・強制的なアクセスログ取得やフィルタリングが可能

\ 2週間無料でお試しできます! /
VPSを使ってみる

Ubuntu 22.04へのSquid構築手順

前提条件

今回はインストール環境としてミライサーバーのVPSを利用し、仮想マシン上に構築されたUbuntuを使用します。

仮想マシンのスペックは以下のとおりです。

・CPU:4コア
・Memory:4GB
・Disk:SSD300GB

Ubuntuは以下のバージョンを利用しています。

・Ubuntuのバージョン:Ubuntu 22.04.2 LTS

※ミライサーバーではUbuntu 22.04.2 LTSなどのOSがインストールされた状態から利用可能です。

手順1:サーバーの準備とアップデート

最初に、サーバーを最新の状態にアップデートします。

$ sudo apt update

$ sudo apt install squid -y

アップデートの過程で、サービスの再起動を促す画面が表示されます。

「OK」を選択して進みます。

インストールが完了したら、バージョンを確認します。

$ squid -v

以下のとおりバージョンが表示されたら、インストールが成功しています。

また、以下のコマンドでSquidの稼働状況を確認できます。

「active (running)」と表示されていれば、squidは稼働しています。

$ sudo systemctl status squid

squidが起動していない場合は、以下のコマンドで起動します。

$ sudo systemctl start squid

\ 2週間無料でお試しできます! /
VPSを使ってみる

手順2:Squidの基本設定

Squidの設定ファイルは /etc/squid/squid.conf です。

このファイルを編集して、アクセス制限やキャッシュの設定を行います。

$ vi /etc/squid/squid.conf

代表的な設定項目を以下にまとめました。

設定意味設定例
http_portHTTPプロキシサーバのデフォルトポート。デフォルト:3128http_port 3128
http_accessHTTP通信を許可(allow)、拒否(deny)するネットワークを設定http_access allow localnet

http_access deny all

acl localnet src通信を許可する通信元のネットワークacl localnet src 192.168.0.0/16
acl SSL_portsHTTPSプロトコルを使用するポート。デフォルト:443acl SSL_ports port 443
acl Safe_ports通信を許可するポート。acl Safe_ports port 80   # http

acl Safe_ports port 21   # ftp

acl Safe_ports port 443   # https

 

これらの設定はデフォルトでも一部設定されているので、環境にあわせて適宜変更します。

設定を変更したら、Squidを再起動します。

$ sudo systemctl restart squid

手順3:basic認証の設定

Squidの不正利用を防ぐため、basic認証を設定できます。

basic認証を設定することで、許可されたユーザーのみがプロキシサーバーを経由して通信できるようになります。

最初に、apache-utilsパッケージをインストールして、htpasswdコマンドを利用できるようにします。

$ sudo apt install apache2-utils -y

次に、認証のためのユーザーを設定します。

以下では「user1」に対するパスワードを設定します。

$ sudo htpasswd -c /etc/squid/.htpasswd user1

/etc/squid/squid.confに以下の内容を追記します。

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/.htpasswd

auth_param basic realm Proxy

acl authenticated proxy_auth REQUIRED

http_access allow authenticated

http_access deny all

設定が完了したら、squidを再起動し、接続テストを行います。

プロキシの設定を行い、ブラウザで通信を行ってみましょう。

Windows11であれば、設定画面の「ネットワークとインターネット」ー「プロキシ」を選択し、手動プロキシ セットアップから「セットアップ」ボタンを押下すると、設定画面が表示されます。

設定を有効にすると、ブラウザでサイトにアクセスした際に以下のようにID/パスワードを求められます。

認証できなければ、サイトを閲覧できません。

まとめ

本記事では、Ubuntu 22.0.4 にSquidを構築し、basic認証を設定する手順まで解説しました。

プロキシサーバー「Squid」を利用すると、Webキャッシュやアクセス制御、ログの分析などの機能を使ってセキュリティ対策やトラフィック管理、アクセス制御を実現できます。

さらに、リバースプロキシや複数のプロキシサーバーを利用させる多段プロキシなどを活用することで、目的に応じた柔軟な構成も可能です。

オープンソースのため無料で利用できますので、プロキシサーバー構築ではsquidの導入を検討してみるとよいでしょう。

ミライサーバーでは、ハイスペックなVPSや専用サーバーを低価格でご提供しています。

VPSは初期費用も無料であり、ツールの検証や動作確認にもおすすめです。

本記事の手順の検証やプロキシサーバーとしての利用も可能ですので、ぜひご活用ください。

UbuntuをVPSで利用するならミライサーバー

ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。

ミライサーバーのVPSでは、高速処理が可能なSSD全プランに搭載しています。

OSは、UbuntuDebianAlmaLinuxなどの豊富なラインアップから選択することができます。

2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。

▼ミライサーバーについてはこちら▼Unix系OS専門のホスティングサービス「ミライサーバー」

プランの選択でお困りの場合は、ぜひ一度お問い合わせください。

お問い合わせはこちら

VPSなら「ミライサーバー」

・全プランSSD搭載
・2週間無料

▶ ミライサーバーを無料で試す

関連記事

特集記事

TOP