0
0

自宅にプロキシサーバーを構築して、アクセスログを確認する方法

Last updated at Posted at 2024-09-07

はじめに

突然ですが、実務でネットワークの知識が不足していることに気づきました。社内環境では一部でLinuxのプロキシサーバーとしてSquidを採用しており、これを自宅環境で構築し、検証できると考えました。
今回の構築後のアクセス検証として、Windows 10端末からYahoo!のサイトにアクセスし、そのアクセスログが取得できるか確認することをゴールとします。

前提条件

・VirtualBox上で稼働しているAlmaLinux(CentOSの後継)を採用
・VirtualBox上で稼働しているWindows 10端末(評価版)を使用
・プロキシのミドルウェアとしてSquidを使用
自宅のVirtualBox環境
image.png

※検証で使うのは「proxy」と「Windows10」になります。

全体像および自宅検証環境

今回の構成は、左側のクライアントと明示型のプロキシサーバーの構築と設定を行います。

クライアントPCでYahoo!のサイトにアクセスした際、自宅環境のプロキシサーバーを経由して、インターネットにアクセスできることを検証します。

image.png
引用画像:https://www.gate02.ne.jp/media/it/column_107/

プロキシサーバー
VirtualBox:AlmaLinux release 9.3 (Shamrock Pampas Cat)
ミドルウェア:Squid Cache: Version 5.5

Windows 10端末(評価版)
エディション:Windows 10 Enterprise
バージョン:22H2
OSビルド:19045.2006

知識整理

必要な知識については、詳しいサイトが多数ありますので、公式サイトと併せてご紹介します。

VirtualBoxについて
詳細サイト: https://www.kagoya.jp/howto/it-glossary/server/virtualbox/
公式サイト: https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html

AlmaLinuxについて
詳細サイト: https://www.designet.co.jp/ossinfo/almalinux/
公式サイト: https://almalinux.org/ja/

Windows 10 評価版について
詳細サイト: https://4thsight.xyz/53938
公式サイト: https://www.microsoft.com/ja-jp/evalcenter/evaluate-windows-10-enterprise

プロキシサーバーについて
詳細サイト: https://www.ntt.com/bizon/glossary/j-h/proxy-server.html

Squidについて
詳細サイト: https://qiita.com/zabuton13/items/bbe5f540f7536fa95eae
公式サイト: https://www.squid-cache.org/

構築の流れ

VirtualBoxの導入などのステップ1〜3の作業はここでは割愛しますが、上記の参考サイトなどを見ながらご自身の端末へのセットアップをお願いします。

今回は、ステップ4から本ブログで紹介します。
ステップ1:VirtualBoxの導入(ここでは割愛)
ステップ2:VirtualBoxにAlmaLinuxサーバーを1台構築(ここでは割愛)
ステップ3:VirtualBoxにWindows 10端末(評価版)を1台構築(ここでは割愛)
ステップ4:AlmaLinuxサーバーにSquidを導入・設定
ステップ5:Windows 10端末のセットアップ

ステップ4:AlmaLinuxサーバーにSquidを導入・設定

AlmaLinuxサーバーにSquidを導入して設定する為、システムを最新の状態にします。

sudo yum update -y

次に、Squidをインストールします。

sudo yum install squid -y

Squidの設定ファイルは/etc/squid/squid.confにあります。このファイルを編集して、プロキシサーバーの設定を行います。

sudo vi /etc/squid/squid.conf

以下の設定例に従って、ネットワーク環境に合わせて設定します。
設定例:

http_port 3128
acl localnet src 192.168.0.0/16  # ご自身のローカルネットワーク範囲を指定
http_access allow localnet

設定ファイルを保存したら、Squidサービスを再起動し、自動起動を有効化します。

sudo systemctl restart squid
sudo systemctl enable squid

次に、Squidが使用するポート(デフォルトは3128)をファイアウォールで開放します。

sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload

ステップ5:Windows 10端末のセットアップ

セットアップ手順は、以下の通りとなります。

・スタートメニューから「設定」を開き、「ネットワークとインターネット」をクリック→左側のメニューから「プロキシ」を選択

・「手動プロキシ設定を使用する」を「オン」に切り替え→「プロキシサーバー」にAlmaLinuxサーバーのIPアドレスとポート番号(デフォルトは3128)を入力して保存

例:
アドレス:(ご自身のAlmaLinuxのIPアドレス)
ポート:3128
image.png

稼働確認

稼働確認の方法として、Windows 10端末からYahoo!のサイトにアクセスし、プロキシサーバー側のアクセスログに記録されているか確認します。

なお、パケットキャプチャを取得してWiresharkで解析することも検討しましたが、Windows 10端末が評価版かつ割り当てているメモリなどのスペックが低いため、動作がもっさりしており断念しました。

Windows 10端末
Windows 10端末のIPアドレスは以下の通りです。
image.png

無事Yahoo!のサイトにアクセスできていることを確認できました。
image.png

プロキシサーバー側のアクセスログ
以下のコマンドでリアルタイムでログを解析し、grepコマンドで「yahoo」に関するアクセスのみフィルタリングしています。

プロキシサーバー側のログにも、Windows 10端末の「10.0.1.2」のIPアドレスのログが残っていることを確認できました。

tail -f /var/log/squid/access.log | grep yahoo

image.png

まとめ

Squidプロキシサーバーの設定が無事に機能していることを確認できました。Windows 10端末からのアクセスが正しくプロキシサーバーを経由していることを、実際のアクセスログでしっかりと確認できたので、今回の構築は成功と言えそうです。
プロキシサーバーの動作確認もこれでばっちりですね!

参考記事

https://qiita.com/nkojima/items/0d6bd71e9e66814c7951
https://zenn.dev/step/articles/21984153dcd0ba
https://www.kagoya.jp/howto/cloud/vps/proxy_squid/
https://hogetech.info/network/server/squid#google_vignette

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0