はじめに
AWS認定セキュリティ専門知識(SCS)について、受験者数の絶対数が少ないのか試験対策に関する参考記事の投稿が少なく情報収集に苦労しました。
今回、2ヶ月ほどの準備をして取得できた試験準備のコツなどについてまとめてみました。セキュリティ専門知識に関わるAWS関連サービスのイメージを掴んでいただければ幸いです。
本記事の主な対象者
- AWS認定の他の試験区分は取得済みで、セキュリティ専門知識の受験を検討している方
- 取得に向けて有効な学習方法などの情報収集したい方
筆者のAWS認定履歴
|AWS認定 |取得日 |
|---|---|---|
|ソリューションアーキテクト - アソシエイト |2018-05-13|
|デベロッパー - アソシエイト |2018-06-03|
|SysOpsアドミニストレーター - アソシエイト | 2018-06-10|
|ソリューションアーキテクト - プロフェッショナル |2018-07-29|
|DevOpsエンジニア - プロフェッショナル |2018-08-26|
|ビッグデータ専門知識 |2019-08-25|
|セキュリティ専門知識 |2019-12-08|
実は、昨年のDevOpsエンジニアプロフェッショナルを取得直後に、模擬試験無料バウチャーを使用して模擬試験を受けていました。その時は半分程度のスコアだったのを今でも覚えています。それから、計画止まりとなっていましたが、ビッグデータ専門知識を取得したことをきっかけに再度取得を目指すこととしました。
今回のスコア(2019-12-08受験)
総合スコア: 831/1000 (ボーダー750)
スコアと評価
分野 1: インシデント対応 -> 再学習の必要あり
分野 2: ログと監視 -> 十分な知識を有する
分野 3: インフラストラクチャのセキュリティ -> 十分な知識を有する
分野 4: ID およびアクセス管理 -> 十分な知識を有する
分野 5: データ保護 -> 十分な知識を有する
AWS認定セキュリティ専門知識(SCS)について
ここからが本題となります。
まずは、以下の公式ページから試験概要の把握を行いました。
具体的な試験準備で効果があったと思えること
実際に受験をしてみて、試験対策として効果があったと思う内容について、主観的な効果度合いで順に記載します。
-
AWS サービス別資料 (旧ブラックベルト)
分野毎に、理解したと思えるレベルまで繰り返し読みこみました。あとはセキュリティ関連すると思われたホワイトペーバーをざっと目を通し、横串の全体感を把握しました。- インシデント対応
- EC2, IAM, CloudWatch, Lambda, KMS, SES
- ログと監視
- CloudTrail, Config, CloudWatch, Athena, SNS
- インフラストラクチャのセキュリティ
- VPC, CloudFront, WAF, Shield, Inspector, Trusted Advisor, GuardDuty, Macie
- IDおよびアクセス管理
- IAM, Directory Service, Organizations, Cognito, S3/Glacier, KMS
- データ保護
- KMS, CloudHSM, Certificate Manager, Systems Manager, Secrets Manager
- ホワイトペーバー
- セキュリティのベストプラクティス
- KMSのベストプラクティス
- DDoSに対するベストプラクティス
- インシデント対応
-
ユーザーズガイド
プロフェッショナルやスペシャリティの試験区分になるとワンライナーの知識問題が出ることは稀で、ほぼほぼシナリオベースの与えられた条件の中からもっともらしいものを選択する能力が問われます。
これは、いくつかの試験区分を受けてみての経験則なのですが、正答を選択する基本的な考え方は、ユーザーズガイドに網羅されています。逆に、ユーザーズガイドに記載されていない技術的な手法は正答になり得ない可能性が高いと考えます。理解が不足している内容に遭遇した場合、ユーザーズガイドから該当部分を探してみる、記載されているチュートリアル通りに手を動かしてみるといったことをお勧めします。- ユーザーズガイド: チュートリアル:AWS アカウント間の IAM ロールを使用したアクセスの委任
-
動画学習サイトの活用
英語力は必要となりますが、網羅的な試験対策コースがあります。動画を視聴する時間はそれなりに取られます。何れかのサイトを利用しておくと試験前の安心感が得られると思います(サイトのみの紹介、コースはお好みで)
その他試験TIPS
以下、私見を多分に含むメモです。キーワードの参考に。
AWSサービス
IAM
- ポリシードキュメントJSONレベルの認証認可トラブルシューティング
- STSに関わる、IAMロール の 信頼ポリシー3つの区分
- Permissions Boundary によるアクセス制御
- リソースベースのポリシーと、IDベースのポリシーは何が違うか
Organization
- Service control policies による組織内アカウントrootユーザーのアクセス制御
CloudTrail
- ヒトに着目したログ収集
- マルチリージョン、マルチアカウント
- S3に集まるログをどう活用するか
Config
- モノに着目したログ収集
- ルールに基づく適合評価、修復アクション
- AWS Maneged: ベーシックなルール
- Customer Maneged: Lambdaでカスタマイズする独自管理ルール
CloudWatch
- ログ集積基盤、各サービスから集めたログから何ができるかは結局同じ
- フィルタ > メトリクス > アラート
KMS
- ホワイトペーバー記載事項の理解(必ず目を通して下さい)
- 3つの鍵の区分とローテーション、削除の運用
- キーポリシーと、IAMポリシーの併用が必要となるアクセス制御
EC2
- EC2 SSHキーペア、トラブルシューティング
- メタデータ内の公開鍵のありか
- KMSと絡めたEBS、AMI、スナップショットの暗号化できることできないこと
VPC
- ルートテーブル、NAT、NACL、SG、ネットワーク疎通トラブルシューティング
CloudFront
- 地域制限。国単位でブラックリスト、ホワイトリスト指定可能
- OAIによるS3保護
- CloudFront用のSSL証明書は、バージニア北部リージョン(us-east-1)にて設定
- デフォルト証明書
- カスタム証明書(ACM、IAM)
- WAF連携による詳細なアクセス制限
WAF、Shield
- WAFのルールで設定可能なアクセス制限
- クロスサイトスクリプティング
- GEO制限
- IPアドレス
- サイズ
- SQLインジェクション
- 文字列パターンマッチ(ヘッダ、メソッド、クエリ、ボディ)
- Shieldアドバンスドは課金必要
Inspector
- EC2にエージェントをインストールするEC2ホスト診断
- ルールパッケージ4つの違い
- CVE(Common Vulnerabilities and Exposures)共通脆弱性識別子- 主要なベンダーのソフトウェア製品の脆弱性をチェック
- CIS - 業界標準のOSレベルのセキュリティベンチマーク
- セキュリティのベストプラクティス - 主にSSH、パスワードに関するセキュリティチェック
- ネットワーク到達可能性(旧:実行時の振る舞い分析) - ネットワーク設定を分析して セキュリティ上の脆弱性、ポートをチェック
- 主要なベンダーのソフトウェア製品の脆弱性をチェック
Trusted Advisor
- SGのポート無制限チェック、IAMのベストプラクティス適合チェック
Lambda
- ファンクションポリシー、実行ロール
SSM
- Patch Manager
- パラメータストア
- Run コマンド
ユースケース
認証情報漏洩、紛失、剥奪
- AWS アクセスキー
- SSH キーペア
- root ユーザーアカウント管理
オンプレミス連携(ADFS)
- データセンターとのセキュアな回線接続
- IAMロール、STS、SAMLをベースとしたADFS仕組みの深い理解
DDoS対策
- ホワイトペーバーのDDos基本対策の理解
- エッジセキュリティとしてのCloudFrontの機能
- L3/L4、はShieldでデフォルト保護
- L7は、WAFで自前保護
- 混同しがちな2つのWAF
- AWS WAF
- 3rdPartyWAF on EC2 (要サンドイッチ)
SSL証明書の運用
- ACMおよびIAMで管理
- CloudFrontは、バージニア北部リージョン(us-east-1)にて設定
- ALBはサービスを展開する任意のリージョンにて設定
- TLSターミネーションはどこでするか
おわりに
今回は、CloudFrontやWAFを設定してみて、curlを投げで遊ぶなど、手を動かしながら楽しく学ぶことでできました。
その他日頃触らないようなAWSサービスに触れてみる良い機会にもなりました。
今後受験を検討される方の一助になれば幸いです。