AWS大規模利用に効果絶大!?AWS利用状況どうやってチェックしていますか?
全世界のAWSユーザーのみなさま、コンニチハ、千葉です。
はじめに
最初は数個しかなかったアカウント。AWSの利用が促進すると、権限分離が必要になり、AWSアカウントの数もどんどん増えていきます。そうすると、ユーザー管理、セキュリティの維持などなど、目が届かないことが増えてきます。
ユーザー管理については、AWS SSOが登場し、これを利用することであるていど、ユーザーや権限管理については柔軟に対応できるようになりました。
AWS SSO Directory が利用できるようになりました(Microsoft AD以外の選択肢が提供されました)
あとは、そのユーザー操作によりセキュリティ的に適切かを確認してくなりますよね。じゃ、どうやって可視化しようかとなります。AWSにはCloudTrailtという、AWSに関するAPI操作によるログを保存するサービスがあります。では、独自にこのログを、複数アカウントから集めてきて、KibanaやQuickSightとかで可視化するのもてですが、今回はSumoLogicというログ可視化サービスを利用して、AWSの利用状況を可視化してみました。
どんな、情報を可視化することができるかお届けしようと思います。イメージはこんな感じです。
Sumo Logicとは?
Sumo LogicはSIEM(Security Information and Event Management) というカテゴリのサービスで、ログを収集して可視化やアラートを設定できます。Sumo LogicはAWSとの連携がとてもシームレスです。最初からAWS向けのダッシュボードが多数用意されています。
ELB、CloudFrontなど色々なサービスのダッシュボードが用意されています。また、CIS AWS Foundations Benchmarkというセキュリティのベンチマークまで用意されています。素敵です。その他にも、Linux、Apache、Tomcat、Nginxなど主要なプロダクトのダッシュボードも用意されています。
今回は、CISベンチマークのダッシュボードが用意されているのでこちらを利用します。CISベンチマークとは、以下引用です。
米国のNSA(National Security Agency/国家安全保障局)、DISA(Difense Informaton Systems Agency/国防情報システム局)、NIST(National Institute of Standards and Technology/米国立標準技術研究所)などの米国政府機関と、企業、学術機関などが協力して、インターネット・セキュリティ標準化に取り組む団体の名称。
CIS(Center for Internet Security) - マルチメディア/インターネット事典
CloudTrail用のダッシュボードについては、こちらも参考になります。
ダッシュボードでチェックする
これはダッシュボードの一部ですが、今回はCISベンチマークに関するダッシュボードを確認してみます。
アクセスと認証
AWSへのアクセスと認証に関するダッシュボードです。
- Console Logins without MFA
- MFA(多要素認証)なしのログイン数を確認できます。不正アクセスを防ぐために有効な手段になるにで、かならず導入しましょう。
- Disabled or Scheduled Deletiion of CMK
- AWSのKMSに関する、鍵削除についてグラフです。誤って鍵削除のオペレーションをしてしまうと、データを取り出せなくなります。誤操作がないか確認しましょう。
- Failed Console Logins
- AWSマネジメントコンソールへのログイン失敗のグラフです、不正にログインしようとしている形跡がないか確認しましょう。
- Root Account Logins
- AWSのルートアカウントを利用していないか確認します。AWSのルートアカウントは権限が強力なため利用せず、日々の運用はIAMユーザーを利用しましょう。
- Unauthorized AWS API Requests
- 権限が付与されてないAPIが実行されたかのグラフです。アカウントが乗っ取られ、どの権限があるか一通りAPI実行されると、失敗の数が増えますね。怪しいリクエストが発生していないか確認しましょう。
- Failed Console Logins by Location
- マネジメントコンソールへのログイン失敗した地域を可視化したものです。そもそも、日本でしか利用してないのに、海外からの失敗ログがあった場合、怪しいですね。
- Outlier - Failed Console Logins
- これもマネージメントコンソールのログイン失敗に関するグラフですが、通常運用と比較してスパイク(急激な失敗)が発生しないかを確認できるグラフです。10回超えたらという指定ではなく、通常時の変化率から閾値を設定できます。
構成変更系
AWSのセキュリティに関連する構成変更がどれくらい発生しているかを可視化します。
- Config Changes
- AWS Configとは、AWSに関する構成変更を追跡するサービスです。いつ誰がセキュリティグループを変更したかなどを記録することができます。あやまって、記録が停止されたり、設定が変更されていないかを確認します。
- IAM Policy Changes
- IAMポリシーを誰がどれくらい変更したか可視化できます。普段操作しない人が、大量に変更してたら怪しいですね。
- CloudTrail Changes
- CloudTrailログが有効になっているかのチェックです。CloudTrailは、AWS操作に関する大切なログですので、必ず有効化しておきましょう。また、誤って誰かが設定削除したり、変更したりしていないかもこのグラフから確認できますね。
- Gateway Changes
- VPCのインターネットゲートウェイに関する変更です。間違って変更すると、サーバーが不用意にインターネット接続されてしまう可能性があります。意図しない変更がないかチェックしましょう。
- Route Table Changes
- こちらもVPC内のルーティングを操作するための設定変更のグラフです。不用意なネットワーク接続が発生していないかチェックしましょう。
- Network ACL Changes
- サブネット間の通信制限するためのACLです。こちらも不用意に変更されていないかチェックしましょう。
- Security Group Changes
- EC2のネットワークアクセスを制御します。こちらも不用意に変更されていないかチェックしましょう。
- VPC Changes
- VPC自体が意図しない構成変更が発生していないかチェックしましょう。
- S3 Bucket Pilicy Changes
- 意図しないS3バケットポリシー変更が発生していないかチェックしましょう。
最後に
Sumo Logicを使って、複数のAWSアカウントのダッシューボドを眺めてみました。AWSの利用状況を可視化したい!っていう方はぜひ試してみてはいかがでしょうか。無料枠もあるのでさくっと試せます。それでは、また。