Tinyproxy 1.11.2では、Listenがクライアント接続を受け付けるアドレスを選び、Allowが許可するクライアントを制御します。Bindが選ぶのは送信側のアドレスです。

待受とクライアントの規則

パッケージのサービスユーザー、ログ、PIDファイルの設定は保持してください。待受とアクセスの項目を、意図する方針に置き換えます。

Port 8888
Listen 192.0.2.10
Allow 198.51.100.27/32
ConnectPort 443

文書用のアドレスは両方とも置き換えてください。待受アドレスはサーバーが持つアドレスである必要があり、クライアントアドレスはサーバーから見える送信元に一致させます。不要になった寛容な規則は削除します。

AllowもDenyもない場合、Tinyproxyはすべてのクライアントを許可します。アクセス項目が存在するとデフォルトは拒否になり、規則の順番も重要です。そのため、アクセスの行をすべて削除すると、制限付きの初期状態に戻るのではなく、アクセスを開放することになります。

ConnectPort 443はCONNECTをその接続先ポートに制限します。通常のHTTPリクエストにも接続先制限が必要な運用なら、別に設定する必要があります。

稼働中のサービスを確認する

送信側のBind設定では、受信ソケットを制限できません。起動後、実際の待受を調べます。

sudo ss -ltnp 'sport = :8888'

両方のアドレスファミリーを確認し、意図しない待受や古いサービスインスタンスがないかを調べてください。

このバージョンには、設定の解析だけを行う-tスイッチは文書化されていません。管理対象のサービスを停止した状態でフォアグラウンド実行すると、起動エラーを確認できます。

sudo tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf

管理対象のサービスを再起動する前に、フォアグラウンドのプロセスを止めます。許可した送信元と、制御下にある拒否されるべき別の送信元からリクエストを試してください。接続先のログは、拒否されたリクエストが転送されていないことの確認に役立ちます。

関連記事