WafCharm で Log4j2 の脆弱性に備えるための対応手法について

記事タイトルとURLをコピーする

営業部 佐竹です。
Apache Log4j2 の脆弱性 "CVE-2021-44228" に関連して、WafCharm をご利用されているお客様への対応方法をお知らせします。

はじめに

WafCharm について

f:id:swx-satake:20200807190454p:plain:w200

WafCharm は、サイバーセキュリティクラウドが提供する AWS WAF の運用を支援するサービスで、AWS WAF の運用の運用負荷を下げることが可能となります。

構成図等は以下のブログ記事でご紹介しておりますので、よろしければご覧ください。

blog.serverworks.co.jp

Apache Log4j2 の脆弱性 "CVE-2021-44228" について

以下の通り、AWS はこの脆弱性についての対応方法をアナウンスしております。

blog.serverworks.co.jp

この中で AWS WAF についても触れられており、AWS の利用者側で任意に攻撃をブロックする設定を追加可能となっています。

WafCharm で Log4j2 の脆弱性に備えるための対応手法

結論としては、以下の2つの対応が可能です。

  1. AWS WAF の「マネージドルールグループ」で Log4JRCE を利用する
  2. WafCharm のサポートに連絡を行い、WafCharm 側でルールを作成・追加して貰う

AWS アカウントを操作可能で、かつ即効性が必要な場合は AWS WAF 側の機能で対応する方がスピーディです。AWS WAF の運用を全面的に WafCharm へ依頼している場合は、エスカレーションを行ってください。

前者は WafCharm と AWS WAF のマネージドルールグループとを併用する方法となりますが、どちらも WafCharm サポートに確認を取っており問題なく動作する対応手法となります。

それぞれの詳細は以下になります。

AWS WAF の「マネージドルールグループ」で Log4JRCE を利用する

今回追加された WAF のルールである「Log4JRCE」は、「AWSManagedRulesKnownBadInputsRuleSet」に新しく追加された Log4j2 の脆弱性に対応するための新ルールです。これを有効化していきます。

f:id:swx-satake:20211212125029p:plain
Web ACLs

AWS WAF のマネジメントコンソールを開き、「Web ACLs」を選択します。次にリージョンを変更します。AWS WAF のコンソールはデフォルト US East で表示されるため注意してください。

東京リージョンの場合は「https://console.aws.amazon.com/wafv2/homev2/web-acls?region=ap-northeast-1」を URL から直接開いていただいても問題ありません。

f:id:swx-satake:20211212125607p:plain
Add rules

表示された Web ACL から変更が必要な ACL を選択し、詳細画面を表示します。その後「Rules」タブを表示し、「Add rules」を押下してください。表示されるメニューから「add managed rule groups」を選択して押下します。

f:id:swx-satake:20211212130648p:plain
Web ACL rule capacity units used

なお、Web ACL はそれぞれ 1500 キャパシティユニット以下に収める必要があります。Rules タブの下部にある数字が既に 1300 を超えている場合は、この後の追加設定でエラーになってしまいます。このような場合は、WafCharm サポートへのエスカレーションを検討してください。

f:id:swx-satake:20211212125902p:plain
AWS managed rule groups

「Add managed rule groups」の画面が開いたら最上部にある「AWS managed rule groups」のペインを開きます。

f:id:swx-satake:20211212130127p:plain
Known bad inputs

その中から「Known bad inputs」を探して「Add to web ACL」を有効化した後、表示される「Edit」ボタンを押下します。

f:id:swx-satake:20211212131708p:plain
Edit rule

バージョンはデフォルトのままで問題ありません。そしてこのルールグループは「Capacity を 200 消費」します。よって先に記載した通り既に 1300 を超えている場合には追加頂けません。

Log4JRCE がルール一覧に存在することが確認できたら、そのまま「Save rule」を押下していただいて問題ありません。右端にある「Count」のスイッチは、有効化するとそのルールを個別にカウントモードとすることが可能です。ただし、カウントモードは有効時に「ブロックせずカウントだけ行う」モードで、これを有効にすると攻撃のブロックが行われないため有効化する必要はありません。ブロックを行いたい場合は有効化してはいけません。

今回、弊社で設定を行った環境では Log4JRCE のみを有効化したかったため、他のルールを全てカウントモードにしてあります。

f:id:swx-satake:20211212132113p:plain
Rules

設定が完了したら、ルールの一覧に「AWS-AWSManagedRulesKnownBadInputsRuleSet」が表示されているか確認します。必要があれば「Priority」を調整してください。

WafCharm のサポートに連絡を行い、WafCharm 側でルールを作成・追加して貰う

WafCharm のサポート窓口にエスカレーションを行うことでカスタマイズルールの追加を依頼することが可能です。注意点としては、WafCharm の契約プランがビジネス以上であれば無償ですが、エントリーであれば有償対応となります。

弊社を通して契約いただく場合、基本的にはビジネス以上でご契約いただいておりますため、無償対応が可能です。

実際に Log4JRCE でブロックされたリクエスト

実際に「AWS-AWSManagedRulesKnownBadInputsRuleSet」における「Log4JRCE」でブロックされたリクエストのログが既にありましたのでご紹介します。

f:id:swx-satake:20211212132930p:plain
Log4JRCE によるブロック

${jndi:ldap:// から開始されたリクエストがロシアからあり、これを AWS WAF にてブロックできていました。

まとめ

本ブログでは、Apache Log4j2 の脆弱性 "CVE-2021-44228" に関連して、WafCharm をご利用されているお客様への対応方法をお知らせさせて頂きました。具体的には以下の通りです。

  1. AWS WAF の「マネージドルールグループ」で Log4JRCE を利用する
  2. WafCharm のサポートに連絡を行い、WafCharm 側でルールを作成・追加して貰う

上記、どちらの対応方法でも対応が可能です。特に本ブログ記事では AWS WAF における「マネージドルールグループ」の設定方法について詳しく記載いたしました。

本脆弱性に関連して、何か心配事や懸念点、対応について気になることがあれば、遠慮なく担当営業、エンジニア、もしくはサーバーワークスサポート窓口までご連絡ください。

では、またお会いしましょう。

佐竹 陽一 (Yoichi Satake) エンジニアブログの記事一覧はコチラ

マネージドサービス部所属。AWS資格全冠。2010年1月からAWSを利用してきています。2021-2022 AWS Ambassadors/2023-2024 Japan AWS Top Engineers/2020-2024 All Certifications Engineers。AWSのコスト削減、最適化を得意としています。