内部の静的ページを IP アドレス リストに表示するにはどうすればよいですか?

内部の静的ページを IP アドレス リストに表示するにはどうすればよいですか?

私は Ubuntu 22.04 サーバーと、ローカル ネットワーク上のユーザーの IP アドレスのリストを持っており、このリストからの http/https トラフィックをローカルの情報 HTML ページにリダイレクトしたいと考えています。ホットスポットと同じようにapache2、squid、wpad (252 dhcp)、iptables を試しましたが、できませんでした。https はリダイレクトしません。

どうすればいいのですか?

答え1

iptables は ip:443 を別の ip:port にリダイレクトできません (情報ブロック ページで apache2 仮想ホストを公開しています)

TCP/IP ストリームをリダイレクトすることはできますが、有効な証明書を提示できないため、ブラウザにセキュリティ警告が表示されます。

squid-cache は、http ページに「エラー ページ」がある場合にのみブラウザに情報を表示します (HTTPS ではカスタム エラー ページは表示されません) (詳細については、こちらを参照してください)

ご指摘のとおり、ブラウザは TLS のエラー ページを表示しません。200 コード以外のものを受信すると、ブラウザ独自のエラー メッセージが表示されます。

ほとんど全て今日のトラフィックは TLS で暗号化されており、表示したり変更したりすることはできません。つまり、 であると主張することも、他の場所にexample.comリダイレクトすることもできません。example.com

クライアントを完全に制御し、新しいルート証明書をインストールできない限り、 であると主張することはできませんexample.com

PS: https トラフィック (tcp 443) がこのページにアクセスできるブロック ページをブロックして表示する方法がある場合は、具体的な例を挙げて詳しく説明していただければ幸いです。

現代のブラウザで機能するそのような方法は存在しませんが、それは間違いではなく、デザインTLS の機能です。中間者攻撃を阻止することが目的です。基本的に、これがあなたがやろうとしていることです。

つまり、あなたが達成しようとしていることを達成する方法はありません。もしあったとしたら、それは重大なセキュリティ問題になります。

答え2

ユーザーをブロックしながらコンテンツを提供することはできません。

ブロックされていることをユーザーに知らせたい場合は、リバース プロキシ/ロード バランサーにアクセス制御リストを設定し、禁止された IP アドレスを持つクライアントを、内部またはコンテンツ配信ネットワークでホストされている静的ページに誘導することになります。

関連情報