Category: 入門編
2021.02.17
はじめに
「セキュリティを高めるには?クラウドとオンプレミスのセキュリティ比較」の記事では、クラウドサービスへの移行前・移行後に行うべきセキュリティ対策をご説明しました。
セキュリティ対策は、概要や方法について知るだけではなく、セキュリティが脆弱だった場合に実際どのような事態になるのか、具体的なケースを知っておくことも重要です。
そこで今回は、実際に起きたセキュリティインシデント事例を見ながら原因と対策を解説します。クラウドプロバイダーの提供するセキュリティサービスに関しても解説しますので、ぜひお役立てください。
クラウド利用時のセキュリティインシデント事例
早速、クラウドサービス利用時のセキュリティインシデント事例を見ていきましょう。ここでは、ユーザー起因のセキュリティインシデントを中心にご紹介します。
パスワード管理ミス
<事例>
サービスの利用にあたり、クラウドプロバイダー側から初期設定用のパスワードが渡された。クラウドへ移行するためにテストが必要なので、テスト環境を利用しやすいように簡易的なパスワードに変更したら、不正アクセスを受けてしまった。
これは強度の弱いパスワードを設定したために、不正アクセスを受ける例です。 このようにプロバイダーから渡される初期パスワードのほうが、自社で設定するパスワードよりも堅牢であるケースは多くあります。
設定ミス
<事例1>
ポートが閉じていると思っていたが、ユーザーがポートを開放したままにしていたことに気付かなかった。結果、不用意なポートの開放が原因で不正アクセスを受けてしまった。
ポートとは、他のコンピュータとデータを送受信するための出入り口のことです。開放したままだと攻撃の対象となり得るため、当然セキュリティインシデントの原因となります。システム構築の担当者とユーザーとのコミュニケーションギャップなども、このような設定ミスにつながります。
<事例2>
アメリカのある金融持株会社で、独自に運用していたWAFの設定ミスが原因で1億600万人を超える情報漏洩が起こった。サイバー攻撃者によるSSRF攻撃で、脆弱になったAWSのEC2が不正アクセスを受け、大規模な情報漏洩に至ったとされる。
出典:https://news.yahoo.co.jp/byline/ohmototakashi/20191227-00156487/
<事例3>
あるハッカー集団が、設定ミスのある「Amazon Simple Storage Service(Amazon S3)」バケットをスキャン。Webサイトで使用されるJavaScriptファイルに、悪意のあるコードを追加することでユーザーの支払情報を記録し、犯罪者のサーバーへ送信するように設計されていた。
このように不特定多数のドメインをハッキングしコードを埋め込む手法は、スキミングでクレジットカード情報を盗むハッカー集団が近年行っている方法の一つです。
アプリ構築時のミス
<事例1>
アプリ構築時、API認証情報(アクセスキー)をソースコード内にハードコーディングし、そのままGitHub に上げてしまった。その結果、情報を不正利用されるなど攻撃を受けることになった。
<事例2>
アプリ構築時、OSやミドルウェアに脆弱性を残したまま、対策をせずにそのまま公開してしまい、攻撃を受けた。
アプリ構築時のセキュリティへの配慮が欠けていた事例です。
保守漏れ
<事例1>
IaaS 上に構築したテスト環境から、本番環境の仮想サーバーへ不正アクセスされた
原因としては、テスト環境のパスワードの強度が弱かった、ネットワークのアクセス制御が不適切だった、などということが考えられます。
<事例2>
クラウドサービスのアクセスキーが盗まれ、仮想サーバーのインスタンスを勝手に立ち上げられ仮想通貨のマイニングに利用された。ソフトウェアの脆弱性を悪用してアクセスキーを盗んだ可能性が高い。
システムへの不正アクセスを試みるため、システムの脆弱性や設備の不備を調査スキャンする行為は年々増加しています。
基本対策
上記のようなセキュリティインシデントを起こさないためには、基本対策を怠らないことが大事です。具体的にどのような対策をすればよいか、確認しましょう。
ID利用制限、強固なユーザー認証、多要素認証の導入
インターネット経由でサービスを利用するクラウドは、不正アクセス・なりすましによるデータ閲覧・盗聴・改ざん、情報漏洩のリスクがあります。
基本対策として、ワンタイムパスワードやSSLクライアント認証といった多要素認証を導入し、ユーザー認証を強固にしましょう。扱うデータの重要度に応じてアクセス権限・アクセス制限などIDの利用制限をかけるのも有効な手段の一つです。
ファイアーウォール設定、アクセス管理
ファイアーフォールを設定しアクセスログを監視することで、不正なアクセスや不審な操作があった場合に早急に発見し、対処できます。
仮想マシンイメージへのセキュリティパッチ適用
セキュリティパッチを適用することで、脆弱性や問題があった場合にも修正・解決できます。
セキュアプログラミング(アカウント情報などをハードコーディングしていないか、など)
アカウント情報などをソースコードにハードコーディングしていないかなど、コードレビューを行い、セキュアプログラミングに努めましょう。
通信を暗号化する(SSLサーバー証明書、SSH)
クラウドでは、常にインターネットを経由してサービスを利用します。通信中には盗聴・改ざんといったリスクがともなうので、SSLサーバー証明書やSSHで通信を暗号化し、リスク回避することが不可欠です。
データ暗号化や定期的なバックアップ取得
可能な限りデータ自体の暗号化を行い、秘密分散などの技術を採用して対策を取るのがベストです。可用性のことを考えて、定期的にデータのバックアップも取得しましょう。
定期的な脆弱性診断
脆弱性診断は、構築時だけでなく定期的に行うことが重要です。問題がある場合にも早期発見・早期対策が可能になります。
あわせて読む:脆弱性診断とは?なぜ必要なのか?脆弱性診断の際に意識すべきガイドラインも解説!
セキュリティ対策に活用できる、クラウドベンダーが提供する主なサービス
クラウドベンダーのなかには、セキュリティ対策に活用できるサービスも提供しているところも多くあります。ここでは主なサービスをご紹介します。
ID管理
- AWS:IAM
- Azure:Azure Active Directory
多要素認証
- AWS:AWS Identity and Access Management
- Azure:Azure Multi-Factor Authentication
特定のユーザーに対してクラウドへのアクセスを許可する、アカウントの認証と許可を制御するサービスです。ただし設定はユーザーが行うため、適切な設定ができているかどうかはユーザー責任となります。
FW(Firewall)
- AWS:セキュリティグループ、AWS Firewall Manager
- Azure:ネットワークセキュリティグループ、Azure Firewall
セキュリティグループやファイアーウォールも提供されています。
セキュリティグループは、仮想ネットワーク内のインバウンドトラフィックとアウトバウンドトラフィックをコントロールするもの。ファイアーウォールは、仮想ネットワークをまたいでネットワークの接続ポリシーを一元管理するものです。
ただし、セキュリティグループやファイアーウォールの設定はユーザー責任となります。
WAF(Webアプリケーションファイアウォール)
- AWS:AWS WAF
- Azure:Azure Webアプリケーション ファイアウォール
Webサイトへの通信を監視し、攻撃パターンを見つけた場合にその通信を遮断するサービスです。どういったものを遮断するかといったルールがあらかじめ用意されており、必要なものを適用して利用します。ただし、どのような設定を行うかはユーザーの責任となります。
セキュリティパッチ適用自動化
IaaS以外のマネージドサービスは、クラウドベンダーがセキュリティパッチを適用してくれます。しかし、メンテナンスでサービスが強制停止、またはフェイルオーバーする場合、セキュリティパッチ適用のタイミングはクラウドプロバイダーの都合で決まります。そのため、クラウドプロバイダーのメンテナンス時にもセキュリティパッチのシステムを止めない設計が必要です。
インターネットVPN、閉域網での接続サービス
- AWS:AWS VPN/AWS Direct Connect
- Azure:Azure VPN/Azure ExpressRoute
インターネットVPNサービスとは、クラウド上の仮想ネットワーク・社内ネットワークとクラウド・クライアント端末とクラウドといった、ネットワークへのトラフィックを保護するものです。その一方、クラウドへの専用ネットワーク接続を構築する専用線サービスもあります。
データバックアップ
- AWS:AWS Backup
- Azure:Azure Backup
アプリケーションを実行するクラウドサービス全体を、バックアップ管理できるサービスです。バックアップポリシーの設定やクラウドリソースへの適用はユーザーが行います。
ユーザーの責任でやらなければいけないこと
どのようなクラウドサービスを利用するかによって、ユーザーの責任範囲は変わります。
以下は、基本的にユーザーの責任で行うべきセキュリティ対策です。よく確認し、対策を取りましょう。
- ID管理
- クラウドサービスを正しく使う(適切な設定、アクセス権管理、バックアップ設定など)
- IaaS 上で稼働するOSやミドルウェアなどの脆弱性管理
- セキュアプログラミング
- アプリの脆弱性管理
- 基盤に障害が発生した場合でもサービスを停止させないクラウド設計
あわせて読む:
クラウドセキュリティを担保するために考えるべきことを、クラウド機能の活用例を交えて解説!
おわりに
今回はセキュリティインシデントの事例と、基本対策・クラウドプロバイダーが提供するサービスなどをご紹介しました。
事例を見てもわかるように、クラウドサービスを正しく使わないと、不正アクセスや情報漏洩といったつながる恐れがあります。クラウドを利用する際は、責任共有モデルを正しく理解し、ユーザー側でも適切な設定を行ってください。
もし、これらの対策を自社だけで実施するのが難しい場合は、当社にお気軽にご相談ください。
サーバーOSやミドルウェアのセキュリティパッチ適用や、ファイアーウォールのルール管理・設定、データ保全(バックアップ設計、実装)といった日々のセキュリティ運用から、Webアプリケーションの脆弱性診断、Web改ざん防止、SOCアウトソーシングまで、「被害の最小化」「多層的防御」「インシデント原因の特定と再発防止」をトータルでサポートさせていただいております。
詳しくは以下のカタログをご参照ください。
Tag: セキュリティ
Contactお問い合わせ
お見積もり・ご相談など、お気軽にお問い合わせください。