管理を無茶振りされたサーバを守り抜け! Hardening One Remix開催:優勝は会津若松市のITエンジニア集団(2/2 ページ)
2013年7月6日と13日に分け、「守る技術」「運用する技術」を競うセキュリティイベント「Hardening One Remix」が開催された。
はやりのインシデントを反映した攻撃
競技開催の1週間後に行われた「Softening Day」では、Hardening Dayに参加した各チームがどういった対策を実施したかについてプレゼンテーションを行ったほか、Kuromame 6による種明かしが行われた。Kuromame 6の川口洋氏によると、用意されたセキュリティインシデントは、
- Webサイトの改ざん
- 利用規約の瑕疵に関する問い合わせ
- バックアップファイルの漏えい
- 遠隔操作ウイルス(iesys.exe)の駆除
- オープンリゾルバに関するJPCERT/CCからの警告
- 「社長」からの転送メールを装った標的型攻撃
- なりすましによる不正ログイン
など。最近はやりのセキュリティインシデントをふんだんに盛り込んだ内容だ。
例えばWeb改ざんでは、Kuromame 6側はWebminやphpMyAdmin、WordPress、EC-CUBEなどの「管理画面」を入り口にしていた。こうした管理画面は実際の攻撃でも使われることが多い。「対応のよいチームは、パスワードを変更しておいたり、管理画面自体にアクセスできないよう、きちんと設定していた」(川口氏)。
また、オープンリゾルバに関する指摘や利用規約の瑕疵(かし)に関する問い合わせ、バックアップファイルの漏えいといったインシデントでは、設定変更などの直接的/技術的な対応だけでなく、適切なコミュニケーションや情報提供ができているかどうかも評価の対象となった。
例えば、利用規約に含まれている矛盾した文面についての問い合わせに反射的に対応していいのか、社長や法務担当者に連絡、確認しなくてもいいのか。ウイルスが検出された場合、駆除するだけでなく、IPAなどの関係組織に届け出を行う必要はないか。バックアップファイルが公開された状態になっており、顧客情報が漏えいした可能性がある場合、そのファイルをただ消すだけでなく、顧客への告知、アナウンスを行う必要はないか……いずれも、現実の世界でサービスを提供している場合に直面する問題であり、適切な情報提供が求められるシーンだ。
やってくるメールに対応するだけでなく、能動的にECサイトの表記をチェックし、「特定商取引法に基づく表記がなされておらず、法令違反ではないか」と踏み込んで提案するチームもあった。「ビジネスは技術力だけではない、と証明してくれた」(川口氏)。
なお、実は、StarBED側の接続障害が原因となり、チームA「bitter One」が、自チーム用のサーバと勘違いしてチームB「Whity」のサーバにログインし、乗っ取ってしまうハプニングも発生しており、Kuromame 6側が「申し訳ございません」と頭を下げる一幕も。サーバを乗っ取られていたWhityは、当初は設定ミスとは知らず「さすがHardening、聞きしに勝る厳しさだ」と感じていたという。
「知っている」と「できる」の違い
各チームとも、事前にどんな攻撃が来るかをある程度予想し、役割分担や作戦を準備していたという。中には、標的型攻撃は必ず来ると予想し、アンチウイルスソフトやホスト型IDSなどを持ち込んでいたチームもあった。
Softening Dayのプレゼンテーションによると、各チームが取っていた主な対策は、
- 管理者用パスワードの変更
- OpenSSHの設定変更(パスワード認証を無効に)
- 不要なサービスの停止
- iptablesの変更によるアクセス制御
- データのバックアップ
といった事柄だ。いずれも基本中の基本といえるだろう。
ただ、競技の中で手を動かすことで、複数のチームが「知識として知っていること」と「実際にできること」の違いを実感できたと述べていたのが印象的だった。セキュリティ業務の担当者らで組織したチームの1つは、「普段はユーザーに対し、簡単に『アップデートしてください』『設定を変えてください』と言っているけれど、実際にやってみるのは大変だと実感した」という。
「普段使い慣れている便利なツールだけでなく、基本のコマンドを使いこなせるようになっておきたい」と振り返る声もあった。
というのも、設定変更により、サービスに障害が生じてしまったシーンもあったからだ。例えば、iptablesをガチガチに設定しすぎて、メンテナンスのためのログインすらできなくしてしまったり、負荷分散のためのプロキシサーバであるPoundを誤って停止させ、自分でWebサービスが見えない状態にしてしまったり、あるいはオープンリゾルバ対応のため、せっかくDNSサーバであるBINDの設定ファイルnamed.confを変更したのに、再起動を忘れて変更が反映されなかったり……実サービスではできない失敗を体験できたことが、貴重なノウハウにつながったようだ。
一方で、見事に普段の業務経験を成果に反映させたチームもあった。例えば、ソーシャルゲーム企業から参加したチーム「ぐるーす」は、セキュリティ面での対策に加え、Webサーバ側のkeep-alive設定を変更するなどのパフォーマンスチューニングを実施。さらに、3台あるWebサーバの性能差を把握した上で負荷分散の重み付けを行い、売り上げ拡大に向けた手を打っていた。同チームは「サイトを止めないことが一番大事」とコメントしており、普段からの可用性やパフォーマンスへのこだわりが具現化された形だ。
また、ファイアウォールとWebサーバの間にロードバランサを配置していると、Webサーバ側のログには元々のIPアドレスではなく、ロードバランサのIPアドレスが記録されてしまう。これも、普段からこうした環境に慣れているチームでは、Apacheで取得するログ内容やロードバランサのログレベルをさくっと変更し、本来のアクセス元を記録していたようだ。
「普通の対応」こそが難しい? 優勝はTeam EJ
さて、8時間の激闘の末に優勝を飾ったのは、福島県会津若松市のITエンジニア集団で結成した「Team EJ」だった。ロシアで行われた「Positive Hack Days 2012」や「SECCON 2012」などのCTF経験者、2名を含むチーム構成で、高い見込み販売力を達成した。
Team EJは、不要なサービスの停止やデーモンプロセスの定期的なチェック、アプリの最新版へのアップデートといった基本的な対策をこなしつつ、Web改ざんなどKuromame 6が仕掛けてくる攻撃に対処。その中で、Kuromame 6も気付いていなかったEC-CUBEの画像表示に関するバグ(残念ながら採点対象には入っていない)まで発見し、修正するなど、きめ細かい対処を行っていた。
Team EJはまた、顧客や社内向けの「対応力」も全チーム中1位だった。ピン枠として参加した技術者は「普通の対応をしただけ」というが、メールを適宜チェックし、社内ポータルに記された規定と照らし合わせながら、適切に問い合わせに対応していたことが評価された。
「CTFは攻撃者の視点に立って進めるものだが、Hardening One Remixではいかに安定して運用するか、いかに守るかに注力することになる。CTFでは時に、設定がやや非現実的になることもあるが、今回の取り組みは業務に生かせるという意味でいい経験だった」(Team EJ)。
力及ばず入賞を逃したとはいえ、大阪から車で8時間かけて会場まで乗り込んできた「TEAM GTGT」、競技終了後、「ああすれば、こうすれば」と家に帰っても一睡もできないくらい悔しさがこみ上げてきたと語った「333」など、各チームとも全力を尽くしたことが伺えた。次回の開催は未定だが、参加者の中からは「8時間では足りない。できれば2日間、あるいは72時間で!」という声も上がっていた。
関連記事
- Hardening One、8時間に渡る戦いの結果は?
- そのときStarBEDが動いた――「Hardening One」の夜明け前
- 実録、「Hardening Zero」の舞台裏
- 運用に焦点を当てたセキュリティ競技大会「Hardening Zero」
関連リンク
Copyright © ITmedia, Inc. All Rights Reserved.