原田です。今回は2年前にMy Subversionサービスをリニューアルし、その後運用しながら見直しを行っているAWS WAFのルールについてご紹介します。
以前にブログでも紹介しましたが、My Subversion(本サービス)は2023年11月15日にサービスをリニューアル、ようやく2年になります。リニューアル後に微調整等はありましたが、大きな問題もなく安定稼動を続けています。お客様に本サービスが提供できている大きな要因の一つはWAFのおかげであると私は思っています。
本サービスは世界中(大半は日本)から様々なリクエストを受信しますが、WAFを介して不正なリクエストを判定・ブロックして発信元に403 Forbidden
を返しています。本音を言うと、403エラーを受け取った発信元にはリクエストの再試行を諦めていただきたいのですが、実際には何度もリクエストを受信している状況です。
現在、本サービスのWAFではいくつかのAWSマネージドルールと当社作成のルールを混在させています。当社作成のルール(一部)をご紹介します。
HTTPリクエストにおいてクライアントがアクセスしようとしているサーバーのドメイン名とポート番号をHostヘッダーに指定しますが、ドメイン名から割り当てられているIPアドレスを探し出しIPアドレス指定でサーバーにアクセスすることも可能です。
作成したルールでは、本来指定すべきドメイン名以外を指定するリクエストをブロックします。
DDoSやブルートフォース等のサイバー攻撃を防ぐため作成したルールです。 以下の条件に該当するリクエストをブロックします。
参考: AWS WAF でアクセス数が一定回数を超えた IP アドレスを自動的にブラックリストに追加させる方法
本サービスでは次の3つの機能(コンテンツ)をご利用頂くことができます。
これらの機能はそれぞれ異なるURIパスで提供しています。作成したルールでは、これらURIパス以外のアクセスをブロックします。
参考: AWS WAFで特定のURI以外をブロックしてボット対策をする
WAFで不正なリクエストをブロックすることで、ALBの設定(リスナールール)が正規のリクエストに対する設定だけで良いのでメンテナンスが楽になります。今後も新たに発生する不正なリクエストに対しては、WAFにルールを作成しブロックしていきたいと思います。
![]() |
AWS WAFを使用して良かった点を紹介します。 |
![]() |
Kaigi on Rails 2025 にオンラインで参加しました。どのセッションも実務に役立つ内容で、とても面白かったです。 |
![]() |
Apple PayのSuicaを改札機にタッチして新幹線に乗ってみました。きっぷの発券が不要で紛失の心配もありません。 |
![]() |
Redmineのブース出展と次期バージョン Redmine 6.1 新機能について講演しました。 |
![]() |
台湾のCOSCUP 2025にRedmineコミュニティとして参加。ブース出展と英語発表を通じて、多様なRedmineユーザーと交流しました。 |
![]() |
【AIがRedmineのチケットを要約】チケット内容が瞬時に分かる新機能「AIチケット要約」をMy Redmineで提供開始! Redmineのクラウドサービス『My Redmine JP Edition』で、チケット内容を要約する新機能「AIチケット要約」が使えるようになりました。 |
![]() |
RubyWorld Conference 2025 (11/6・7開催) にPlatinumスポンサーとして協賛 2025年11月6日(木)〜7日(金)に島根県松江市で開催される「RubyWorld Conference 2025」にPlatinumスポンサーとして協賛しています。 |
![]() |
Redmineの最新情報をメールでお知らせする「Redmine News」配信中 新バージョンやセキュリティ修正のリリース情報、そのほか最新情報を迅速にお届け |