Squid の設定

Squid の設定

VPS を使用しています。HTTPS プロトコル経由でサーバーに接続し、ブラウザ接続を HTTPS 接続にリダイレクトするにはどうすればよいですか?

現在、SSH トンネルを使用していますが、遅すぎます。

答え1

私はSquidをプロキシサーバーとして使用しており、スタンネルSSL ラッパーとして。キャッシュにより非常に優れたパフォーマンスを発揮します。

Squid の設定

Squidをインストールしたら、Squid ドキュメント設定します。設定例は次のとおりです。

http_port 3193 透過

キャッシュディレクトリ ufs /var/cache/squid 128 16 128
キャッシュメモリ 1 MB
メモリ内の最大オブジェクトサイズ 512 KB
最大オブジェクトサイズ 1 MB

表示ホスト名 ホスト名.com

階層ストップリスト cgi-bin ?
リフレッシュパターン ^ftp: 1440 20% 10080
リフレッシュパターン ^gopher: 1440 0% 1440
リフレッシュパターン -i (/cgi-bin/|\?) 0 0% 0
リフレッシュパターン . 0 20% 4320

ACL マネージャー プロトコル cache_object
ACL ローカルホスト src 127.0.0.1/32 ::1
ACL to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

acl localnet src 10.0.0.0/8 # RFC 1918 可能な内部ネットワーク
acl localnet src 172.16.0.0/12 # RFC 1918 可能な内部ネットワーク
acl localnet src 192.168.0.0/16 # RFC 1918 可能な内部ネットワーク
acl localnet src fc00::/7 # RFC 4193 ローカルプライベートネットワーク範囲
acl localnet src fe80::/10 # RFC 4291 リンクローカル(直接接続)マシン

acl SSL_ports ポート 443
acl Safe_ports ポート 80 # http
acl Safe_ports ポート 21 # ftp
acl Safe_ports ポート 443 # https
acl Safe_ports ポート 70 # gopher
acl Safe_ports ポート 210 # wais
acl Safe_ports ポート 1025-65535 # 未登録のポート
acl Safe_ports ポート 280 # http-mgmt
acl Safe_ports ポート 488 # gss-http
acl Safe_ports ポート 591 # ファイルメーカー
acl Safe_ports ポート 777 # マルチリング http
acl CONNECT メソッド CONNECT

auth_param 基本プログラム /usr/libexec/squid/pam_auth
auth_param 基本子 5
auth_param 基本レルム Squidy
auth_param 基本認証情報ttl 4 時間

acl パスワード proxy_auth 必須

http_access 許可マネージャー
http_access 拒否!セーフポート
http_access 拒否 CONNECT !SSL_ports
http_access パスワードを許可する
http_access ローカルホストを許可する
http_access ローカルネットを許可する
http_access すべて拒否

オフ経由
forwarded_for オフ

request_header_access すべて許可する
request_header_access 認証すべて許可
request_header_access WWW認証すべて許可
request_header_access プロキシ認証すべて許可
request_header_access プロキシ認証すべて許可
request_header_access Cache-Control すべて許可
request_header_access コンテンツエンコーディング すべて許可
request_header_access コンテンツ長 すべて許可
request_header_access コンテンツタイプ すべて許可
request_header_access 日付 すべて許可
request_header_access 期限切れ すべて許可
request_header_access ホストはすべて許可
request_header_access If-Modified-Since すべて許可
request_header_access Last-Modified すべて許可
request_header_access 場所 すべて許可
request_header_access プラグマすべて許可
request_header_access すべて許可する
request_header_access Accept-Charset すべて許可
request_header_access Accept-Encoding すべて許可
request_header_access Accept-Language すべて許可
request_header_access コンテンツ言語 すべて許可
request_header_access Mime-Version すべて許可
request_header_access 再試行後すべて許可
request_header_access タイトル すべて許可
request_header_access 接続はすべて許可
request_header_access プロキシ接続すべて許可
request_header_access ユーザーエージェントすべて許可
request_header_access Cookie すべて許可
request_header_access すべてすべてを拒否

ポートを listen します3193 tcp。次に、キャッシュ オプション、いくつかの ACL コマンド、auth_paramおよび PAM 認証 (おそらく、プロキシを開いてスパム レポートで VPS を失うことは望ましくないでしょう) が続きます。request_header_access行は必須ではありません。これにより、匿名性が高まります。

Stunnel サーバーの構成

サーバーに stunnel をインストールします。サンプル構成は次のとおりです。

setuid = stunnel
setgid = stunnel

CAファイル = /etc/stunnel/certs.pem
CRLファイル = /etc/stunnel/crls.pem

[プロキシ]
受け入れる = 8888
接続 = 127.0.0.1:3193

おそらく、stunnel のインストール時に作成された認証ファイルです。 のファイル パスを確認してくださいCAfile。ポートをリッスンし8888 tcp、復号化されたストリームを Squid にリダイレクトするだけです。そのため、アクセス可能であることを確認しましょう。

iptables -I INPUT 1 -p tcp --dport 8888 -j ACCEPT

Squid リスニング ポートを世界中からアクセス可能にする必要はなくなりました。

Stunnel クライアントの設定

ローカル マシンに stunnel をインストールし、必要に応じてこの構成を変更します。

setuid = stunnel
setgid = stunnel
pid = /var/run/stunnel/stunnel.pid

[ポキシー]
受け入れる = 8123
接続 = server_ip:8888
クライアント = はい
libwrap = いいえ

server_ip を適切な値に置き換えます。次に、サーバー上で Squid を起動し、クライアントとサーバー上で Stunnel を起動します。localhost:8123ブラウザと同じようにプロキシを設定します。すべてが機能する場合は、ユーザー名とパスワードの入力が求められます。

答え2

https サーバーは Apache ですか? 状況を完全には理解していませんが、mod_proxy があれば、必要な操作を実行できる可能性があります。

答え3

仮想ホストに何かを設定したことはありませんが、一般的な HTTPS に関する情報は次のとおりです。

HTTPS は HTTP と SSL の組み合わせを使用します (Wikipedia の記事を参照してください)。http://en.wikipedia.org/wiki/HTTP_Secure)。HTTPS は、それ自体が独自のプロトコルというわけではなく、SSL トンネル上で実行される通常の HTTP です。

HTTPS は、CA (証明機関) と PKI (公開鍵インフラストラクチャ) を使用して、ユーザーがサイトを「信頼できる」ようにします。Web サーバー用の公開鍵証明書を作成し、信頼できる CA (VeriSign など) によって署名されている必要があります。信頼できる証明書を取得するには、維持費として年間料金がかかる場合があります。

信頼できる CA を経由しない場合、ユーザーがサイトに接続しようとすると警告が表示されます。これにより、ユーザーはセキュリティ上のリスクと見なし、サイトから離れてしまうことがよくあります。

また、HTTP はデフォルトでポート 80 を使用するのに対し、HTTPS は 443 を使用するので、ポート転送/ポート ブロックがある場合は、接続できるようにポートが開いていることを確認する必要があります。HTTPS を使用するには、サイトに移動するときに URL に入力する必要があります。そうしないと、デフォルトで HTTP が使用される可能性があります。

編集: HTTPS の動作に関する優れた紹介がここにあります: http://securityworkshop.blogspot.com/2009/01/how-httpsssl-works-part-1-basics.html

答え4

私の水晶玉は、あなたが見るべきと告げていますhttp://www.stunnel.org/static/stunnel.html

ボールが間違っていても、とにかく痛くはありません。

関連情報