注目の記事

[社内資料公開]営業向けAWSセキュリティ勉強会

クラスメソッドでは、定期的にエンジニアから営業向けの勉強会を行なっています。先日、セキュリティに関する勉強会を行いました。せっかくなので、皆さんにも資料を共有します。
2019.07.08

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

クラスメソッドでは、定期的にエンジニアから営業向けの勉強会を行なっています。先日、セキュリティに関する勉強会を行いました。せっかくなので、皆さんにも資料を共有します。

セキュリティはなぜ難しいのか?

セキュリティに関するAWSサービスはたくさんあり、またパートナー製品も数多くリリースされています。 セキュリティのために何をすればいいのかよくわらない方も多いかと思います。 なぜセキュリティは複雑で難しいのでしょうか?

私たち自身のセキュリティについて考えてみる

AWSのセキュリティを考える前に、私たち自身のセキュリティについて考えてみましょう。

私は今、会社の会議室に同僚といます。 皆さんも会社の会議室にいるシチュエーションを想像してみてください。 その会議室は安全でしょうか?おそらく安全だと思います。 しかし、100%安全とは言えないはずです。例えば、会議室の中に兇器を持った人がいるかもしれません。

セキュリティ対策として、入室前のボディチェックを行うことにしましょう。 ボディチェックをやれば、安全でしょうか? これでも100%安全とは言えません。窓からスナイパーが狙っているかもしれません。 対策として、防弾ガラスを導入しましょう。

これで安全が担保されたでしょうか? 残念ながら、防弾ガラスではロケット砲を防ぐことは難しいでしょう。 私たち自身のセキュリティを考えていくと、脅威がたくさんあることに気がつきます。 対策にお金や労力をいくらかけても、足りません。 私達は暗い道を歩かないようにしたり(セキュリティ対策)、同僚を信頼したりして(脅威の受容)、脅威をコントロールしています。

ITの世界も近いものがあります。 悪いことを考える人はたくさんおり、また全ての脅威に万能に対応できる対策はありません。だからこそ難しいのです。 対応としては、私たち自身のセキュリティと同じようにベースとなる対策を行いつつ、必要に応じて追加の対策をすると良いでしょう。

AWSのセキュリティ対策で考えたい3つのこと

セキュリティ対策のベースとなる3つのことをご紹介します。

  • 1.AWSの設定誤りを防ぐ
  • 2.脆弱性診断を行う
  • 3.WAF/IPS/アンチマルウェアで保護する

1.AWSの設定誤りを防ぐ

AWSの設定を誤ると、インシデントに繋がることがあります。 S3を意図せずにパブリック設定にしてしまい、S3上のデータが漏洩するといったケースです。 このような事故を防ぐために何ができるでしょうか。

1-1.個々のケースとして対応する

S3の場合Public設定を一括で無効にする設定があります。有効化しておくことで、意図しない公開設定を防ぎます。 詳しくはこちらの記事をご覧ください。

1-2.AWSに関する知識をつける

バケットポリシーやIAM設定に誤りがあるため、バケットに接続できないのにも関わらず、なぜか接続できないと感じ、Public設定にしてしまうケースがあります。 AWSに関する正しい知識があれば、このようなケースは防げます。 AWSは様々な方法で正しい知識を共有しています。

1-3.統制をとる

AWSの知識があるメンバーが少人数でAWS環境を触る場合、統制の重要性は低いです。 特に関係者が多いケースで統制が必要になります。 統制の方法を簡単に紹介します。

  • 組織やワークロード(ITシステム)ごとにAWSアカウントを分ける
    • AWSアカウントが別れていれば、インシデントの影響範囲を小さくできます
  • AWS Organizationsでアカウント単位の制御を行う
  • IAMを活用する
    • ユーザーの役割ごとに、IAMグループを作成し、グループにポリシーを割り当てます。

1-4. ツールで機械的にチェックする

AWSサービスやツールで機械的にチェックできます。 以下の3つの方法はいずれも、S3のPublic設定を検知できます。

insightwatchはクラスメソッドが提供するサービスです。CISベンチマークに対応したチェックが可能です。 AWS Config RulesはAWSが用意したルールに基づいてAWSリソースが設定されているかチェックできます。カスタムルールを作ることもできるため、個別のユースケースに対応しやすいです。

1-5. AWS Well-Architected Frameworkレビューを行う

AWS Well-Architected FrameworkはAWSが提供するベストプラクティス集です。 質問に答えていく形で、システム構築に抜け漏れがないか確認したり、既存ワークロードの課題を発見できます。 機械的には見つけられない課題を発見できる点に優れています。 例えば、皆さんはセキュリティインシデントが発生した時のエスカレーションパスをご存知でしょうか? セキュリティ上機微なデータがどこに保存されていて、どのようなアクセス保護が必要かどうかチームで共有できているでしょうか?

クラスメソッドは、AWS Well-Architected パートナープログラム認定を取得しており、AWS Well-Architectedを使ったコンサルティングを提供しています。

2.脆弱性診断を行う

脆弱性とは、ソフトウェアのセキュリティに関するバグ(不具合)です。 脆弱性があるソフトウェアは攻撃が成立しやすくなります。 脆弱性のないソフトウェアを作れることが理想ですが、現在のITでは不可能です。 PCやスマートフォンでアップデートを求められることがあると思いますが、中には脆弱性に関するアップデートも数多くあります。

AWSでよく使われるAmazon Linux 2の脆弱性情報はAmazon Linux Security Centerで公開されています。 Webアプリケーションに関しては、IPAが公開している安全なウェブサイトの作り方が有名です。 ソフトウェアに脆弱性があるかどうかは、ぱっと見ではわかりません。 脆弱性診断を行い、確認する必要があります。

脆弱性診断は対象と手法によって、分けられます。 対象としては、OSとミドルウェア(プラットフォーム)を対象にしたものと、Webアプリケーションを対象にしたものがあります。 Amazon Inspectorは主にプラットホームを診断します。Webアプリケーションは診断できません。 手法としては、ツールを使った診断とセキュリティエンジニアが人手で行う診断があります。 ツールを使った診断は安価で、人手による診断は高価になることが多いです。 クレジットカードを扱うWebサイトなどでは、人手による診断を行うと良いでしょう。 ツールによっては、APIを多用したり、他サイトへの遷移が多い場合に診断がうまくいかないケースがあります。

クラスメソッドでは、ツールによる脆弱性診断オプションと手動によるイエラエセキュリティのセキュリティ診断サービスを提供します。 Amazon Inspectorについても導入支援しています。

3. WAF/IPS/アンチマルウェアで保護する

ワークロードに脆弱性がない状態が望ましいですが、現実的には難しいです。 OSやミドルウェアのアップデートを行うとアプリケーションの動作に影響がでる場合がありますし、アプリケーションの修正には時間がかかります。 脆弱性が公開されてから攻撃手法が見つかり、実際に攻撃が開始されるまでの時間が短い事実もあります。セキュリティ製品を導入し、脆弱性対応をするまでの時間を稼いだり、攻撃を水際で防ぐ必要があります。

3-1. WAF(Web Application Firewall)

WAFはWebアプリケーションを攻撃から保護します。 WAFがもつシグネチャ(ルール)に一致する通信をBLOCKする仕組みですが、仕組み上誤検知が発生する恐れがあります。

AWS WAFは安価にWAFを利用できます。 カスタムルールを定義し、XSSやSQLインジェクション、IPアドレスによる制限などが可能です。 カスタムルールの作成が難しい場合は、WafCharmを検討します。 マネージドルールを使えば、セキュリティベンダーが提供するルールを利用できます。マネージドルールは具体的なルールをユーザーからは確認できない点に注意が必要です。ライトに守りたいケースに適しています。

AWS WAFが機能的に不足する場合はオンプレミスで利用しているパートナー製品のWAFをそのまま使うケースがあります。 パートナー製品のWAFはIncapsulaのようなSaaSとして動作するタイプと、EC2として動作するアプライアンスタイプがあります。

  • AWS WAF
    • カスタムルール(ユーザーが定義)
      • ルールを自分で定義できる場合に適している
    • カスタムルール(WafCharm
      • ルールの作成やサポートを受けられる
    • マネージドルール
      • セキュリティベンダーがルールを提供。ルールの詳細はユーザーから確認できない
  • パートーナー製品のWAF
    • SaaS
      • ユーザーのAWS環境の外でトラフィックをフィルタしてから、AWSにルーティングする
    • アプライアンス(EC2として動作)
      • オンプレミスで利用しているWAFをそのまま利用できる

3-2. IPS

IPSはOSとミドルウェアを攻撃から保護します。 IPSがもつシグネチャ(ルール)に一致する通信をBLOCKする仕組みです。仕組み上、誤検知が発生する恐れがあります。 WAFとの違いは、防御する対象がOSとミドルウェアである点です。AWSのセキュリティベストプラクティスでは、マルウェア対策の手法としてホスト方式のIDSソフトウェアが紹介されています。オープンソース製品のOSSECやTrend MicroのDeep Securityを利用できます。クラスメソッドは、フルマネージドDeepSecurityオプションを提供しています。

3-3. ウィルス/スパム対策ソフトウェア

コンピューターウイルスを検出し、削除します。 ルールに一致するファイルやプロセスをBLOCKする仕組みです。 AWSのセキュリティベストプラクティスで、マルウェア対策の手法として紹介されています。 Sophos CentralやTrend MicroのDeep Securityを利用できます。お手元のウィルス/スパム対策ソフトウェアを使う場合は、Amazon Linuxへの対応状況やAmazon EC2 Auto Scalingへの対応状況を確認します。前述の製品は対応しています。

AWS環境のセキュリティ製品とサービス

ここまでベースとなる対策をご紹介しました。 内容が一部重複しますが、クラスメソッドが取り扱うサービスを中心に、AWSサービスやパートナーなどを分類して紹介します。

脆弱性診断

ワークロードをスキャンし、どのような脆弱性を持っているのか診断します。

イエラエセキュリティによる診断

クラスメソッドでは、イエラエセキュリティ社のセキュリティ診断サービスを取り扱いしています。AWSサービスではできない手動によるOS/ミドルウェア/Webサイトの診断を行います。ツールによる診断が難しいケースや特に機微な情報を扱うサイトでお勧めします。

ツールによる脆弱性診断オプション

F-Secure社のRadarを利用した脆弱性診断オプションを提供しています。ツールによるOS/ミドルウェア/Webサイトの診断です。コストパフォーマンスに優れています。

Amazon Inspector

InspectorエージェントをEC2にインストールすると、OS/ミドルウェアが持つ共通脆弱性識別子 (CVE)を確認できます。他にも以下のルールパッケージを利用できます。コストパフォーマンスがよくすぐにユーザー側で診断できる点で優れています。

  • ネットワーク評価
    • ネットワーク到達可能性
  • ホスト評価
    • 共通脆弱性識別子
    • Center for Internet Security (CIS) ベンチマーク
    • Amazon Inspector のセキュリティのベストプラクティス
    • 実行時の動作の分析

参考:Amazon Inspector のルール パッケージとルール

脆弱性管理

スキャンした脆弱性を管理し、アップデートを適用します。

AWS Systems Manager

Patch Managerでパッチを適用するプロセスを自動化したり、Run Commandでyum updateやWindows Updateなどを実行できます。

FutureVuls

FutureVulsは、脆弱性をスキャンしアップデートを適用するまでのフローを支援するサービスです。 脆弱性の優先順位づけや適用判断を支援する機能が強力で、アップデートについてもSystems Managerと連携できるなど、優れています。脆弱性管理の決定版と言えます。

防御

攻撃を防御するサービスについて、説明します。

AWS Shield

AWS ShieldはDDoS対策のサービスです。 DDoSとはWebサーバーなどに負荷をかけて、サイトを閲覧しづらい状況にする攻撃です。 無償で自動適用されるAWS Shield Standardと有償で提供されるAWS Shield Advancedがあります。 Shield Advancedは、AWSのDDoSレスポンスチームに相談できる点がメリットです。 クラスメソッドでは、英語で行われるAWS DDoS レスポンスチーム (DRT) への連絡を、サポートするDDoS攻撃対策オプションを提供しています。

DDoSにお困りのケースで、実際にはWebサイトを巡回するクローラーが負荷の原因になっているケースがあります。 全てのページを総なめするようなクローラーからアクセスがあると、サイトに強い負荷がかかります。 クローラーはWAFでBlockできますが、ビジネス上必要なクローラーである可能性もあるため留意が必要です。

WAF

前述3-1. WAF(Web Application Firewall)をご覧ください。AWS WAFのカスタムルール/WAF Charm/マネージドルール、パートナーのWAFを利用できます。

IPS

前述3-2. IPSをご覧ください。Trend Micro Deep Securityなどを利用できます。Deep Securityは、IDS/IPSなどの機能をもつセキュリティ製品です。OSやミドルウェアの攻撃をついた攻撃から防御します。

アンチマルウェア

前述3-3. ウィルス/スパム対策ソフトウェアをご覧ください。Sophos CentralTrend Micro Deep Securityを利用できます。

検知

Amazon GuardDuty

VPCフローログ、DNSログ、CloudTrailログから、EC2やIAMなどに関する脅威を検出します。 検知できる内容はこちらをご覧ください。 一般的に脅威を検出することは難しいですが、GuardDutyは一発有効化するだけで高い精度で検出します。 コストはログ量によって変わりますが、30日間の無料枠があるので、想定外の課金を避けられます。 GuardDutyの有効化はこちらを参考にしてください。

Amazon Macie

Amazon MacieはAWS内のデータを検出、分類するサービスです。 S3バケットに個人情報が配置されていないかなどを検出できます。

集約

AWS Security Hub

Security Hubを使うと、GuardDuty、Inspector、Macie、対応するパートナー製品のアラートをダッシュボードに集約できます。特に、複数アカウントや複数VPCを利用するケースで役立ちます。全体的な雰囲気はこちらの記事を参考にしてください。

ロギング、分析

CloudWatch Logs

EC2にCloudWatchエージェントをインストールすると、ほぼリアルタイムにCloudWatchにログを転送できます。EBS障害に備えてログをエクスポートしたいケースで利用できます。CloudWatch Logs Insightsを使えば、クエリを実行したり、ログを可視化できます。

AWS Config

AWS Configを有効にすると、AWSリソースの変更履歴を記録できます。 例えば、セキュリティグループの変更前後の情報を後から確認できます。

AWS CloudTrail

AWS APIの実行ログを記録します。CloudTrailの有効化はAWSアカウントを作ったらすぐに対応すべき内容です。Amazon GuardDutyで脅威検出した際の調査に利用したり、セキュリティ監査などに必要になります。

VPCフローログ

VPCフローログはAmazon VPCの機能の1つです。Amazon GuardDutyで脅威検出した際の調査に利用できます。

VPCトラフィックミラーリング

VPCトラフィックミラーリングはNitro EC2で利用できる機能です。オンプレミスのネットワークスイッチにおけるポートミラーリングに相当します。Suricataなどを利用して脅威検出したり、tcpdumpを利用したトラブルシューティングなどに利用できます。

Sumo Logic

Sumo Logicはログ管理分析SaaSです。AWSのログを可視化するためのテンプレートが揃っているため、すぐに利用を開始できます。クラスメソッドは不定期にハンズオンセミナーを開催しています。

Sumo Logicから話が外れますが、Amazon Elasticsearch ServiceやKibanaに知見がありダッシュボードを自分で作れる場合は、それらを利用できます。AWS CloudTrailのログをAmazon Elasticsearch Serviceへ転送して可視化してみたが参考になります。

Sumo Logicは事前に定義されたテンプレートを利用できる点やユーザー側で基盤の管理をしなくていい点で優れています。また、GUIの良さはぜひお試しいただき、感じていただきたいです。

コンテナ

Aqua Container Securiy Platform

Aqua Container Securiy Platformは、CI/CDの保護、実行時アプリケーションの保護、セキュリティ脅威の検出とブロック、可視化、およびコンプライアンスの監査の提供など、クラウドネイティブなコンテナアプリケーションの開から運用における様々なセキュリティ対策を総合的に提供します。

コンプライアンス、ガバナンス

AWS Well-Architected Tool

1-5. AWS Well-Architected Frameworkレビューを行うでご紹介したAWS Well-Architected Frameworkを行う手助けをするサービスです。

AWS Trusted Advisor、AWS Config Rules、Insightwatch

1-4. ツールで機械的にチェックするをご覧ください。

Dome 9

Dome9は、クラウドのセキュリティに関する設定を評価し、適切な設定への是正や維持を支援するサービスです。AWSに限らず、AzureおよびGCPをサポートしており、複数のサービスを併用している場合でも同じインターフェースで統制できます。

まとめ

営業向けのセキュリティ勉強会資料を共有しました。皆さんのセキュリティ対策の一助となれば幸いです。