EC2とCloudWatchで始める高対話型ハニーポット運用
by
Hiroto Sasagawa
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
EC2とCloudWatchで始める SSHハニーポット運⽤ 笹川 尋翔
Slide 2
Slide 2 text
Amazon EC2(Elastic Compute Cloud) • インターネット経由でコンピューティングリソースを 利⽤できるサービス • 性能要件や利⽤⽤途ごとに様々なインスタンスを選択 • EBS(Elastic Block Store)と呼ばれるブロックストレージを組み 合わせて利⽤
Slide 3
Slide 3 text
Amazon CloudWatch • AWSのサービスなどのアプリケーションを モニタリングできるサービス • ログやメトリクスをCloudWatchのエンドポイントへ送信する ことでマネジメントコンソール上でデータを可視化
Slide 4
Slide 4 text
ハニーポット(honeypot) • 悪意のある攻撃を受けやすいようにハードウェアや ソフトウェアを設定 • 攻撃者を特定、あるいは攻撃⼿法を分析するシステム • 低対話型: OSやコマンドなどをエミュレート • ⾼対話型: 実際のOSやインスタンスを使⽤
Slide 5
Slide 5 text
アーキテクチャ • VPC(Virtual Private Cloud) • プライベートサブネット • インターネットGW • ルートテーブル • t3a.microインスタンス • Elastic IPアドレス
Slide 6
Slide 6 text
アーキテクチャ 1. VPCにインターネットGWをアタッチ 2. ルートテーブルにインターネットGWを登録 3. EC2インスタンスをプライベートサブネットに配置 4. EC2インスタンスにElastic IPをアタッチ
Slide 7
Slide 7 text
EC2インスタンスの設定 • 実⾏されたコマンドをrsyslogでログに記録するように設定 • /etc/ssh/sshd_config • PermitRootLoginをyesに変更 • PasswordAuthenticationをyesに変更 • sudo systemctl reload sshでssh.serviceをリロード
Slide 8
Slide 8 text
EC2インスタンスの設定 • CloudWatch Agentをインストール • EC2のログやメトリクスを取得するためのソフトウェア • CloudWatch Agentのjson形式の設定ファイルを対話的に⽣成
Slide 9
Slide 9 text
/opt/aws/amazon-cloudwatch-agent/bin/config.json
Slide 10
Slide 10 text
CloudWatchでログを表⽰ • auth.log • ログイン認証を試⾏した際の • タイムスタンプ • 送信元グローバルIPアドレス • ⼊⼒されたユーザ名 • ⼊⼒されたパスワード • 認証の可否(success, fail) • commands.log • コマンドが実⾏された際の • タイムスタンプ • コマンドを実⾏したユーザ名 • 実⾏されたコマンド
Slide 11
Slide 11 text
auth.log
Slide 12
Slide 12 text
commands.log
Slide 13
Slide 13 text
今後の課題 • ハニーポットを植えたのに攻撃が来る頻度が極端に少ない • nmapコマンドでpingを使ったポートスキャンができないから? • pingはICMPを使う • ICMPのインバウンド通信を許可していなかった • CloudWatchのグラフによるデータの可視化