web-dev-qa-db-ja.com

セキュリティのためのキャッシュなしのエラスティックロードバランサーを備えたCloudfront

リモートデータベースへのリアルタイムアクセス(新しいリードの挿入)を備えたec2インスタンス上のドメインがあります。最近、AWSはセキュリティのためにelb + cloudfrontを使用するようにアドバイスしました。

リモートデータベースへのリアルタイムアクセス(新しいリードの挿入)を使用して、ドメインでクラウドフロントを有効にすることができます。

2
adminz

ELBとCloudFrontはどちらもある程度のセキュリティを提供します。これらは、接続をサーバーに渡す前に接続を終了することにより、特定のレイヤー3およびレイヤー7の攻撃を防ぎます。これには、 [〜#〜] ddos​​ [〜#〜] および SlowLoris が含まれます。

CloudFrontには、世界中にノードがあり、大量の帯域幅があるという利点があります。これにより、規模が大きいという理由だけで、多くのDDOS攻撃を軽減できます。 ELBもトラフィックに応じて拡張できますが、新しいサーバーを起動または割り当てる必要があるため、CloudFrontほど速くはありません。

AWSでは着信トラフィックは無料です。これは、彼らがあなたに無料で攻撃を吸収することを意味します。

これらの製品のいずれかを使用すると、セキュリティが向上します。両方を使用する必要はありません。今のところはCloudWatchを使用することをお勧めします。

EC2サーバー用にCloudFrontをセットアップしただけで、かなり簡単ですが、httpsの周りにいくつかの落とし穴があります。大まかな手順(HTTPSを含む)は次のとおりです。

  • AWS Certificate Managerを使用して、US-EAST-1リージョン(そのリージョンである必要があります)のドメイン(wwwサブドメインを含む)の証明書を作成します
  • Originの新しいサブドメインを設定します。 CloudFrontにはこれが必要です。たとえば、Origin.example.comを使用して、そのアドレスに応答するようにNginxを構成しました。
  • ドメインとサブドメインを代替として、そのオリジンでCloudFrontをセットアップします。キャッシュすべきものとキャッシュすべきでないものを考慮して、動作を慎重に設定します。何もキャッシュされていない場合でも、リクエストがCloudFrontに到達すると、パブリックインターネットではなく、プライベートに最適化されたAWSバックボーンを経由するため、ウェブサイトはインターネット経由の場合よりも高速になる可能性があります。動的コンテンツは問題ありません。TTLを0に設定するだけです。
  • 理想的には、Route 53をセットアップし、エイリアスレコードを使用してCloudFrontをポイントし、DNSを移動して、ネームサーバーに変更します

セキュリティをさらに向上させたい場合は、 AWS WAF を使用できます。 CloudFrontと統合されます。ほとんどのWAFよりも安価ですが、包括的に設定されている場合は、おそらく月額数十ドルもかかりません。個人的には気にしません、私のサービスは重要ではありません。

さらに簡単なオプションが必要な場合は、 CloudFlare を使用してください。これはAWSの一部ではありませんが、セットアップは非常に簡単で、無料枠があります。私はほとんどのウェブサイトでそれを使用しています。

4
Tim