KDL BLOG
5月某日、社内向けのハードニング競技会「KDL-Hardening」を開催しました。
Hardening(ハードニング)とは、脆弱性の潜むシステムを堅牢化することを意味します。ハードニング競技会では、文字通り、システムをいかに「堅く丈夫にできるか」を競います。
システムをリスクから守ることは、そのシステムを使用するビジネスを継続・発展させることにも繋がります。企業のDXやデジタル事業創出を支援するKDLでは、お客様に安心してお使いいただけるシステムをご提供するため、開発者全員にセキュア開発トレーニングの受講を義務付けるなど、開発者がセキュリティを学ぶための機会を大切にしています。
中でも、Hardening Projectが主催するセキュリティ堅牢化の競技会「ハードニング競技会」にも2017年より協賛、多くの社員が出場メンバーとして参加しています。
「KDL-Hardening」は、セキュリティを実践的に学べる機会を社内でも増やそうと、「ハードニング競技会」への参加経験を持つ社員がその経験を活かして企画。今回は、KDLの開発案件でもよく利用するクラウドプラットフォーム「AWS(Amazon Web Services)」環境だけにぎゅっと絞って堅牢化を競うイベントとして開催しました。
イベント当日の様子や社内ハードニング競技会を開催して感じたことをご紹介します。
「KDL-Hardening」開催レポート
「KDL-Hardening」運営の閑戸です。競技会当日について、競技内容や当日の様子を中心にレポートいたします。
競技内容
予め参加者を募り、チーム対抗戦で、AWS環境をいかに堅牢化できるかを競っていただきました。競技用の環境は、SNSの投稿機能を持つWebサービスで、バックエンドでECS、S3、RDSなどのAWSサービスが動いています。
競技内容としては、AWS Security Hubの「AWS 基礎セキュリティのベストプラクティス」の基準でチェックポイントを配置し、下記の3つの観点でスコアをつけ、合計スコアの高さを競いました。
- チェックポイントの基準を満たしているか
- サービス稼働が継続しているか
- 途中の追加指示に対応したか
AWS Security Hubは、「AWSの環境に対して適切なセキュリティ設定が行われているか」を評価し、セキュリティに関するアラートをまとめて表示するサービスです。その評価基準はいくつかあり、その内の1つが「AWS基礎セキュリティのベストプラクティス」です。
今回配置したチェックポイントは、例えば「コンソールパスワードを使用するすべての IAM ユーザーに対して MFA を有効にする必要があります」など、ベストプラクティスの中でも優先度が高いものを中心に、様々なサービスに触れられるようバランスを考慮しながら選出いたしました。
競技中はサービスを運用し続けることも加点要素であるため、ベストプラクティスの提案に則り設定を変更したことでサービスが止まることも起こり得ます。そのため参加者は、「この設定を変更することで、サービス稼働に影響がないか?」と考慮する必要があります。また、「投稿した時間が9時間ずれているから修正して」といったAWSに直接関連しない追加指示の対応もスコアに影響するため、対応するかどうかの判断が必要です。
競技会当日の様子
開催日を2日設けて実施、約20名が参加しました。どちらの開催日も、1時間の競技を2セット行いました。まず1回戦を実施した後に、堅牢化のポイントを解説し、1回戦と同じ環境で2回戦を実施するという形式です。
競技中はみなさん真剣に取り組まれており、どの回もかなりの接戦となりました。解説時も実際の業務での運用について質問が飛び交うなど、参加者の方々には積極的にご参加いただけました。
競技内において、AWS Security Hubのベストプラクティスの中でも、サービスと関係がない提案に時間をかけてもスコアには反映されません。また設定作業に数十分を要するものや、設定をそのまま行うとサービス運用に影響が出るプラクティスもあります。堅牢化を行うことが目的ですが、堅牢化を行おうとしてサービスの稼働を止めると本末転倒であり、設定変更による影響範囲を特定するのも重要な要素でした。
参加者の方々は一筋縄ではいかない環境に苦戦しながらも、楽しまれているように見えました。
開催してみての感想
AWSに詳しくない方から業務で使っている方まで、様々な方にご参加いただきましたが、皆様がチーム内で協力して真剣に取り組まれている姿が印象的でした。競技会の内容についても、まずは何も見ずに1回戦を実施し、解説を挟んで同じ環境下で2回戦を実施する形式は好評の声が多く、嬉しかったです。
こうしたイベントに運営参加するのは初めてでしたが、一からイベントを作りあげていく経験は貴重でとても楽しかったです。AWSについても私自身は普段触る機会がなかったので、今回のイベントで幅広いAWSサービスや、セキュリティのベストプラクティスに触れることができたので良かったです。 また「KDL-Hardening」の運営側で参加したいです!
閑戸 理帆
デジタルビジネス本部 Technical Service(VAT)チーム所属
KDL Hardening 実行委員長 松田より
「KDL-Hardening」を開催してみて、思った以上に点数高かったなと思いました。今回はベストプラクティスを実践することがテーマだったのですが、KDLの社員はできているんだなと改めて思えた結果で、非常にうれしかったです。
しかしながら、点差はつきました。今回、AWS上で、あるWebサービスを動作させており、そのサービスが動いている限りは、点数が勝手に伸びていく(AWS環境の設定を堅牢にするとさらに点数が伸びる)形式でした。実は、あるチームではそのWebサービスが止まってしまったんです。止まってしまう原因のひとつに、ネットワーク設定を強化し過ぎることでサービスにアクセスできなくなってしまうケースがあります。
本番環境でこのようなことをすると、お客様に損害が発生してしまいます。これこそ、「KDL-Hardening」を開催してよかった点だと思います。つまり、失敗が許される環境で実践できたことです。
できたことも、やらかしてしまったことも、座学では得られない体験をしてもらえたかなと思います。引き続き、シナリオを変えて第二回も実施していきたいと思います。
松田 康司
デジタルビジネス本部 生産技術チーム、PSIRT所属