読者です 読者をやめる 読者になる 読者になる

CentOS 7 - Squid で簡単にプロキシサーバを構築する。(10分くらいで)

用途

・Webサーバへの接続元IPアドレスを限定したい。

ownCloudやRoundcubeを利用していて、接続元IPアドレスを限定してセキュリティを強化したいため。

 

本投稿では、Squidを使ったプロキシサーバの構築方法を紹介します。

 

作業環境
利用サービス: さくらのVPS/512M
OS: CentOS 7.1

 

目次

1.Squidをインストール

2.Squidを設定

3.Squidの起動と自動起動設定

4.ブラウザの設定

 

 

1.Squidをインストール

 

Squidとは、プロキシ (Proxy) サーバ、ウェブキャッシュサーバなどに利用されるフリーソフトウェアのこと。

Squidをインストール

Squidは、Yumでインストールします。

# yum install squid

 

2.Squidを設定

 

アクセスコントロール(acl)の設定

「squid.conf」にアクセスコントロール(以後:acl)を登録します。

aclにIPアドレスかドメイン名を登録することで、プロキシサーバに接続可能となります。aclの記述方法は、以下のようにします。

acl [acl名] src [IPアドレスまたはドメイン名]

 

aclには、以下の2つを登録します。aclの登録と一緒にhttp_accessにも追加する必要があります。加えて、Proxy経由で接続していることを隠す設定も追加します。

acl blog src centos.sabakan.red
acl blog src 54.199.221.xxx

実際に以下が設定した内容です。

# vim /etc/squid/squid.conf
~省略~
# 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
##aclを登録する
acl blog src cnetos.com
acl blog src 54.199.221.xxx

~中略~

# 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 localnet
http_access allow localhost
##事前に登録したaclを接続許可に追加する
http_access allow blog

~中略~

##プロキシ経由のアクセスであることを隠す設定
forwarded_for off
request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

##Squidがインストールされたサーバのホスト名を設定
visible_hostname tk-xxxx-xxx.vs.sakura.ne.jp

 

 

3.Squidの起動と自動起動設定

 

Squidを起動

Squidのデーモンを起動します。

# systemctl start squid

 

自動起動の設定

サーバの起動時に、Squidも起動するよう設定します。

# systemctl enable squid

 

「/etc/squid/squid.conf」を編集し、設定を反映させたい場合は、リロードを行います。

# systemctl reload squid

 

 

4.ブラウザの設定

 

ブラウザにプロキシサーバを登録

PCブラウザにプロキシサーバの情報を登録します。

f:id:sabakan1204:20150626055442p:plain

ブラウザを開き、「インターネットオプション」を選択しクリックします。

 

f:id:sabakan1204:20150626055743p:plain

インターネットオプションのポップアップが表示されたら「接続」タブをクリックし、「LANの設定(L)」もクリックします。

 

f:id:sabakan1204:20150626060304p:plain

「LANにプロキシサーバを使用する」にチェックをいれ、「詳細設定」をクリックします。

 

f:id:sabakan1204:20150626060616p:plain

HTTPの「使用するIPアドレス」にSquidをインストールしたサーバのIPアドレスを入力し、「ポート」には3128と入力します。そして、「すべてのプロトコルに同じプロキシサーバを利用する(U)」にチェックをいれて「OK」をクリックすれば設定は完了です。