[レポート] AWS のマネージドサービスを使ったセキュリティ強化のための自動化 JAWS DAYS 2018

ども、大瀧です。 日本のAWSユーザーグループであるJAWS-UG主催イベントJAWS DAYS 2018のセッション「AWS のマネージドサービスを使ったセキュリティ強化のための自動化に参加しましたので、そのレポートを紹介します。

スピーカーは@manabusakaiさんです。

  • 確定申告してますか?
  • freeeのサービス紹介
    • お金や人の情報なので情報漏洩は絶対ダメ
  • そのためには...
    • OSのパッチ当て、すぐにできますか?
    • DoS攻撃やリスト攻撃を自動でブロックしたい
    • 改ざん対策
  • やりたいことは多数、でも人は少ない。SRE 5人
    • そうだ、自動化だ!
  • AWSにはセキュリティ強化に使えるサービスがいろいろある
    • 今回はそれらを利用したセキュリティ対策自動化の手法を3つ紹介する

1. CodeBuildを使ったAMIの自動作成

  • Golden AMI方式
    • 修正パッチを当てるにはAMIの作り直し
    • 自動化する前はPackerでAMI作成を都度キックしていた
    • 緊急度の高い修正パッチ対応は総出でやっていた
  • CodeBuild
    • Circle CIみたいなCIサービス
    • PackerはGoで書かれているので、CodeBuild & Dockerで動かせそう
    • 1コマンドで完了!(並列で50個くらいCodeBuildのビルドが走る)
    • Rubyでラッパースクリプトを書いた
    • 15分くらいで済んだ、あるパッチでは1名が半日で対応完了

2. AWS WAF

  • 自動化する前は異常なトラフィック(4XXとか)に気づかないと対策できない
  • ソースIPがコロコロ変わると気づけない&対策大変
    • セキュリティグループ/NACLでは無理、nginxのブラックリストも増えると負荷がかかる
  • AWS WAFを使う!
    • CloudFront/ALBに紐づけて使う
    • IPマッチング、GeoIPもできる
    • 初動対策に!
    • 検知したらSlackに流す
    • Rate-basedルールで大量アクセスの対策
    • 自動でブロックしてくれるのが助かる。エンジニアが手を動かせる

3. GuardDuty

  • 脅威検出はほとんど対策できていなかった
  • EC2へのポートスキャンとかをほぼリアルタイムで検出!
  • CW Events->Lambda->Slackで通知
  • 重要度によってメンション先を調整

補足/まとめ

  • 補足 : 大事なのは多層防御
  • まとめ : 昔は箱買ってきて機能追加が必要だったけど、今はアイデアひとつでサービスの組み合わせでセキュリティ対策できる!

感想

とかくリアクティブになりがちなセキュリティ運用を、AWSサービスと自動化の作り込みでプロアクティブに対応しているユニークなセッションでした。自動化のメリットとしてSREエンジニアの手が空けられる、動かせるというのは今まで意識したことがなかった視点だったので、新鮮でしたし意識することで業務にも役立てられそうだなと思いました。