顧客フロントSEのIT勉強ブログ

顧客フロントSEがなるべく手を動かしながらIT技術を学んでいくブログです。

【資格】AWS認定 セキュリティ-専門知識に合格した勉強法

f:id:se_o_chan:20210911220053p:plain

これまで専門知識以外のAWS認定試験6冠だったのですが、先日「AWS認定 セキュリティ-専門知識」に無事合格しました!

今回は私の勉強方法と、出題範囲のAWSサービスについて今回学んだことを幾つか書き出していこうと思います。

私の準備期間と結果

準備期間は2021年8月25日~9月9日までの2週間強でした。

平日夜の数時間と、土日の数時間を使って、計20~30時間くらい勉強したと思います。

結果は891点で、受け終わった時の感触よりだいぶよかったです!(合格ラインは750点)

全分野「コンピテンシーを満たしている」と判定され、試験範囲全体の理解を深めることができました。

f:id:se_o_chan:20210911214106p:plain

f:id:se_o_chan:20210911214134p:plain

合格までの勉強法

私は主に次の方法で勉強を行いました。

ちなみに、下記1~6の方法だと若干解く問題数が少ないかもしれません。テスト後の感覚的にも「合格はしたけど自信もって回答できたものは半分くらいかな」という感じでした。

私はKindleのサンプルで目次を見て、ほとんどのAWSサービスが理解できそうだったので使わなかったですが、対策本のサンプル問題で補足してもよいかもしれません。

1.試験ガイド

AWSが公式に提供する試験内容を説明した資料です。リンクはこちら

一言一句確認する必要はなく、出題される分野と試験対象のAWSサービスだけ確認すればよいです。

今回だと出題される分野は次の内容です。これらのタイトルだけでも見て「へぇ、大体あの辺のサービスかな」とざっくりイメージつけるくらいでよいです。

f:id:se_o_chan:20210910213950p:plain
(出典)AWS Certified Security - Specialty(SCS-C01)試験ガイド

2.サンプル問題

これもAWSが公式に提供する10問のサンプル問題です。リンクはこちら

全問正解できる必要はないので、一度全部解いてみて、試験ガイドを読んだ時より出題される内容を具体的にイメージつけます。

3.AWSトレーニングライブラリ

AWSが試験の内容を分野別に解説する動画が配信されています。リンクはこちら

今回の認定セキュリティの場合、日本語字幕が付いた動画になっていますので理解しやすいと思います。

ここで各分野にマッピングされるAWSサービスを理解します。

各分野の動画の最後に3~4問例題が出題されますが、この時点では難しいと感じると思いますので、解けなくても気にしないで良いです。

4.AWS WEB問題集で学習しよう

f:id:se_o_chan:20210911214744p:plain

これが学習のメインです。リンクはこちら

ここでひたすら問題を解きます。ただし認定セキュリティの問題を解くには、プロフェッショナルプランに登録する必要があり、5,480円(税抜)でかかります。

申し込むと90日間は全科目の問題が利用できるので、90日間で複数科目勉強できるとお得感があります。

私はソリューションアーキテクト プロフェッショナル(SAP)、DevOpsエンジニア プロフェッショナル(DOP)とセキュリティ(SCS)の3つを90日間で取得できたので、割安感ありました。

5.模擬試験

20問だけですが、実際と同様の問題が解けます。リンクはこちら

4,000円かかりますが、認定セキュリティを受ける人は恐らくアソシエイト系の資格等を取得している方が多いと思いますので、模擬試験の無料バウチャーを持っているはず。

6.Black Belt サービス別資料

f:id:se_o_chan:20210911214907p:plain

AWSサービス別に機能概要をまとめた資料が沢山あります。リンクはこちら

これまでの学習を通じて、よく分からないサービスが出てきたらこの資料を確認して、サービスの機能概要を把握します。

今回だとSecurity HubやDetective、KMSはこちらの資料を参照しました。

今回学んだこと

今回の資格勉強を通じて学んだこと・重要だと思ったことを幾つか上げていきます。

各分野に関連するAWSサービスも一通り挙げてあるので、参考にして頂ければ。

第一分野:インシデントへの対応

AWS Config
CloudTrailログと統合し、リソース設定変更の詳細情報をキャプチャ。SNS・Lambdaと統合されているため、予め決めたルール外のアクションがあったらSNS通知 or Lambda関数実行が可能。

AWS Systems Manager

AWS CloudWatch

AWS Trusted Advisor
更新頻度が遅い。1日1回程度で、最短にしても5分おき。したがってリアルタイム性が求められる内容の監視には向かない。

AWS CloudTrail
CloudTrailコンソールで[Write-only]イベントフィルターを使うと、リソース変更のログだけに絞れる。ただしコンソールから閲覧できるのは90日以内のログ。それ以降はAthena+S3ログで調査する。CloudTrailログの配信には通常15分程度のタイムラグがありリアルタイムではない。

AWS CloudFormation

Amazon Macie

Amazon GuardDuty
IPアドレスホワイトリストがある。そこに定義されたIPアドレスはGuardDutyの審査対象外になる。ただし、これはVPCフローログとCloudTrailログのみでDNS結果には適用されない。

AWS Security HUB
2018年GAの比較的新しいサービス。GuardDuty、Inspector、IAM Access Analyzer、Macie、Firewall Managerの情報を一元管理し、セキュリティアラート・コンプライアンス違反を専用画面で一覧表示する。

Amazon Detective
2020年GAの新しいサービス。CloudTrail、VPCフローログ、GuardDutyのログを集計し、過去の履歴やアクセス元のIP、地域、サービスなどを紐づけて閲覧可能。GuardDutyなどで異常検知した後の調査用サービス。

AWS Service Catalog

第二分野:ログ記録とモニタリング

AWS X-Ray

Amazon Inspector
EC2にエージェントインストールが必要。CISベンチマークに基づくセキュリティスキャンを実行。

Amazon Athena
S3内データを標準SQLで分析できるクエリサービスを提供。クロスリージョンクエリをサポート。内部的にはPresto、Apache Hiveを使用。LambdaからAthenaクエリを呼び出すときは、Athena参照先のS3バケットへのアクセス権をLambdaに与える必要あり。

VPCフローログ

Amazon QuickSight

Amazon Kinesis
サブサービスとしてKinesis Data Streams、Kinesis Data Firehose、Kinesis Data Analysisがある。Data StreamsはKMSを使って保管中・転送中のデータ暗号化ができる。その他のサブサービスは不可。

第三分野:インフラストクチャのセキュリティ

AWS WAF
CloudFront、ALBと統合されている。

AWS Shield
Route53、CloudFront、ALBと統合されているが、Route53・CloudFrontで使用するとVPC内に入る前にDDoS対策ができるためベター。

AWS Firewall Manager

Amazon Route53

Amazon CloudFront

Amazon API Gateway
Lambdaオーソライザーを設定すると、Cognitoと統合しユーザプールから発行されたユーザトークンの有無でAPI実行制御できる。ユーザ認証に3回失敗した場合は、1時間アクセス拒否させることができる。トークンベースのLambdaオーソライザ:JSONウェブトークンやOAuthトークンなどで発信者IDを受け取る。リクエストパラメータベースのLambdaオーソライザ:ヘッダー、クエリ文字列パラメータ、stageVariables、content変数の組み合わせで発信者IDを受け取る。

・Elastic Network Interface(ENI)
EC2をNATインスタンスとして利用する場合は、自分のIPアドレス宛ではないトラフィックを処理する必要があるため、ENIの送信元/送信先チェックを無効化する。

第四分野:アイデンティティ管理とアクセス管理

AWS IAM

AWS Directory Service
サブサービスとしてAD Connector(オンプレADへのプロキシ)、Simple AD(簡易なAD)、Microsoft AD(マネージドなAD)がある。

Amazon Cognito

AWS Organizations

第五分野:データ保護

AWS Certificated Manager
ACMの証明書はリージョナルリソース。CloudFrontにACM証明書を使用するには米国東部(バージニア北部)リージョンで発行する必要がある。

Amazon Secrets Manager
パスワードの自動ローテーションが必要なら利用。ただし有料。

AWS Systems Manager Parameter Store
Secure String属性のパラメータはKMSで暗号化。ローテーション出来ないが無料。

Amazon RDS

Amazon DynamoDB
サーバ側でのデータ暗号化は、テーブル作成時に有効にする。既存テーブルには有効化できない。HTTPSで伝送時に暗号化され、エンドポイントで復号化された後に保存時に再度暗号化。クライアント側でのデータ暗号化は、データソースからDynamoストレージまでずっと暗号化状態。

Amazon S3
サーバ側の保存データ暗号化方式としてSSE-KMS、SSE-S3、SSE-Cの3種。Glacierではオブジェクトを保存するコンテナとして「ボールト」という概念がある。ボールトロックを掛けると更新・削除ができない。ロックには2ステップあり、1)ロックを掛けるとInProgress状態となり、有効期限(24時間)の間にポリシーを検証。問題あればabortしてロックを作り直す。2)期限が切れるか明示的にロック処理を完了させるとロックは二度と解除できない。

Amazon EFS
保管時のデータ暗号化は、EFS作成時に有効化する。転送時のデータ暗号化は、EC2マウント時に有効化する。

AWS CloudHSM

AWS KMS
キーの保管と管理を行うマネージドシステム。KMSについては下記記事をご参照ください。

frontse.hatenablog.jp

まとめ

SAP、DOPの勉強がかなり活きていて、今回ド新規に勉強したことはSecurity HubとDetectiveくらいだったと思います。

ただ今まであまり深く触れてこなかったKMSやGuardDutyの理解、CloudTrailやTrusted Adviserのログ配信・更新頻度への意識などは深めることができたかなと。

資格勉強を通じてセキュリティ面のベストプラクティスを整理できたので、実業務でも自信を持って「これでセキュリティ担保できている!」と方式検討に当たっていきたいと思います。