2017-07-29 13 views
0

静的IPだけがEC2サーバーにヒットするセキュリティグループを設定したいが、Cloudflareを使用し、IP /リバースプロキシマジックAWSセキュリティグループではCloudflare IPのみが表示され、実際の静的IPは表示されません。私は全面的に見て、どのようにこれを行うには答えを見つけることができません。誰かがこれを理解しましたか?Cloudflareを使用しているときにAWSセキュリティグループに静的IPを設定する

答えて

2

これはセキュリティグループの設定では実行できません。

Cloudflareのようなキャッシングプロキシは、そのIPアドレスの1つを使用して、オリジンサーバーとは別の接続を作成します。

セキュリティグループでこれらのアドレスを使用し、Cloudflareがリストを変更する場合はルールを維持する必要があります。しかし、リストは公開されています。

https://www.cloudflare.com/ips/

次に、あなたはCF-Connecting-IP HTTPヘッダーは、あなたのIPアドレスが含まれていない場合に要求を拒否するようにWebサーバーを設定する必要があります。

https://support.cloudflare.com/hc/en-us/articles/200170986-How-does-Cloudflare-handle-HTTP-Request-headers-

あなたがCloudFlareのIPアドレスへのトラフィックを制限しない場合ので、あなたは、両方をしなければならないが、IPを含むヘッダを偽造可能性が他の場所(ではないのCloudFlare経由)からセキュリティ、グループ、トラフィックの範囲住所。

これらの2つのことを済ませれば、Cloudflareは応答をキャッシュするので、あなたの目的はほぼ達成されました。

次の問題は、Cloudflareでキャッシュを無効にする必要があることです。これは、一度ページを取得すると他のユーザーがアクセスできるCloudflareキャッシュにある可能性があるためです。

https://support.cloudflare.com/hc/en-us/articles/200168306-Is-there-a-tutorial-for-PageRules-

本当に、あなたは、単一のIP(または小さなセット)へのアクセスを制限する必要がある場合のために、それは通常のCloudFlareを経由してトラフィックを送信するために多くの意味がありません。

+0

適切なセキュリティグループを設定すると、CF-Connecting-IPヘッダーを確認するためにWebサーバーを構成する必要があるのはなぜですか?セキュリティグループは非cfトラフィックをフィルタリングしませんか? –

+0

@geek_guyはい、セキュリティグループはCloudflare以外のトラフィックをブロックしますが、ここでの質問は特定の視聴者のIPアドレスだけがサイトにアクセスできるようにすることです。セキュリティグループはCloudflare IPを認識します。そのため、アプリケーションは、CloudflareがどのIPアドレスから来たかを確認するために各要求を検査する必要があります。 –

0

CloudflareからIP fileを解析し、セキュリティグループを動的に更新するラムダ関数を設定できます。 AWSlabs on githubには、CloudFront用のラムダ関数の例があります。 2つの問題は、例のようなキューに登録することができず、セキュリティグループのルールがなくなる可能性があるので、実行するラムダ関数をスケジュールする必要があるということです。50 is the limit

関連する問題