Category: AWS WAF*


すぐに使用できるマネージドルールがAWS WAFで利用可能に

現在利用可能となりました、AWS WAFマネージドルールにより、WebアプリケーションやAPIをインターネットの脅威から簡単に保護することができます。Alert Logic、Fortinet、Imperva、Trend Micro、TrustWaveなど、業界をリードするセキュリティ専門家がAWS Marketplaceで提供する事前設定済みのルールグループから選択します。ルールは新しい脅威が出現すると自動的に更新され、OWASP Top 10リスクの軽減、悪いボットからの防御、最新のCVEに対する仮想パッチの適用などに対応します。その他にもWordPressやDrupalなどのコンテンツ管理システムを含む、アプリケーションプラットフォームを保護するための、特定領域に特化したマネージドルールグループもあります。各ルールグループは、提供元のユニークな専門知識が入った製品で、使った分だけの手頃な価格でご利用頂けます。 AWSのマネージドルールは、セキュリティルールの作成やサーバーの管理などに費やす時間を短縮するのに役立ちます。

AWS WAFのマネージドルールは、長期契約や高価なプロフェッショナルサービス契約なしで利用できます。AWS MarketplaceまたはAWS WAF管理コンソールからAWS WAF用のマネージドルールを購入し、数回クリックするだけで展開できます。

AWS WAFのマネージドルールの詳細については、AWS Marketplaceをご覧ください。

AWS WAF 用のレートベースのルールでウェブサイトとサービスを保護

AWS WAF (ウェブアプリケーションファイアウォール) は、悪質または不正なリクエストに関与する様々なタイプのアプリケーションレイヤー攻撃からアプリケーションを保護するために利用できます。このサービスについて説明したブログ (「新しい AWS WAF について (New – AWS WAF)」でもお見せしましたが、クロスサイトスクリプティング、IP アドレス、SQL インジェクション、サイズ、コンテンツ制約に見合うルールを定義できます。

受信リクエストがルールと一致すると、アクションが呼び出されます。アクションは許可やブロックを実行したり、単にマッチ数をカウントすることができます。既存のルールモデルはパワフルかつ様々な種類の攻撃を検出し対応することができます。ただし、特定の IP アドレスから送られた有効なリクエストが大量に送信されただけのケースでは、攻撃として対応することはできません。こうしたリクエストはウェブレイヤーの DDoS 攻撃や総当たりのログインの試行、もしくはパートナー統合で不具合があった場合の可能性があります。

新しいレートベースのルール
本日、WAF にレートベースのルールを追加しました。これにより、ブラックリストへの IP アドレスの追加または削除を管理できるようになり、例外や特別なケースに対応できる柔軟性も提供します。IP アドレスをブラックリストに追加 – 設定済みのしきい値を超える速度でリクエスト数を送信した IP アドレスをブラックリストに追加することができます。IP Address のトラッキング– どの IP アドレスがブラックリストに追加されているか見ることができます。IP Address の削除 – ブラックリストに追加された IP アドレスは、設定済みのしきい値を超える速度でリクエストを送信しないようになれば自動的にリストから削除されます。IP Address の例外 – 特定の IP アドレスをブラックリストの対象外として設定することができます。その場合はレートベースのルール内にある IP アドレスのホワイトリストを使用してください。たとえば、自分のサイトに信頼できるパートナーが高速でアクセスできるように許可したい場合もあるでしょう。モニタリングおよびアラーム発行 – 各ルールに発行した CloudWatch メトリクスでモニタリングしたりアラーム発行をすることができます。新しいレートベースのルールと WAF の条件を組み合わせて高度なレート制限戦略を取り入れることもできます。たとえば、レートベースのルールやログインページと一致する WAF 条件を使用できます。そうすることで、ログインページで適度なしきい値を適用できます (パスワードのブルートフォース攻撃を防ぐため)。そして、マーケティングやシステムステータスのページにより高いしきい値を設定することが可能になります。しきい値は 5 分間で 1 つの IP アドレスによる受信リクエスト数により定義されます。このしきい値を超えると、その IP アドレスからの追加リクエストはリクエストの速度がしきい値以下になるまでブロックされます。

レートベースのルールを使用
サイトの/ログインを保護するレートベースのルールを定義する方法を説明します。そのページの URI で希望のストリングと一致する WAF 条件を定義することから始めます。

次にこの条件を使用してレートベースのルールを定義します (レート制約は 5 分間隔で行われるリクエストをもとにしますが、制限を超え次第ブラックリストに追加されます)。

条件とルールの設定が完了したら、Web ACL (ProtectLoginACL) を作成し、すべて一緒に AWS リソースにアタッチさせます (この場合は CloudFront ディストリビューション)。

次にルール (ProtectLogin) を Web ACL にアタッチします。

これでリソースがルールと Web ACL に合致した状態で保護されるようになりました。関連の CloudWatch メトリクス (この場合は ProtectLoginProtectLoginACL) をモニタリングできます。CloudWatch アラームを作成し、保護用のしきい値を超えたら Lambda 関数の開始に使うこともできます。コードは寄与度が大きい IP アドレスを調べ、複雑なビジネス主導の決定を行ったり、信頼できるパートナーや特別な支払いプランを使用しているユーザーに普通以上の許可を与えられるよう、ホワイトリストのルールに追加することもできます。

今すぐ使用可能
この新しいレートベースのルールは今すぐご利用いただけます。レートベースのルール料金は通常ルールと同様です。詳しくは「WAF 料金 (WAF Pricing)」ページをご覧ください。

Jeff;

IPv6 サポートの更新 – CloudFront、WAF、S3 Transfer Acceleration

先日のブログ「Amazon S3 で IPv6 をサポート」の続報として、今回は Amazon CloudFrontAmazon S3 Transfer AccelerationAWS WAF と 50 か所以上に渡るすべての CloudFront エッジロケーションでも IPv6 サポートが利用可能になったことをお知らせします。AWS では、すべての自律システムネットワーク (ASN) で IPv6 を有効にするための段階的な移行プロセスを本日より開始し、今後数週間に渡りすべてのネットワークで拡張する予定です。

CloudFront IPv6 のサポート
Amazon CloudFront ディストリビューションごとに IPv6 サポートを有効にすることができます。IPv6 を使用して CloudFront エッジロケーションに接続する閲覧者とネットワークは自動的に IPv6 でコンテンツを取得します。IPv4 を使用して接続する場合は以前のように機能します。オリジンサーバーへの接続には IPv4 を使用します。

新たに作成したディストリビューションでは自動的に IPv6 が有効になります。既存のディストリビューションを変更するには [Enable IPv6] を有効にします。これはコンソールまたは CloudFront API から設定できます。

この新機能の重要事項については次をご覧ください。

  • エイリアスレコード – ディストリビューションで IPv6 サポートを有効にすると、ディストリビューションの DNS エントリは AAAA レコードを含むものに更新されます。Amazon Route 53 とエイリアスレコードを使用してディストリビューションのドメインすべてまたは一部をマップしている場合、そのドメインに AAAA エイリアスを追加する必要があります。
  • ログファイルCloudFront アクセスログを有効にしている場合、IPv6 アドレスが c-ip フィールドで表示されるので、ログ処理システムがそれに対処できるようにしておいてください。
  • 信頼された署名者信頼された署名者と IP アドレスのホワイトリストを併せて使用している場合は、IP ホワイトリストと実際のコンテンツの IPv4/IPv6 ディストリビューションを備える、信頼された署名者 URL の IPv4 に限られたディストリビューションの使用を強くお勧めします。このモデルでは、IPv4 アドレスを使用して送信した署名リクエストにサインしたことで、コンテンツのリクエストがホワイトリストに載っていない別の IPv6 アドレスから届くといった問題を回避することができます。
  • CloudFormation – CloudFormation サポートを準備中今回のリリースでは、CloudFormation テンプレートから作成したディストリビューションで IPv6 は有効になりません。既存のスタックを更新する場合、スタックで参照したディストリビューションの設定に変更はありません。
  • AWS WAFAWS WAF と CloudFront を併せて使用している場合は、IPv6 アドレスのホワイトリストまたはブラックリストで適切となるように WebACL と IP ルールセットを必ず更新してください。
  • Forwarded ヘッダー – ディストリビューションで IPv6 を有効にする場合は、オリジンに渡した X-Forwarded-For ヘッダーに IPv6 アドレスが含まれているようにしてください。オリジンがこの形式のヘッダーを処理できるか確認してください。

詳しくは「Amazon CloudFront で IPv6 をサポート」をご覧ください。

AWS WAF IPv6 サポート
AWS WAF はアプリケーションレイヤーで発生する攻撃からアプリケーションを保護します (詳しくは「新機能 – AWS WAF」をご覧ください)。

AWS WAF が IPv4 アドレスまたは IPv6 アドレス経由で届くリクエストを調べられるようになりました。IPv6 と一致するウェブ ACL を作成することができます。詳しくは「IP Match Conditions の使用」をご覧ください。

既存の WAF 機能はすべて IPv6 に対応、そのパフォーマンスで目に見える変化はありません。IPv6 は WAF が収集し表示したサンプルリクエストで表示されます。

S3 Transfer Acceleration IPv6 サポート
この重要で新しい S3 機能が IPv6 をサポートするようになりました (詳しくは「AWS ストレージの更新 – Amazon S3 Transfer Acceleration + より多くのリージョンでさらに大きくなった Snowballs」をご覧ください)。アップロードに使用できるデュアルスタックのエンドポイントに簡単に切り替えることができます。次のように変更するだけです。

https://BUCKET.s3-accelerate.amazonaws.com

https://BUCKET.s3-accelerate.dualstack.amazonaws.com

クライアントオブジェクトの作成とデュアルスタック転送の有効を可能にする AWS SDK for Java 使用コードは次の通りです。

AmazonS3Client s3 = new AmazonS3Client();
s3.setS3ClientOptions(S3ClientOptions.builder().enableDualstack().setAccelerateModeEnabled(true).build());

大半のアプリケーションとネットワークスタックは自動的に IPv6 の使用を好む傾向があるので、これ以上の設定は必要ありません。IPv6 アドレスと併せて使用する上で機能動作に問題がないことを確認するため、パケットの IAM ポリシーを見直すことをお勧めします。詳しくは「IPv6 を使用して Amazon S3 にリクエストを送信」をご覧ください。

テストを忘れずに
AWS リージョンへの IPv6 接続に制限があったり存在しない場合は、代わりに IPv4 が使用されます。以前公開したブログでも触れましたが、IPv6 をサポートするようにクライアントシステムを設定することができます。ただし、その場合は IPv6 パケットをインターネットにルートするように設定していないネットワークに接続する必要があります。こうした理由から、IPv6 に切り替える前に何らかのアプリケーションレベルで行うエンドツーエンド接続のテストを行うことをお勧めします。

Jeff;