【レポート】Inspectorを利用したDevSecOpsのSecの自動化 #reinvent #SID404
こんにちは、臼田です。
今回はre:Invent 2017で行われたSID404 - Amazon Inspector – Automating the “Sec” in DevSecOpsのセッションをレポートします。
レポート
- このセッションではAmazon Inspectorを利用して、自動的に環境のセキュリティを安全に保つ具体的な方法について話します。
- 全てが自動化される必要があります。
Inspectorエージェントのインストール
- インストールをまだ手動で行っていますか?
- ここから既に自動化できます
- インストール方法は下記の方法があります
- 標準実装されているRun Commandを利用する
- Systems Managerを利用した自前の自動化
- EC2のUserData利用
- CloudWatchでLambdaとSSMを動かす
- まず、現在Windows及びAmazon LinuxはSystems Manager(SSM)が利用でき、それ以外のOSでもインスタンス作成時にインストールすることが可能です。
- SSMがあればなんでもできると言っても良い
標準実装されているRun Commandを利用する
- SSMの画面に移動します
- 「AmazonInspector-ManageAWSAgent」のRun Commandを実行するだけです
EC2のUserData利用
- UserDataに組み込んで最初からインストールすることもできます
#!/bin/bash cd /tmp curl -O https://d1wk0tztpsntt1.cloudfront.net/linux/latest/install chmod +x /tmp/install /tmp/install
CloudWatchでインスタンス作成時にLambdaとSSMを動かす
- CloudWatchイベントで、EC2作成時にLambdaを実行するようにする
- LambdaからSSMでインストールする
- 詳細はHow to Simplify Security Assessment Setup Using Amazon EC2 Systems Manager and Amazon Inspector | AWS Security Blog
サードパーティシステムとの連係
- 様々なサードパーティシステムと連携することが可能
- これらを利用したアラート、ワークフロー、チケットシステムなどに繋げることができる
- Inspectorで検知した内容はSNSで送ることが可能
- 例えば、LambdaでSNSをトリガーにチケットシステムで起票することができる
- 詳細はScale Your Security Vulnerability Testing with Amazon Inspector | AWS News Blog
発見した脆弱性の自動修復
- 同じくSNSを利用してリマインドの仕組みを作ることも可能
- Lambdaを経由してSSMで脆弱性を発見したパッケージのアップデートを実行
- 詳細はHow to Remediate Amazon Inspector Security Findings Automatically | AWS Security Blog
まとめ
脆弱性の検査やパッチの適用は、運用で全てをカバーしようと思うと大変な部分があります。
上記のような自動化を利用して、負荷のなく無理のないDevSecOpsを実現していきたいですね。