$30 off During Our Annual Pro Sale. View Details »

EC2とCloudWatchで始めるSSHハニーポット運用

nagutabby
September 28, 2022

 EC2とCloudWatchで始めるSSHハニーポット運用

nagutabby

September 28, 2022
Tweet

More Decks by nagutabby

Other Decks in Programming

Transcript

  1. EC2とCloudWatchで始める SSHハニーポット運⽤ 笹川 尋翔

  2. Amazon EC2(Elastic Compute Cloud) • インターネット経由でコンピューティングリソースを 利⽤できるサービス • 性能要件や利⽤⽤途ごとに様々なインスタンスを選択 •

    EBS(Elastic Block Store)と呼ばれるブロックストレージを組み 合わせて利⽤
  3. Amazon CloudWatch • AWSのサービスなどのアプリケーションを モニタリングできるサービス • ログやメトリクスをCloudWatchのエンドポイントへ送信する ことでマネジメントコンソール上でデータを可視化

  4. ハニーポット(honeypot) • 悪意のある攻撃を受けやすいようにハードウェアや ソフトウェアを設定 • 攻撃者を特定、あるいは攻撃⼿法を分析するシステム • 低対話型: OSやコマンドなどをエミュレート •

    ⾼対話型: 実際のOSやインスタンスを使⽤
  5. アーキテクチャ • VPC(Virtual Private Cloud) • プライベートサブネット • インターネットGW •

    ルートテーブル • t3a.microインスタンス • Elastic IPアドレス
  6. アーキテクチャ 1. VPCにインターネットGWをアタッチ 2. ルートテーブルにインターネットGWを登録 3. EC2インスタンスをプライベートサブネットに配置 4. EC2インスタンスにElastic IPをアタッチ

  7. EC2インスタンスの設定 • 実⾏されたコマンドをrsyslogでログに記録するように設定 • /etc/ssh/sshd_config • PermitRootLoginをyesに変更 • PasswordAuthenticationをyesに変更 •

    sudo systemctl reload sshでssh.serviceをリロード
  8. EC2インスタンスの設定 • CloudWatch Agentをインストール • EC2のログやメトリクスを取得するためのソフトウェア • CloudWatch Agentのjson形式の設定ファイルを対話的に⽣成

  9. /opt/aws/amazon-cloudwatch-agent/bin/config.json

  10. CloudWatchでログを表⽰ • auth.log • ログイン認証を試⾏した際の • タイムスタンプ • 送信元グローバルIPアドレス •

    ⼊⼒されたユーザ名 • ⼊⼒されたパスワード • 認証の可否(success, fail) • commands.log • コマンドが実⾏された際の • タイムスタンプ • コマンドを実⾏したユーザ名 • 実⾏されたコマンド
  11. auth.log

  12. commands.log

  13. 今後の課題 • ハニーポットを植えたのに攻撃が来る頻度が極端に少ない • nmapコマンドでpingを使ったポートスキャンができないから? • pingはICMPを使う • ICMPのインバウンド通信を許可していなかった •

    CloudWatchのグラフによるデータの可視化