AWSでシステム構築する際にまず考えるセキュリティサービスについて表にまとめてみました。AWSには多数のセキュリティ関連サービスがあり、何を利用するべきか迷うことがあると思います。
保護対象列に記載あるサービスを利用している場合、導入を検討されると良いかと思います。
特にIAM、GuardDuty、WAF、Config、KMSあたりは筆者の経験上、設定することが多いサービスです。。
「ラッピングするサービス」はオーケストレーションサービスの場合に内包するサービスを記載しています。
例えばControl TowerはOrganizationsのアカウント払い出し機能、セキュリティ設定にSCPやConfig、ログの集約にCloudTrail、設定自動化にCloudFormationが使用されます。
セキュリティサービス | 保護対象 | 使いどころ | できること | ラッピングするサービス |
---|---|---|---|---|
Organizations | AWSアカウント (複数) |
AWSアカウントの利用ルールを設定したい |
AWSアカウントの階層化が可能 各AWSアカウントでやっていいこと/ダメなこと(カードレールという)を定義できる(S3公開NG、EC2セキュリティグループの全開NG、特定のインスタンスの起動を禁じる等) AWSアカウントの払い出しもできる |
なし |
Control Tower | セキュリティ設定を自動化したい |
複数のAWSアカウントのログを集約 複数のAWSアカウントのセキュリティルール違反通知を集約 複数AWSアカウントへのログインをシングルサインオン化 テンプレート設定で新しいAWSアカウントを作成 |
Organizations, CloudTrail, CloudFormation, Configなど | |
Security Hub | セキュリティ状況を集約、見える化したい |
複数のAWSアカウントのセキュリティサービス(GuardDuty, CloudTrail, Config, TrustedAdvisorなど)の検出結果やアラートを1か所に集約する。 セキュリティインシデントの検出があった場合にEventBridgeに通知可能。(例えばEventBridge駆動のLambdaを組んで置くことで対応を自動化できる。) インシデント発生をSlackなどのサードパーティ製品へ連携することも可能 |
GuardDuty, CloudTrail, Config, TrustedAdvisor, Detectiveなど | |
IAM | AWSアカウント (単一) |
許可する操作/許可しない操作を設定したい |
AWSアカウントにログインするユーザごとに許可する操作/許可しない操作を設定できる。(ここでいうユーザはAWSマネージメントコンソールにログインするユーザ) IAM権限はAWSリソースやプログラムにも割り当て可能。(例:あるEC2にS3への書き込み権限を与える。アクセスキーを使ってオンプレミスで動いているリソースにLambdaの起動権限を与える。) |
なし |
Detective | 発生したインシデントの調査をしたい | GuardDutyやSecurity Hubで検出した脅威の調査を実施できる。対象リソースの特定、アクセス元IPや地域の特定、いつから脅威が発生したのかなどの調査 | GuardDuty, CloudTrail, VPC FlowLogs, Security Hub | |
Trusted Advisor | セキュリティ対策をベストプラクティスと比較したい |
現在のAWSアカウントの設定がベストプラクティスに沿っているかを確認できる。ベストプラクティスに沿っていない場合は推奨事項を確認できる。(IAMユーザにMFAを適用する、EC2のSGは全開にしない方が良いなど。) セキュリティ以外にもコスト最適化、パフォーマンス、耐障害性、サービスの上限に対する推奨事項も確認可能。 |
なし | |
GuardDuty | AWSアカウント内で発生したセキュリティ脅威リスクを検知したい |
機械学習により悪意のある振る舞いを検知(IAMアクセスキーが流出した疑い、いつもと異なるIPアドレスからアクセスされているなど) 脅威を検知したらEventBridgeで他AWSサービスやサードパーティ製品と連携可能。(IAMアクセスキーが流出した疑いを検知した場合、該当アクセスキーを無効化するなどを自動で実装可能。) |
VPC FlowLogs, CloudTrail, DNS Logs(分析対象ログ) | |
Malware Protection |
GuardDuty EC2 | マルウェアスキャンをしたい |
EC2でマルウェアスキャンが可能。(ウイルス、ランサムウェア、トロイの木馬など)ただしスキャン間隔は24H以上、スキャンのタイミングはコントロール不可。(VPC FlowLogsやCloudTrailログでマルウェア感染が疑われたタイミングで実施される。) EC2スキャン時はEBSのスナップショットをスキャンするので性能に影響を与えない工夫がされている。 柔軟なスキャンを行いたい場合はCloud Oneのようなサードパーティ製品を検討する。 比較記事を書いています。 |
VPC FlowLogs, CloudTrail, DNS Logs(※分析対象ログ) |
Systems Manager | ソフトウェアのバージョンを管理したい |
対象サーバにエージェントをインストールすることでOSSなどのソフトウェアのバージョンを見える化できる。(XXサーバにはlog4jのx.xバージョンが入っているなど。) 古いOSSのバージョンアップも可能。常に最新バージョンのソフトウェアにアップデートする設定も可能。 対象サーバがたくさんあってもワンタッチでバージョン管理、アップデート可能。 |
なし | |
Inspector | EC2, ECR, Lambda | プログラムの脆弱性(CVE)をスキャンしたい |
EC2上のプログラムの脆弱性(CVE)をスキャンできる。 自動で定期的にスキャン可能 脆弱性(CVE)のみの検知であり、マルウェアは検知しない。 |
なし |
WAF | APIGateway, CloudFront, ELB | 不正なアクセスを遮断したい |
あらかじめ定義されたルール(マネージドルール)と独自ルールが可能。 マネージドルールではよく使うであろう保護が定義されている。(管理画面への外部からのアクセスを禁じる、既知の脆弱性アクセスをブロックするなど。) 独自ルールではアクセス元のIP指定や国指定、同一IPから大量のアクセスを禁じるなど様々なルールを作成可能。 |
なし |
Shield | CloudFront, ELB, EC2, Route53 | DDos攻撃対策をしたい(大量アクセスアタック) |
基本となるShield StandardはCloudFront, ELB, EC2, Route53を使用する時点で自動的に有効となっている。無料でDDoS 攻撃から保護してくれる。 上位サービスとしてShield Advancedが月額3,000USDで提供される。サポートチームへの24時間の連絡が可能、より幅広いDDos攻撃への対応、万が一DDos攻撃を受けた際のAWS利用料の補償などがある。 |
なし |
Config(ルール) | 全AWSサービス | 各AWSサービスに利用ルールを設定したい 設定の履歴を確認したい(構成管理) |
各AWSサービスに対して準拠するべきルールを設定できる。ルールに沿った設定になっているかを評価できる。(EBSは暗号化されているか、EC2にタグを付与しているか) ルールに沿っていないリソースがある場合、通知・修正・削除などが可能。 |
なし |
Macie | S3 | S3に機微情報(個人情報、クレカ番号など)が格納されていないか確認したい |
S3に意図しない機微情報(住所、パスポート番号、電話番号、銀行口座番号など)が格納されていないかを確認できる。 ユーザが正規表現で検出したい文字列を定義することも可能。 |
なし |
KMS | データ (S3,Dynamo, RDS等 ) |
機微情報(個人情報、パスワード、アクセスキーなど)を暗号化したい |
4KBまでの文字列を暗号化できる。 データベースに個人情報を格納したいけど、平文だと不安な場合にKMSで暗号化できる。 キーがいつ、誰が使用したのか記録が残るのでトレサビ観点でも有用。 キーのローテーション可能。 |
なし |
CloudHSM | 機微情報(個人情報、パスワード、アクセスキーなど)を暗号化したい ※基本的にKMSより高くて高機能 |
基本的にはKMSと同じことができる。 HSMはシングルテナント、公開鍵を扱える。 (KMSと迷う場合)金融系など、セキュリティ要件が高い場合にHSMを使用すると良い |
なし |
システムエンジニア
AWSを中心としたクラウド案件に携わっています。
IoTシステムのバックエンド開発、Datadogを用いた監視開発など経験があります。
IT資格マニアでいろいろ取得しています。
AWS認定:SAP, DOP, SAA, DVA, SOA, CLF
Azure認定:AZ-104, AZ-300
ITIL Foundation
Oracle Master Bronze (DBA)
Oracle Master Silver (SQL)
Oracle Java Silver SE
■略歴
理系の大学院を卒業
IT企業に就職
AWSのシステム導入のプロジェクトを担当