黒曜 / @kokuyouwind
名古屋在住
Leaner Technologies Inc. 所属
Railsエンジニア
Next.js とか AWS 周りも触ってる
何をどこまでやれば……?
AWSのベストプラクティスに従う
SecurityHub でセキュリティチェック
なるべく持ち物を減らし、ツールの既定に合わせる
Fargateを使い管理対象インスタンスを減らす
ネットワーク環境構築をCopilot CLIに任せる
アプリケーションレベルでもAWSサービスを活用する
典型的な攻撃はアプリ到達前にWAFで防ぐ
ECRコンテナスキャンで脆弱性をチェックする
セキュリティレイヤーの分類
AWSアカウントのセキュリティ
ネットワークのセキュリティ
Webアプリのセキュリティ
データストアのセキュリティ
まとめ
セキュリティレイヤーの分類
AWSアカウントのセキュリティ
ネットワークのセキュリティ
Webアプリのセキュリティ
データストアのセキュリティ
まとめ
セキュリティレイヤーの分類
AWSアカウントのセキュリティ
ネットワークのセキュリティ
Webアプリのセキュリティ
データストアのセキュリティ
まとめ
リモートワークだと物理MFAデバイスのハードルが高い
ルート封印だけとはいえ、アカウント作るたびに
誰かがボトルネックになるのは避けたい
今は1passwordの仮想デバイスでMFA設定している
重要度: 中 以下は個別に対応するか検討している
Copilot CLIで作ったリソースが引っかかっているのは
リスク低ければ対応を見送っている
ログ系は全対応するとコストが嵩む
誤操作や悪用時のリスクを低減
徐々に設定を増やしていく戦略にしたので未導入
SSOなど自分が未使用だったものは
まず個別に触れてから統合サービスを入れたかった
新サービス用のAWSアカウント準備を優先したので
なるべく小さく対応したかった
次にAWSアカウント作る前には移行しておきたい
権限管理も現状は最低限の分類なので、
移行のタイミングで見直したい
セキュリティレイヤーの分類
AWSアカウントのセキュリティ
ネットワークのセキュリティ
Webアプリのセキュリティ
データストアのセキュリティ
まとめ
VPCだけでなくALBやECSのセキュリティグループも
自動で作ってくれる
ECSはALBからのアクセスしか受けつけない設定になる
ECS on Fargateになるので持ち物が減る
EC2のOSやミドルウェア更新を気にしなくて良くなる
copilot svc exec でsshライクな作業も可能
今ならApp Runnerだともっと持ち物を減らせる
WAF未対応など課題がありECSにしている
セキュリティレイヤーの分類
AWSアカウントのセキュリティ
ネットワークのセキュリティ
Webアプリのセキュリティ
データストアのセキュリティ
まとめ
AWS WAFを挟んで典型的な攻撃を到達前にブロック
基本的なManaged Ruleを適用
標準リクエストで引っかかってしまうエンドポイントは
個別に許可ルールを設定
ECRでコンテナイメージをスキャン
重大な脆弱性がないかだけ定期的にチェック
GitHub Dependabotでセキュリティアラート
VAddyで定期的に脆弱性検査テスト
Waf Charmのブログ記事にある
導入推奨セットがわかりやすい
Slack通知してFalse Positive なブロックがないかチェック
コンテナイメージを Clair でスキャンした結果が見られる
CVEは False Positive も結構出る
(DockerのFAQにも項目がある)
イメージ検査を重視するなら拡張スキャンにすると良さそう
(ただしスキャン毎のコストがそこそこ掛かるようになる)
セキュリティレイヤーの分類
AWSアカウントのセキュリティ
ネットワークのセキュリティ
Webアプリのセキュリティ
データストアのセキュリティ
まとめ
基本的なことをちゃんとやる
RDSはパブリックアクセスを無効にする
RDSの接続元はセキュリティグループで絞る
S3は「パブリックアクセスをすべてブロック」にする
データの暗号化を有効にする
SecurityHubに従っていれば上記は設定されているはず
セキュリティレイヤーの分類
AWSアカウントのセキュリティ
ネットワークのセキュリティ
Webアプリのセキュリティ
データストアのセキュリティ
まとめ
AWSのベストプラクティスに従う
SecurityHub でセキュリティチェック
なるべく持ち物を減らし、ツールの既定に合わせる
Fargateを使い管理対象インスタンスを減らす
ネットワーク環境構築をCopilot CLIに任せる
アプリケーションレベルでもAWSサービスを活用する
典型的な攻撃はアプリ到達前にWAFで防ぐ
ECRコンテナスキャンで脆弱性をチェックする