🛡️

Micro Hardening v2に参加した話

2022/05/21に公開約3,200字

概要

2022/5/21(土)に開催されたMicro Hardening v2に参加してきました!

https://microhardening.connpass.com/event/246367/
熱が冷めないうちに、感想などをアウトプットしたいと思います。

Micro Hardeningとは?

Micro Hardening は「衛る技術の価値を最大化することを目指す」プロジェクトであるHardening Projectから生まれたサブプロジェクトです。「セキュアなハードニングをカジュアルに競技形式で学ぶ勉強会」であるMINI Hardening Projectよりもさらにカジュアルに「ゲーム感覚で」サイバー攻撃に対処する能力を磨くことを目指しています。

connpassページから引用させていただきましたが、上記の通り稼働しているサービスに対するハードニング(堅牢化)の精度を競う競技会となります。
本家Hardening Projectをカジュアル寄りにしたこともあり、Micro Hardeningは45分間の競技時間を複数回実施する、という形になっており参加のハードルはかなり下げられていると思います。
今回守る対象はECサイトであり、自動でアクセスしにくるクローラが正常に買い物をしてもらえるようにECサイトの安定稼働を実施していきます!

自分のスキル

普段は、IT会社でLinuxサーバーの構築や運用しています。
最近はAWS案件が増えてきたので資格取って、AWSでの構築したりKubernetesも勉強したりしてます。
セキュリティ知識に関しては、攻撃の種類やどういったもので防ぐのか[1]ということを理解しているレベルです。
Hardening Projectの参加経験は、下記のMINI Hardening Projectに一度参加しています。

https://minihardening.connpass.com/event/235276/

当日のタイムテーブル

当日はこのようなタイムテーブルで競技が行われました。
なお、実際に体験してみると、45分間の競技時間はあっという間に過ぎ去っていきます。

時刻 内容
08:45 オンライン会議オープン
09:00 説明開始
10:30 1セット目
11:15 30分インターバル
13:00 2セット目
13:45 30分インターバル
14:30 3セット目
15:30 振り返り会

今回実施した対応

事前準備

今回は、競技前日までチームメンバーと会話ができず、チームビルディングの準備が足りなかったと言わざるを得ないでしょう……
結局、メンバーと初めて会話できたのは前日の20時付近となってしまいました。
その際に各自のHardening経験の有無を確認したところ、経験者は私だけだったため想定される攻撃手法について記憶の限り洗い出して、チャットで共有しました。

この情報共有によって、ある程度対策するべき箇所のあたりがつけられたかと思われます。
その後は、各自必要なコマンドの情報収集などを行いチャット上に貼り付けて行きました。
私は競技環境で使用されるソフトウェアの設定方法が不明瞭だったため、手順の確認とECサイトへのWAFの導入方法をテキストにまとめていきました。

ある程度情報収集が済んだあと、深夜1時には寝ようとベッドに入ったのですが、寝付けなかったため結局朝6時くらいまで情報収集をしていました……(一応その後で2時間ほど眠りました)

本番

本番ではチーム3として参加して、メンバーは私を含めて3人でした。

1セット目

私が対応した内容

  • 不要ユーザの無効化、削除
  • ファイアウォールの有効化
  • ECサイトのミドルウェアのアップデート対応

反省点

ファイアウォールの設定をミスしてしまい必要な通信をブロックしてしまった

2セット目

私が対応した内容

  • 1セット目と同様の内容
  • ECサイトのページ改ざんを確認したので、元ファイルへの戻し

よかった点

1セット目のファイアウォールの設定ミスを修正して、適切な通信制御ができた

3セット目

私が対応した内容

  • 1セット目と同様の内容
  • ECサイトにWAFの導入
  • ECサイトの管理者ページへのアクセス制御実装
  • ECサイトの管理者アカウントパスワード変更

よかった点

ECサイトにWAFを導入して、2セット目とくらべて攻撃を倍防げていた

反省点

WAFのルールが厳しすぎて、おそらく通常のリクエストもブロックしてしまっていた

終了後

競技終了後は、チームメンバー同士で健闘をたたえながら振り返り会へと参加していきました。
振り返り会では、講師の川口洋さんからITエンジニアとして基本ではあるが大事なことを改めて周知いただきました。
やはり、普段から出来ていないことを急にやろうとしても出来ないので、雰囲気だけで作業をするのではなく常日頃から下記の点は意識しておくことが重要だと感じました。

  • 作業内容の記録
  • 作業状況の共有
  • 環境の戻しを出来るようにしておく
  • プロセス、ログの監視

競技結果

スコア推移

各セットでのスコアの推移はこちらの通りです。
1セット目が初見なので低くて2セット目以降はかなり向上していますね。
3セット目はWAF導入のため、サービス停止時間が長めになってしまいポイントが稼げませんでした……

スコア表 ※掲載許可貰い済み

私はチーム3で参加していました。
チーム1,2は経験者チームなだけあって圧倒的ですが、2セット目以降はそこそこ喰らいつけたと自負しています!

感想

前回のMINI Hardeningの参加時には出来なかったこと[2]を、今回は実施出来たので多少は成長できていたのかな、と思えました。
とはいえ、経験者チームには遠く及ばぬ結果ではあるため、自己研鑽を続けていくことは必要だと強く感じました。

全体の反省点としては下記の点がありました。
他にもあるはずなので、作業ログを見返して自分をもっと磨いて行きたいと思います。

  • WAF導入手順がほぼネット記事のコピペ(検証環境で試してはいましたが)
  • ログの監視がおろそか(他のメンバーが随時見て共有してくれたので助かりました)
  • バックアップを誰が取るかの役割分担ができていなかった
  • チームビルディングが不十分(事前にキックオフなどしておくべきだった)

最後に、Micro Hardeningを運営いただいている株式会社 川口設計の川口 洋さんに深くお礼申し上げます。

チームメンバーの参加レポート

https://poppycompass.hatenablog.jp/entry/2022/05/21/235305
脚注
  1. Webアプリケーションの攻撃にはWAFを導入~とか ↩︎

  2. 環境へのWAF導入 ↩︎

Discussion

ログインするとコメントできます