Managed Service Column <システム運用コラム>

クラウドのセキュリティを担保するための考え方を、クラウド機能の活用例を交えて解説!

Category: 運用設計編

2021.06.25

はじめに

個人情報の漏洩などのニュースを見聞きすることもあるかと思いますが、企業が持つ機密情報は、個人情報はもちろん、その企業が独自に開発した技術やノウハウであったり、営業上の情報などさまざまなものがあります。コンピュータやインターネット回線の性能が上がり SNS などが普及した今となっては、このような機密情報がひとたび外部へ漏洩すると、あっという間に拡散してしまうことが避けられません。

では各種システムは、セキュリティを考慮してどのように構築し運用すべきなのでしょうか。

最近は多くの企業が AWS、Azure、GCP などのパブリッククラウドを活用してシステムを作っています。クラウドを利用する場合、特にワーム・ウイルス、誤操作、管理ミスといった原因での情報漏洩に対してしっかり対策を考える必要があります。当社がサービス提供させていただいているお客様の傾向からも、最近はクラウド利用を前提としつつセキュリティも担保するという考え方が多くなっているように思います。

そこで今回は、「クラウドを活用しながらも企業の機密情報をいかに守るか」という視点で、セキュリティ対策として何を考える必要があるかまとめてみます。

クラウド利用時のセキュリティの基本的考え方

オンプレミスとの違い

ここでは、比較するクラウドとして、AWS、Azure、GCP 等のパブリッククラウドを前提として考えます。セキュリティという視点で明らかにオンプレミスと異なるのは、まずは、クラウドベンダがインフラ基盤を提供・管理するという点があげられます。

オンプレミスであれば、自分たちでネットワーク機器やサーバハードウエアを調達し、管理していく必要があります。その管理の中には、ファームウエアにセキュリティホールが見つかった場合のアップデートもあるでしょう。
クラウドであれば、この部分の管理はクラウドベンダ任せにすることができ、自分たちで対応する必要はありません。

クラウドのセキュリティを担保するための考え方を、クラウド機能の活用例を交えて解説!
クラウドのセキュリティを担保するための考え方を、クラウド機能の活用例を交えて解説!

さらに、各クラウドでは PaaS も提供しています。例えば、データベースの機能を提供する AWS の RDS、Azure の SQL Database などです。これらをシステムを構築する際の “機能” として利用する場合、その “機能” 自体に対するセキュリティ対策もクラウドベンダがやってくれます。

このように、クラウド利用においてはインフラ基盤の不具合を起因とするセキュリティ対応からは解放されるという点が、オンプレミスと比べてのメリットと言えるでしょう。

逆に、クラウドは誰もが気軽に利用できるがゆえに、セキュリティ面におけるデメリットもあります。それは次のようなものです。

  • 自社の機密情報を自社以外の場所に置くことになる
  • クラウドはインターネットからアクセスできる環境にある
オンプレミスのシステムであれば、自社内に物理的にも完全に閉じた状態にすることができますが、クラウドでは物理的な隔離はできないため、論理的な対処を行なっていくことになります。

適切なアクセス制御はユーザの責任範囲

前にも書いた通り、クラウドではインフラ基盤のセキュリティ対策はクラウドベンドに任せることができます。しかし、インフラ基盤以外の部分については、ユーザが責任を持って管理すべき領域です。

クラウドはインターネットからアクセスできる所に位置することから、特定のシステムやメンバー向けに限定した情報を置く場合はアクセス制御をしっかりする必要があります

例えば、社員間で社内限定のファイルを共有する場面を考えてみます。
これまで社内のファイルサーバを用いてそれを実現していたのを、AWS の S3 や Azure の Blob ストレージなど、クラウドのストレージを用いた仕組に切り替えようと考えた場合、どのような考慮が必要でしょうか。

これらのサービスは、インターネットからアクセスできる仕組になっています。
つまり、アクセスのためのアカウント情報さえあればどこからでもアクセスできることを意味します。
社内のオンプレミスのシステムであれば、アカウント情報があったとしても社内ネットワークにアクセスできなければ目的のファイルにはアクセスできませんが、クラウドのストレージの場合、アカウント情報があれば任意の場所から目的のファイルにアクセスできます。
オンプレミスの場合と比べてセキュリティ上のリスクが上がっていることがわかるかと思います。

もう一つ例を見てみます。
社内の情報共有のために、独自に開発した Web システムがあったとします。 クラウド上で実装されており、フロントエンドの Web はコンテナ、バックエンドの DB として PaaS を利用していたとします。 このとき、ネットワーク構成上 DB がどこからでもアクセスできる位置にあったり、DB のアクセス制御がされていなければ、フロントエンドの Web 以外からも DB に直接アクセスされうるセキュリティ上のリスクがあります

このように、誰(どのシステム)がどの情報(リソース)にアクセスできるかを制御するのは、完全にユーザの責任範囲となります。 いくらクラウドベンダがインフラ基盤のセキュリティをしっかり対応していたとしても、クラウドの設定で機密情報へのアクセスが誰でもできたり、特定のシステム向けのデータにどのシステムからもアクセスできる状態になっていたとすれば、セキュリティ上の問題になります。

セキュリティに関して、インフラ基盤に対してはクラウドベンダの責任、誰がアクセスできるようにするかの設定やデータを守るためのシステム構成設計はユーザの責任となります。 ユーザは、自身の責任範囲におけるセキュリティをしっかり考えることが重要です。

セキュリティに関してユーザが考えるべきポイント

クラウドの利用にあたって、セキュリティに関してユーザが考えるべきポイントは次の通りです。

  • クラウドコンソール自体のアカウント管理
  • システム利用者のアカウント管理
  • アカウントやアクセス元に応じた、各システムへのアクセス権管理
  • セキュリティの担保を考慮したシステムの構成設計
  • セキュリティの担保を考慮したアプリケーション設計(独自のアプリケーション開発を行なう場合)

これらのセキュリティ確保はユーザの責任ですが、各ポイントにおけるセキュリティの確保のために、クラウドが提供している機能をうまく活用することができます。
ユーザの責任範囲だからクラウドは関係ないというわけではなく、ユーザの責任範囲のセキュリティ確保に対して、クラウドの機能をツールとして活用していくことが重要です。

クラウドが提供する機能の活用例

例えば、Azure クラウドを活用した次のような社内システムがあるとします。

  • 社内にあるオンプレミスのシステムと、Azure 上のシステムのハイブリッドでシステム全体を構成している
  • 各システムのユーザは社内のみで、社外のユーザはいない
  • ユーザアカウントは社内の AD サーバで管理
  • 業務システムは A および B がある
    • * 共に社外秘の機密情報をデータに持っている
    • * 業務システム A は社内のオンプレミス
    • * 業務システム B は Azure クラウド上
    • * 業務システム A と B はデータ連携があり、定期的に通信をしている
  • 社員間のファイル共有として Azure Files を利用
クラウドのセキュリティを担保するための考え方を、クラウド機能の活用例を交えて解説!
クラウドのセキュリティを担保するための考え方を、クラウド機能の活用例を交えて解説!

ここで、ポイントとなる部分を順番に見ていきます。

1. クラウドのインターネット接続

クラウド上に配置している業務システムも社内ユーザ限定であることから、基本的にインターネット側からのアクセスは必要ありません。業務システムの各インスタンスに対するアクセスで、アクセス元を限定することが必要です。
ただし、業務システム A のセキュリティアップデートを行うために、インターネットへ出ていく通信は許可する必要があるかもしれません。このような外と中の通信を制御するために、Azure では Firewall が用意されています。

2. サブネットや仮想マシンの通信

インターネット側からのアクセスがされないからといって、社内の各システムに対するセキュリティ対策を何もしなくて良いわけではありません。
各業務システムは、機密情報を持っています。万が一、社内の他のシステムや特定の端末において、不具合があったりウイルス感染があった場合、あるいは社員による不正アクセスや意図しない操作ミスなどが業務システムへ影響を及ぼす可能性まで考慮しておく事も重要です。

今回の例では、業務システム A と B はデータ連携があり、定期的な通信をします。必要な通信は許可しつつ、業務システムの通常の使い方では必要の無い通信を遮断する、ということも考えると良いでしょう。
Azure では、サブネットや仮想マシン単位で許可する通信を制御できるネットワークセキュリティグループ(NSG)があります。

あわせて読む:Azureネットワークセキュリティグループ(NSG)とは?特徴や設定時の注意点を解説

3. 内部に閉じた通信の実現

社員間のファイル共有に Azure Files を利用していますが、業務システム同様にインターネット側からのアクセスは必要ありません。逆に、会社オフィスからアクセスができる必要があります。
このような場合、Azure では Private Link を用いることにより、完全に社内からのアクセスのみに限定した設定が実現できます。

あわせて読む:Hybrid ID 環境 + Azure Files を構築してみる

4. ユーザ管理

ユーザ管理をしっかり行なうことは、セキュリティの基本です。
いくらシステム面のセキュリティ対策をしていたとしても、システムにアクセスできるユーザアカウントの管理がしっかりできておらず、アカウント情報が第3者に知られてしまったら、そのアカウントを利用してシステムにアクセスできてしまいます。

今回の例では、ユーザアカウントは社内の AD サーバで管理しています。
このアカウントをしっかり管理し、ユーザの業務内容や責任範囲に応じてシステムのアクセス権を設定したり、退職者のアカウントはすぐに削除するなどの運用がとても大切です。

そのうえで、アカウントの設定漏れや設定間違いといったミスを防ぐという観点で、一元管理を実現することも重要です。オンプレミスとクラウドのハイブリッド環境であっても、クラウドが Azure の場合であれば Azure AD Connect を通してオンプレミスのアカウント情報をクラウドに同期させることができます。

あわせて読む:
Azure AD Connectとは?オンプレミスとクラウドの両方で使えるアカウント管理ツール
Azure AD(Azure Active Directory)とは?オンプレADとの違いや機能、エディションをわかりやすく解説

以上、4つほど例をあげましたが、これらはクラウドの機能を活用しているものの、その設定に関してはすべてユーザの責任です。これらをどう設定するかで、そのシステムのセキュリティ強度は変わります。しかし、設定をどうするかはクラウドベンダが担保してくれる領域ではないことがわかるかと思います。

しっかりとした設計をしよう

これまで見てきた通り、セキュリティを担保するためには、クラウドベンダ任せにできないユーザが考えなければならない領域があります。
クラウドでは、セキュリティに関連する機能もさまざまなものが提供されていますが、それをどう使いこなし運用していくかはユーザが考える必要があるという事はこれまでに書いた通りです。

そこで、ユーザ側に必要となるのが設計です。

システム設計で考えるべきこと

ある目的のシステムを構築・開発するために、システムの要件定義から始まり詳細設計を行なっていくのがシステム設計です。この中には、セキュリティに関する要件定義や詳細設計も含まれます。
セキュリティに関わる例をいくつかピックアップしてみます。

  • 誰が・どこから利用するシステムなのか
  • システムが保持する情報にはどのような種類のものがあるのか
  • 上記、各情報の重要度はどれくらいか
  • 当該システムのセキュリティリスクとして、どこまでを想定するか

もちろん、会社で定められた情報セキュリティ方針もあるでしょう。まず、それを満たすシステム構成にする必要があります。また、個々のシステムへのアクセス制御や、データ送受信に関する規約、バックアップ方針なども考慮する必要があります。

例えば、最重要な機密情報を保持するようなシステムであるならば、利用時の多段認証、アクセス元やユーザごとの何重ものアクセス制御、データ自体の暗号化保存等のシステム設計が必要になってくるかもしれません。

会社の方針やシステム要件を満たすために、どういうシステム構成や設定にする必要があるのか、具体的に落とし込んでいくことが重要です。

運用設計で考えるべきこと

出来上がったシステムをどういうやり方・体制で運用していくかを定義していくのが運用設計です。

どんなに良いシステム設計を行いセキュリティを十分に考慮したシステムを構築しても、システムの運用の仕方次第でそのシステムのセキュリティリスクは変わり得ます。運用設計では、以下のような項目に関して運用ルールやフローを決めていく必要があります。

  • アカウント管理
  • システムのセキュリティアップデート(パッチ適用)
  • システムの設定変更

運用に関しても会社で定められた情報セキュリティ方針に規程されているものもあるでしょう。それに則った上で、構築した個別のシステムに対して運用の仕方を決めていきます。

たとえば、アカウント管理であれば、退職者アカウントは削除する、人事異動があった場合は権限変更するといったルールの定義および誰が(どういった体制で)それを実施するかを決めておきます。
作業を実施するタイミングを決めておくことも重要です。退職者アカウントであれば、”退職時点で即座に削除する” などです。システムに不正アクセスされるリスクを少しでも減らす運用が必要です。

システムの運用を続けていると、システムの設定変更が必要な場面も出てきます。その場合も、設定作業ミスでセキュリティレベルが下がってしまっては意味がありません。
設定変更の際は、セキュリティ要件に照らし合わせて問題ないことを確認するのはもちろん、実際の設定変更後の動作確認内容や方法も運用として定義しておくことが必要です。

運用設計では、初期段階で設計・構築したシステムのセキュリティレベルを下げないような運用内容を定義することが重要です。

あわせて読む:第9回:情報セキュリティ管理とは?―運用体制構築に向けての考え方と取り組み事例

まとめ

今回は、”クラウドを活用しながらも企業の機密情報をいかに守るか” という視点で、「クラウドのセキュリティを担保する際に必要なこと、考え方」をまとめてみました。

いくらクラウドベンダがインフラに対しては責任を持ってくれるといえど、システム全体としてみた場合の最終的な責任はユーザにあるということがわかったかと思います。 ユーザの責任範囲のセキュリティをシステム的に実現するためのツールはクラウドベンダが提供してくれています。クラウドベンダが提供するツールを利用しながら、システム設計、運用設計をしっかり行ない、ぜひセキュリティを担保したシステムおよび運用を実現してください。

当社では、システムの構築はもちろん、システム設計・運用設計も提供しています。自社だけでは検討が難しいと思われているようであれば、お声がけください。

クラウドの設計・構築・運用を任せたい

クラウド構築

クラウド構築・運用サービス

パブリッククラウド、プライベートクラウド、ハイブリッドクラウドの設計・構築・運用をお任せいただけます。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • セキュリティサービス総合カタログ

    アールワークスがご提供する全てのセキュリティサービスをご確認いただけます。

システム運用個別相談会(無料)

Tag: セキュリティ

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php