パッチ適用の時間を短縮する「自動化」について解説する連載。初回は、脆弱性を突かれた企業がセキュリティパッチを適用できなかった理由、「そもそもパッチ適用作業とは何をするものなのか」を整理します。パッチ適用全体を管理する業務「パッチマネジメント」と、その自動化がもたらす効果についても解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Emotetの猛威が収まりません。2014年に初めて観測されたマルウェアではありますが、攻撃手法を巧妙に変化させることによって、過去何回かの流行を繰り返し、最近新たな流行傾向を示しています。
トヨタ自動車の子会社がランサムウェア攻撃を受け、トヨタ全体が操業停止に追い込まれた事件は記憶に新しいところです。このようにマルウェアの脅威によって、サプライチェーンに大きなダメージが発生すると、一企業の被害にとどまらず、この企業が属するサプライチェーン全体や、最悪世界経済に悪影響を及ぼす事態をわれわれは経験してきました。
企業の存続を脅かす、このような外部からの攻撃はセキュリティ上の脆弱(ぜいじゃく)性(*)を突いたものが多く、セキュリティパッチを適用していれば防ぐことができます。その意味でセキュリティパッチ(以下、パッチ)をタイムリーに適用することは、企業のセキュリティ対策にとってますます重要になってきました。
(*)「脆弱性」とは広義にはサイバーセキュリティを脅かすセキュリティホール全般を意味することがありますが、本稿ではサーバのOSやミドルウェア、ネットワーク機器のファームウェアなどの脆弱性を指すことにします。
では、脆弱性を突いた攻撃で被害に遭った企業は、なぜパッチを適用できなかったのでしょうか?
被害に遭った企業にはそれぞれの事情があり、それらを「無知」「怠慢」といったキーワードでくくって彼らを非難することは、いささか生産性を欠く議論ではないかと筆者は考えます。一般論としてパッチの適用を難しくする課題を検討し、その課題の対策を考案することが、問題解決の本質と認識し、分析を試みることにします。
まず、企業の情報システム部門の担当者になったつもりで、パッチ適用を難しくする要素を幾つか洗い出してみましょう。
・パッチ適用の準備に時間がかかる
サーバごとに対策すべき脆弱性が異なり、故に適用するパッチが異なります。対策しなければならない脆弱性がどれとどれで、適用するパッチがどれとどれか、適用する順番や手順はどうなっているのかなどをパッチ適用前に調査、準備しておく必要があります。サーバの種類およびバージョン、サーバの台数が多くなると調査、準備にかかる時間も増大します。
・本番環境への適用前に事前の試験が必須
パッチをいきなり本番環境に適用することは避けるべきです。なぜなら、パッチ適用後にアプリケーションなどが正しく動作するかどうか保証されないからです。試験環境でパッチ適用後のシステムの動作を検証し、本番環境での適用作業をリハーサルし、作業時間を測定することはシステム運用における重要なタスクです。
・パッチ適用作業に時間がかかる
いよいよ本番環境でのパッチ適用作業になりますが、パッチ適用作業の中に、事前のバックアップや適用後の動作確認も含めると、かなりの時間を要します。
上記の他、業務の性格上、停止が難しいシステムでは、「そもそもパッチ適用ができる機会が少ない」という理由もあるかもしれません。
先に挙げたパッチ適用を難しくする要素はいずれも、「時間がかかる」ことに起因します。さまざまな業務を担うシステム運用現場では日常業務に追われ、時間がかかるパッチ適用作業を高い頻度で実施するのは大変難しい状況なのではないかと推察できます。従ってパッチの適用作業にかかる時間を短縮することが、パッチ適用の実施率を向上させるために有益だろうというのが筆者の考えです。
本連載ではパッチ適用の時間を短縮する「自動化」というテーマについて解説します。初回は、自動化を語る前に、「そもそもパッチ適用作業とは何をするものなのか」を整理します。そのため、パッチ適用全体を管理する業務「パッチマネジメント」について理解を深めたいと思います。
パッチマネジメントとはシステムを構成するサーバのOS、ミドルウェアおよびネットワーク機器の脆弱性を特定し、それらのセキュリティパッチを適用することで脆弱性を修正し、セキュリティリスクを低減する一連の作業を管理することです。従ってパッチマネジメントの目的は、セキュリティリスクを低減し、システムを健全に運用することに尽きます。
それでは、パッチマネジメントを主な工程ごとに分類して、その実施内容を確認していきましょう。
・脆弱性の調査
システム内のサーバおよびネットワーク機器に存在する脆弱性を調査します。調査には脆弱性スキャナーを利用するのが一般的です。また、セキュリティ専門会社が提供するセキュリティ診断サービスを利用するとエンドユーザーの作業負担を軽減できます。
・パッチの特定
調査で発見された脆弱性を修正するパッチを特定します。脆弱性個々には共通脆弱性識別子(CVE:Common Vulnerabilities and Exposures)という管理番号が付与されており、その管理番号を調べると影響を受けるソフトウェアやファームウェアの情報とパッチの情報が分かる仕組みになっています。
これらの情報をインプットとして、管理しているシステムのおのおののサーバやネットワーク機器でどのパッチを適用すべきなのかを検討します。
・パッチ適用の準備
適用するパッチが特定できたらその依存性を確認し、適用する順番を決定します。次に、パッチ適用手順を確認し、手順書を作成します。
・試験環境での事前調査
試験環境でパッチを適用し、その後のシステムの動作を確認します。動作確認に問題がなければ本番環境への適用が許可されます。ここで重要なのが、試験環境と本番環境のシステム構成、ソフトウェアのバージョンなどのパッチの適用状況が同じということです。これらに相違があると事前調査の動作確認の精度が下がり、本番環境にパッチを適用した際に問題を起こす可能性が高まります。
・本番環境への適用
いよいよ本番環境に適用します。この工程には本番環境のバックアップ取得、パッチ適用後に万が一問題が発生した場合の切り戻し手順の確立も含まれます。
これらの一連の作業がパッチマネジメントで、これらを定期化し、実施のたびに作業品質を向上させていくのがパッチマネジメントサイクルです。システムのセキュリティリスクを一定水準に抑え込むために非常に重要です。また、一連のパッチマネジメントの作業内容および管理者による承認行為などを記録し証跡を残すようにしてください。
パッチマネジメントでどのような自動化が考えられるか見ていきましょう。
脆弱性スキャンの自動化としてスケジューリング機能やスキャン結果の自動集計などが挙げられます。
脆弱性スキャンのスケジューリングでは、システムの稼働率が比較的低い時間帯に自動的にスキャンされるよう設定します。また、スキャン結果を自動的に集約し、レポートやダッシュボードを使ってサーバごと、危険度ごとにリスクレベルを可視化し、今後のパッチ適用作業の優先順位付けを支援することが可能になります。
このような脆弱性スキャン自動化には、一般的に脆弱性管理製品を導入するのがよいでしょう。
試験環境を毎回一から構築することはありませんが、パッチ適用を試験するために新規にサーバを構成する場合もあります。そのような場合は、システム構築を自動化することで、システム環境を毎回同じレベルに合わせ、短時間でシステムを構築できます。
システム構築の自動化にはCI/CDツールを使うのがよいでしょう。CI/CDとはContinuous Integration/Continuous Deliveryの略で、継続的インテグレーション/継続的デリバリーと訳されます。ソフトウェアの変更を常にテストして自動で本番環境にリリース可能な状態にするソフトウェア開発の手法ですが、一般的にそれに使用するツールの中にテスト環境の構築を自動化するのに役に立つものがあります。
パッチ適用を自動化するツールはLinux系とWindows系で大きく異なります。Linux系にはオープンソースのソフトウェアツールないしはそれらを元にした商用ツールがあります。Windows系はMicrosoftのツールが一般的です。また、Linux、Windowsの両方を統合的にマネジメントする商用ツールもあります。
パッチ適用後のシステムの動作も自動化できます。これにはシステム構築の自動化で出てきたCI/CDツールを使います。
システムに影響を及ぼす作業を実施する場合、システム管理者に都度承認をもらう必要があります。指定様式に作業内容を記載し、システム管理者がそれに押印することで承認を確認する仕組みが散見されますが、承認フローを自動化することも今回の連載のスコープにします。
パッチマネジメントの工程 | 作業内容 | 自動化内容 |
---|---|---|
脆弱性の調査 | ・脆弱性スキャン ・セキュリティ診断サービス |
・脆弱性スキャンの自動化 |
パッチの特定 | ・発見された脆弱性のパッチ抽出 | ― |
パッチ適用の準備 | ・パッチ適用手順書作成 | ― |
試験環境での事前調査 | ・試験環境構築 ・パッチの適用 ・動作確認 |
・試験環境構築の自動化 ・パッチ適用の自動化 ・動作確認の自動化 |
本番環境への適用 | ・パッチの適用 ・動作確認 |
・パッチの自動化 ・動作確認の自動化 |
その他 | ・作業承認 | ・作業承認の自動化(ワークフロー) |
パッチマネジメントを自動化することによる効果を整理します。
・作業時間の短縮
自動化によってパッチマネジメントにかかる時間を短縮することが期待されます。短縮される時間はシステム規模が大きくなるほど顕著になると考えられます。
・サイバーリスクの低減
パッチマネジメントの目的はサイバーリスクの低減にあります。パッチマネジメントの時間を短縮することでパッチ適用のサイクルが短くなることが期待されるので、脆弱性をそのままにしておく時間が短くなり、その結果としてシステム全体のサイバーリスクが低減されます。
・作業品質の安定
自動化による効果として作業品質の安定が挙げられます。自動化によってパッチマネジメント作業の標準化、定式化が促進され、ヒューマンエラーが減少することでシステム保全の品質が安定すると考えられます。
・作業習得時間の削減
自動化することで作業手順書が簡素化され、システム保全要員が習得すべき手順が減ることによって作業の習得時間を削減する効果も期待できます。
本稿ではパッチマネジメントの重要性とパッチマネジメントを自動化することによって、サイバーリスクを低減できることを説明しました。次回以降ではパッチマネジメントの各工程で利用できる自動化についてより具体的に話を進めるのでご期待ください。
Copyright © ITmedia, Inc. All Rights Reserved.