web-dev-qa-db-ja.com

Cloudflareからのトラフィックのみを許可する

私はLinuxシステム管理に不慣れで、iptablesを使ってシステムを実際にロックダウンする方法を学ぼうと試みています。そして、私の友人が勧めたのは、Cloudflareを介してすべての着信トラフィックを渡す方法があるため、攻撃者がサーバーのIPを解決したとしても、直接(D)実行できないということでした。

これはまさに彼らが言ったことです。「CloudFlaresIP範囲からの着信接続のみを許可するようにサーバーのiptablesを構成し、IP/IP範囲のみがポート21(SSH)で接続できるように設定するだけです。」

この効果を得るためにUbuntuで実行する必要のあるコマンドについて誰かが私を助けてくれますか?

3
Nick

-| UPDATE 2017年2月7日|-これは高度なセットアップオプションのままです-正しく実行しないとサーバーから簡単にロックアウトされる可能性があるためです。そうは言っても、そうすることに抵抗がない場合は、Originをロックダウンして、ポート80とポート443へのCloudflareIPのみを受け入れるようにしてください。SSHを誤ってブロックしないように注意してください。

-| 2013年の古いコメント|-(少なくとも)ビジネスレベルのサービスを使用していないお客様には、この種の設定を積極的にお勧めしません。高度なDDoS保護オプションが含まれているのは、ビジネスレベルおよびエンタープライズレベルのプランのみです。無料およびプロレベルのプランには、基本的なDDoS保護が含まれています。つまり、攻撃が他のCloudFlareの顧客に悪影響を与える場合は、そのサイトをCloudFlareからルーティングする必要があります。次に、CloudFlare IPからのトラフィックのみを許可する場合は、すべてをブロックします。あなたのサイトへの合法的なトラフィック。

p.s.私はCloudFlareで働いています。

10
xxdesmus
iptables --append INPUT --source 192.0.2.1 --protocol tcp --destination-port 22 --jump ACCEPT
iptables --append INPUT --source 203.0.113.0/24 --jump ACCEPT
iptables --policy INPUT DROP

192.0.2.1は、SSHアクセス用のIPです。 203.0.113.0/24はCloudFlareのIP範囲です(複数ある場合は、おそらくいくつかのルールを追加する必要があります)。

たぶん、--in-interfaceを使用して、どのルールが何に一致するかをさらに指定できます。

これは非常に単純な例であり、一般的な方向を示すことを目的としていることに注意してください。詳細については、man iptablesを参照してください。また、自分を締め出すことに注意してください。

4
Gnarfoz

Gnarfozの返信の補遺では、これはcloudflareによって使用されるIP範囲のリストです: https://www.cloudflare.com/ips

2