AWS CLF入門 - セキュリティ編

# はじめに
AWS CLF (AWS Certified Cloud Practitioner) を取得した際の学習記録をアウトプットとして以下に記す。

# リンク
[ネットワーク](https://qiita.com/yashiuri/items/31b2c9c3c49c2584cd01)
[セキュリティ](https://qiita.com/yashiuri01/items/73e5310b09ff41912862)
[コンピューティング](https://qiita.com/yashiuri01/items/9eaf71a1590e7815f9ef)
[コンテナ](https://qiita.com/yashiuri01/items/708b57ee179ae29e72a9)
[スケーリング](https://qiita.com/yashiuri01/items/79050093aff66b0f0665)
[ストレージ](https://qiita.com/yashiuri01/items/6d48d81f5a1651dcc999) 
[データベース](https://qiita.com/yashiuri01/items/159ea63b197f7a836d1c)
[メッセージ](https://qiita.com/yashiuri01/items/d98772b540ef2201c4e2)
[モニタリング](https://qiita.com/yashiuri01/items/64f6dbf38603cdb4828a)
[デプロイ](https://qiita.com/yashiuri01/items/85151311897d6afd429c)
[コストとサポート](https://qiita.com/yashiuri01/items/bac23130a43d62677330)
[移行とイノーベーション](https://qiita.com/yashiuri01/items/6e327034a7c50d56ca88)
[AWS用語集](https://qiita.com/yashiuri01/items/bd36c99623ca596b76e4)


## セキュリティ
### **責任共有モデル**

- リソースの安全性を確保する責任はAWSとお客様の両方にある。(責任共有モデル)
- それぞれの担当は以下
    - AWS - クラウドのセキュリティ
    - お客様 - クラウド内のセキュリティ

詳しい責任分界点は以下。
![IMG_8258.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287165/66bb93e0-5b8b-7ab5-b0f5-d0a150627832.png)


### **AWS IAM (Identity and Access Management)**

- AWSサービスやリソースアクセスの管理をする
- 構成要素
    - ルートユーザ
    - IAMユーザ
    - IAMポリシー
    - IAMグループ
    - IAMロール
    - IDフェデレーション
        - 外部の[認証](https://hogetech.info/security/auth/openid/federation#auth)サーバーを利用して、サインイン (ログイン) する技術
        - フェデレーションと AWS Identity and Access Management (IAM) を使用して、AWSアカウントへのシングルサインオン(SSO）を有効にすることができる
    - 多要素認証(MFA)

ルートユーザー
- アカウントにおける全てのAWSサービスとリソースにアクセスできる
- ベストプラクティス
    - 日常のタスクにルートユーザーを**使用しない**ようにする
![IMG_8259.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287165/a412771d-2545-ae65-254b-9a04ddff6aef.png)

    
IAMユーザー   
- お客様が AWS 内に作成する ID で、AWS のサービスやリソースを操作するユーザーやアプリケーション
- デフォルトではアクセス許可は何も関連づけられないため、必要なアクセス許可を付与すること
- ベストプラクティス
  - AWS にアクセスする必要がある**ユーザーごと**に、個別の IAM ユーザーを作成する
    
IAMポリシー  
- AWS のサービスとリソースへのアクセスを許可または拒否するドキュメント
- IAMユーザー、グループ、ロールに適用
- ベストプラクティス
  - アクセス許可を付与するときは、**最小権限**というセキュリティの原則に従う
    
IAMグループ
    
- IAMユーザーの集合
- グループ内のすべてのユーザーに、ポリシーで指定されたアクセス許可が付与される
    
IAMロール   
- アクセス許可を一時的に利用するために引き受けることができるアイデンティティ
- ベストプラクティス
  - IAM ロールは、サービスやリソースへのアクセス権を長期的にではなく**一時的に付与する**必要がある状況に適しています。
    
多要素認証(MFA)
    
- パスワードを入力後、2 個目の認証形式が必要になる認証
- ベストプラクティス
  - **ルートユーザーとアカウント内のすべての IAM ユーザー**に対して MFA を有効にする

### AWS Organizations

- 複数の AWS アカウントを一元的に統合および管理
  - 複数のAWSアカウントをポリシーベースで管理
  - アカウントのグループを作成し、アカウントの作成を自動化
  - グループのポリシーを適用、および管理
- 一括請求(Consolidated Billing)
- アカウントの階層的グループOU(Organizational Unit)に分割
- SCP (Service Control Policy)
  - AWSサービスおよびAPIアクションのアクセスコントロールを制御
  - 組織のルート、個別のメンバーアカウント、OUに適用

### **AWS Artifact**

- AWS のセキュリティおよびコンプライアンスレポートのオンデマンドでの利用と、特定のオンライン契約を提供するサービス
- AWS Artifact Agreements
  - 個別のアカウントと AWS Organizations のすべてのアカウントにおいて契約の確認、受諾、管理を行うことができる
  - 特定の規制の対象となる顧客のニーズにも対応
- AWS Artifact Reports
  - サードパーティーの監査人からのコンプライアンスレポートを提供
- カスタマーコンプライアンスセンター
  - AWSコンプライアンスの詳細を確認できる
  - 例
    - コンプライアンスに関する重要な質問に対する AWS の回答
    - AWS リスクとコンプライアンスの概要
    - セキュリティ監査チェックリスト

### **AWS Shield**

- DDoS攻撃からAPPを保護するサービス
- AWS Shield Standard
    - すべての AWS のお客様を無料で自動的に保護します。
    - 最も一般的で頻度の高いタイプの DDoS 攻撃から AWS リソースを保護します。
- AWS Shield Advanced
    - 詳細な攻撃診断と高度な DDoS 攻撃の検出および緩和機能を提供する有料サービス
    - Amazon CloudFront、Amazon Route 53、Elastic Load Balancing、WAF などの他のサービスと統合
    

### **サービス妨害(Denial-of-Service (DoS))攻撃と分散型サービス妨害(Distributed -Denial-of-Service (DDoS))攻撃の仕組み**
![IMG_8260.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287165/4508d926-a0a9-b5c4-3453-97e29df4f200.png)


- DDoSの例
    - UDPフラッド(ブルートフォース攻撃)
        - セキュリティグループで対応可能
    - HTTPレベル
    - SLOWLORIS攻撃
        - ELBで対応可能

### **AWS KMS (Key Management Service)**

- 暗号化キーを使用して暗号化オペレーションを実行できる

### **AWS WAF (Web Application Firewall)**

- ウェブアプリケーションに入ってくるネットワークリクエストをモニタリングするウェブアプリケーションファイアウォール
- Amazon CloudFront および Application Load Balancerと連動
- ウェブアクセスコントロールリスト(WACL)を使用してAWSリソースを保護
- メトリクス発行感覚はデフォルト1分

### **Amazon Inspector**

- 自動化されたセキュリティ評価を実行して、アプリケーションのセキュリティとコンプライアンスを改善することができる
- 構成要素
    - ネットワークの到達性に関する設定
    - Amazonエージェント(EC2インスタンスにインストール)
    - セキュリティ評価サービス

### **Amazon Guard Duty**

- AWS 環境内におけるネットワークとアカウントのアクティビティを継続的にモニタリングし、脅威を特定
![IMG_8261.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287165/b4883f3f-f194-f774-f461-e84dffb0aa77.png)



### **Amazon Cognito**

- ウェブアプリケーションおよびモバイルアプリに素早く簡単にユーザーのサインアップ/サインイン、アクセスコントロールの機能を追加できるサービス
- 主にモバイル向け
- ユーザープール
    - アプリユーザーのサインアップとサインインオプションを提供するユーザーディレクトリ
- IDプール
    - AWS の他のサービスに対するアクセスをユーザーに許可