iptables:sslで暗号化された文字列のフィルタリング


1

特定の文字列(マッチワード)を使って着信http / httpsパケットをフィルタリング(BANRULESセットに送信)する必要があります。 sslが使用されていないとき(ポート80)は簡単にできます。

iptables -A INPUT -p tcp -m tcp --dport 80 -m string --string "matchword" --algo bm --to 65535 -j BANRULES

しかし、sslが使用されていると(ポート443)、これは機能しません(パケット暗号化のため)。

iptables -A INPUT -p tcp -m tcp --dport 443 -m string --string "matchword" --algo bm --to 65535 -j BANRULES

これどうやってするの? どうもありがとうございました。

回答:


0

アクセスできない鍵でSSLがエンドツーエンドで暗号化されていて、そのうちの1つがフィルタリングしようとしているボックスではない場合、SSLでこれを行う(効率的な)方法はありません。 。 それが暗号化のポイントです

接続の一方の端に対して中間者攻撃を仕掛ける可能性があります。 しかし

  • 状況によっては違法であるかもしれません。
  • HTTPSセッションがHSTSおよびOCSPステープルを使用している場合、クライアントはMITMを認識する可能性があります。
  • クライアントまたはサーバーへの直接制御(管理/ rootアクセス)がなければ、中間者攻撃を成功させることは非常に困難です。

SSLをどのようにフィルタリングしますか?まあ、あなたはいくつかの選択肢があります:

  • クライアント、サーバー、またはその両方への正当な管理/ルートアクセスを取得し、秘密鍵を持っている証明書をルーターボックスで受け入れるようにそれらを構成します。
  • MITMの疑いのないユーザーのように、違法または道徳的に表現しやすいものをしてください。
  • P = NPであることを証明してから、整数を因数分解するための効率的なアルゴリズムを開発します。
  • 投げる すごい データセンターが各暗号化ブロックを強引に強制している(ただし、最善の場合でも、ユーザーの待ち時間が残念に思う)。
  • トラフィックの「形状」を分析して(トラフィック形状分析 - Googleで)、潜在的にブロックする可能性があるかどうかを判断します。 または - 私が選んだ解決策:
  • しないで
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.