ここでは Squid を使用して CentOS 8 にプロキシサーバーを立てる方法を説明します。
Squidとは、プロキシサーバーを利用できるオープンソースのフリーソフトウェアです。Squidはさまざまな用途に使えますが、今回はフォワードプロキシについて説明します。
フォワードプロキシとは、クライアント(Webブラウザ)がインターネット上のWebサーバーなどに接続する際に中継する機能です。
例えば、企業で社内LANから外部のインターネットに接続する際にプロキシサーバーを通すことで、やり取りされるデータをチェックして不正な通信がないか監視することができます。
その他にも、あなたのパソコンからWebサイトに接続する際に、プロキシサーバーを中継させることで、接続元IPアドレスの匿名性を確保し、サイバー攻撃を受けるリスクを低減させ、セキュリティを強化できます。
目次
VPS上にプロキシサーバーを構築
プロキシサーバー用のファイアーウォールを設定します
はじめにKAGOYA CLOUD のコントロールパネルからプロキシサーバー用のファイアーウォールを設定するために、以下の画面を開きます。
◇コントロールパネル > KVM > セキュリティ > セキュリティグループ
https://vps.kagoya.com/#/kvm/security_group
セキュリティグループ一覧が表示されます
「セキュリティグループ追加」をクリックします。
セキュリティグループの設定画面が開きます。
セキュリティグループ名には任意の名前を入力します。
SSH接続(22番ポート)を許可するために次の項目を入力します。(入力例)
プロトコル | 「TCP」 |
---|---|
IP | アクセス元のIPアドレスを指定します。 |
ポート | 「22」 |
設定欄下の「追加(+)」をクリックし、プロキシサーバーへの接続を許可するIPアドレスと、任意のポート番号(※ ここでは 8080 を指定します)を許可します。
入力例
プロトコル | 「TCP」 |
---|---|
IP | プロキシサーバーへの接続を許可するIPアドレスを指定します。 |
ポート | 「8080」 |
登録をクリックします。
CentOS 8 のインスタンスを作成
CentOS 8 でインスタンスを作成します。
今回は以下のスペックを選択します。
企業名 | カゴヤ・ジャパン |
---|---|
プラン名 | KAGOYA CLOUD VPS [KVM] |
CPU | 1コア |
メモリー | 1GB |
ストレージ | SSD 20GB |
OSテンプレート | CentOS8(64bit) |
料金 | 日額24円/月額660円(税込価格) |
◇コントロールパネル > KVM > インスタンス
https://vps.kagoya.com/#/kvm/server
インスタンス一覧が表示されます。
「インスタンス作成」をクリックします。
インスタンス作成画面が開きます。
任意のスペックを選択します。 今回の例では最小スペックで十分なので、 1コア/1GB のスペックを設定しました。
パッケージは、CentOS 8 を選択します。
ログイン認証キーを選択します。
※ 未作成の場合はログイン認証キーを追加してください(ログイン用認証キー作成)。
セキュリティグループは先ほど追加したプロキシサーバー用のセキュリティグループを選択します。
その他必須項目を入力し、「インスタンス作成」をクリックします。
squid (プロキシサーバー)の構築
squid のインストール
はじめに CentOS のパッケージを最新の状態にします。
# dnf update
squid をインストールします。
# dnf -y install squid
squid の設定
squid の設定ファイルを編集します。
# vi /etc/squid/squid.conf
一般的なローカル接続の設定例をコメントアウトし、プロキシサーバーへの接続を許可するIPアドレスを任意のACL(アクセス制御リスト)名で設定します。
※ もともとの記述内容から変更・追記する部分を赤字で記載しています。
#
# Recommended minimum configuration:
#
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#acl localnet src fc00::/7 # RFC 4193 local private network range
#acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
# 許可するIPアドレスを記載
acl accesslist src 203.0.113.10/32
IPアドレスの部分は、セキュリティで設定した、接続クライアントのIPアドレスを入力します。
※ IPアドレス末尾の /32 の部分はIPアドレスの範囲を指定しています。 /32 は1個のIPアドレスを指定します。( /24 だと256個の指定になります。)
一般的なローカル接続の許可設定をコメントアウトし、設定したACL(アクセス制御リスト)からのアクセスを許可します。
#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnets
#http_access allow localhost
http_access allow accesslist
# And finally deny all other access to this proxy
http_access deny all
# Squid normally listens to port 3128
http_port 8080
任意のポート番号を指定します(ここでは先の手順のファイアーウォールで許可したポート 8080 を指定します)。
プロキシサーバーの匿名性を高めたい場合は、設定ファイルの一番最後に以下を追記します。
# 任意のホスト名
visible_hostname unknown
# 接続端末のIPを隠蔽
forwarded_for off
# リクエストヘッダのプロキシ情報を隠蔽
header_access X-Forwarded-For deny all
header_access Via deny all
header_access Cache-Control deny all
設定ファイルの編集内容を保存します。
squid の起動
squidを起動する前に、 firewalld の設定を行います。
# firewalld-cmd --add-port=8080/tcp
success ##成功した場合の表示
# firewall-cmd --list-ports
8080/tcp ##追加したものが表示される
## firewalldを再起動
# systemctl restart firewalld.service
squidを起動します。
# systemctl start squid
自動起動設定を追加します。
# systemctl enable squid
状態を確認します。
# systemctl status squid.service
クライアント(Webブラウザ)からの接続をプロキシサーバー経由に設定~Google Chrome の場合~
画面右上のメニューから設定を開きます。
下の「詳細設定」をクリックします。
システムの中の「プロキシ設定を開く」をクリックします。
「インターネットのプロパティ」が開きます。
「接続」タブを開き、「LANの設定」ボタンをクリックします。
「LANにプロキシサーバーを使用する」にチェックします。
次の項目を入力します。
アドレス | プロキシサーバーを構築したインスタンスのIPアドレスを入力します。 |
---|---|
ポート | プロキシサーバーのポート番号 ※ここでは先ほど設定した8080を入力します。 |
https://support.kagoya.jp/kir/manual/ip/
「接続元IPアドレス」としてプロキシサーバーのIPアドレスが表示されれば成功です。
お疲れ様です。これでインターネットアクセスの際は一度プロキシサーバーを経由することになるので、アクセス元のIPアドレスを知られる可能性が激減しました。
開発・検証・プログラミング学習に。無駄なコストもかけたくないあなたにおすすめのVPS
カゴヤのVPSは初期費用無料でアカウント登録さえしておけば、必要なときだけ日額課金でサーバーを立ち上げ可能!料金は使った分だけ。