Tinyproxy の宛先フィルター、クライアント ACL、CONNECT ポート
Tinyproxy の宛先フィルターでホスト名を制限し、送信元クライアントや CONNECT ポートを制御するルールとは区別してください。
Tinyproxy の Allow 行は、誰がプロキシを使えるかに答えるものです。そこに書かれたホストにしか到達できないという意味ではありません。宛先フィルタリングは別の設定です。
1 つの名前付きサービスへの到達を目的とするプロキシでは、フィルターを許可リストとして使えます。
Filter "/etc/tinyproxy/allowed-hosts"
FilterDefaultDeny Yes
FilterURLs No
ファイルには、選択したフィルター構文で許可される宛先パターンが入ります。狭い完全一致のホストパターンを保ち、正規表現のアンカーやワイルドカード構文を選ぶ前に、設定済みの FilterType を確認してください。あるモード向けに書いたパターンが、別のモードでは別の意味になることがあります。
3 つの異なる制御があります
- クライアントの
Allow/Denyルールは送信元クライアントを制限します。 - 宛先フィルタリングは要求されたホストまたは URL を制限します。
ConnectPortは CONNECT の宛先ポート を制限します。
Tinyproxy のマニュアルはこれらを別々に説明しています。宛先フィルターはプロキシ認証を追加せず、ポートの許可は要求を 1 つのホスト名に限定しません。
通常のトンネル経由の HTTPS では、宛先ホストを基準に考えてください。暗号化されたリクエストパスはプロキシから見える通常のテキストとしては得られないため、平文 HTTP で機能するパス式が HTTPS ページのパスを検査すると仮定してはいけません。
サイトの依存関係も考慮してください。1 つのページが画像を取得したり、他のホスト経由で認証したりすることがあります。本当に必要な宛先だけを追加してください。欠けた画像 1 つを直すために完全一致のホストルールを広いサフィックスに変えると、はるかに多くの通信を許可してしまいます。許可する宛先それぞれに理由があるよう、リストを十分に理解できる形に保ってください。