ピープルサーバー月額500円で使える無制限サーバー

ServersMan@VPS上のUbuntuに関する設定について。。

今回はProxyサーバを立ててみました。

普段使用する自宅のWindows PCからWebブラウジングする際の高速化を目的として立ててみましたが、結構快適に動作しています。

Proxyサーバを立てる際には不正利用されないために何らかの制限を設けますが、今回はBasic認証によるアクセス制限を採用します。
※ISPから振られるグローバルなIPアドレスが固定でないため已む無し。。。

また、ProxyサーバからクライアントPCの情報が漏れないよう匿名化もやってみます。

■Proxyサーバ「Squid3」のインストール
それでは、以下のコマンドを打ちましょう。
$ sudo apt-get install squid3

これでインストール完了です。

インストールされるバージョンは「3.0.STABLE19-1ubuntu0.1」です。
※2011/03/07時点

■「Squid3」の設定
設定ファイルは以下のディレクトリに格納されています。
/etc/squid3

このディレクトリに格納された「squid.conf」が設定ファイルです。
●基本設定
今回は以下の情報について変更を加えていきます。
1.ポート番号
デフォルトでは3128ポートが使われていますが、セキュリティ向上のためなるべく変えておきます。
#http_port 3128
http_port 10001

2.キャッシュ使用するディスク領域と容量
環境に合わせて適切と思う値を設定しましょう。
cache_dir ufs /var/spool/squid3 100 16 256
上記はディレクトリ「/var/spool/squid3」に最大100MByteをキャッシュとして割り振る設定です。
「16」、「256」はディレクトリの分割数らしいですが通常はこの値から変更することは無いとのことです。

3.メモリに保持するキャッシュ容量
環境に合わせて適切と思う値を設定しましょう。
cache_mem 8 MB

上記は見ての通り、8Mbyteをキャッシュ容量としてメモリに割り当てる設定となっています。

●匿名性の設定
匿名性を確保するために以下に付いて設定に手を加えます。
1.アクセス元のIPを表示しない
forwarded_for off

上記を設定に加えることで、アクセス元のIPを隠すことが出来ます。
この時、HTTPヘッダのうち「HTTP_X_FORWARDED_FOR」が「unknown」となります。

2.Proxyの存在を知らせない
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

これらの設定を行うと、外部からはProxyを経由していることが判らなくなります。
ただし、Proxyを不正利用された場合にあたかもこのProxyサーバがアクセス元としか見えませんのでその点ご注意ください。



●アクセス制限
今回はアクセス元のIPアドレスが不定であることを想定してBasic認証をつけてみます。
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl password proxy_auth REQUIRED
http_access allow password

1行目が認証に使用する外部プログラムとパスワードファイルの指定です。
2行目が同時に接続できるクライアント数
3行目がBASIC認証確認時に出力される文言
4行目がBASIC認証で認証した際の有効保持時間
5行目がアクセスコントロールに関する設定(認証必須)
6行目がHTTPアクセスで5行目のルールを適用する設定

次に1行目で指定したパスワードファイル「/etc/squid3/passwd」の作成です。
今回はユーザ名「hoge」パスワード「passwd」とします
$ sudo htpasswd -c /usr/local/squid/etc/passwd hoge
以下、パスワード「passwd」を入力
New password:(パスワードは表示されません)
Re-type new password:(パスワードは表示されません)


■「Squid3」の再起動
以下のコマンドを打ちましょう
$ sudo /etc/init.d/squid3 restart

再起動が完了すれば、設定が反映された状態でProxyさーばが使えます。

あとは、Windows PCなどのブラウザでのプロキシの設定などですが、ここでは省略します。

お疲れ様でした。