web-dev-qa-db-ja.com

HTTPサーバーまたはHTTPプロキシサーバーの脆弱性で許可されるCONNECTメソッド

私のセットアップの詳細:

  • OS:RHEL7
  • Webサーバー:Apache httpサーバー(SSL対応)
  • AppContainer:NodeJS
  • Webサーバーはmod_proxyを介してNodeJSに接続します。

以下の設定を使用して、Apachehttpサーバーの接続方法をブロックしました。しかし、それでも接続方法の脆弱性は存続します。 NodeJS側で何かする必要がありますか?

RewriteCond%{REQUEST_METHOD}!^(GET | POST | PUT | DELETE | HEAD)
RewriteRule。*-[R = 405、L]

1
Fred

このような一般的な問題の最も一般的な理由は、RewriteRuleが配置されたコンテキストでRewriteEngine onを使用してmod_rewriteを有効にしないことです。

ただし、その場合でも、<Limit>または<LimitExcept>ブロックを使用することをお勧めします。または、mod_proxy_connectをまったくロードしないことをお勧めします。これにより、CONNECTメソッドに使用方法。もちろん、アプリで処理する場合は、無効にする必要もあります。

コメント後の追加情報:

実行not構成に付属の<Directory />ブロックを変更します。そのままにしておく必要があります。

また、(コメントで述べたように)<Limit>ブロックを別のブロック(この場合は<Directory>ブロック)内に配置しないでください。<Directory>ブロックの構成ディレクティブは、リクエストはファイルシステムにマップされていますが、/example.comの別のサービスにプロキシしています。つまり、noリクエストはファイルシステムにマップされ、したがって、<Limit>ブロックは有効になりません。

1
Unbeliever