Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kibana + Winlogbeatで実現:Windowsのログ分析入門

3,696 views

Published on

Date: 2017-20-24
Place: Hikarie 24th floor
Event: 第10回 セキュリティ共有勉強会

Published in: Technology
  • Be the first to comment

Kibana + Winlogbeatで実現:Windowsのログ分析入門

  1. 1. Kibana + Winlogbeatで実現: Windowsのログ分析入門 第10回 セキュリティ共有勉強会 Future Architect 中井 祐季 1
  2. 2. 目的 Kibanaを使ったセキュリティログ分析について知ってもらいたい 2
  3. 3. 自己紹介 名前:中井 祐季 所属:フューチャーアーキテクト株式会社 金融ビジネスグループ コンサルタント 興味:英語、神話、語源 趣味:爬虫類 3
  4. 4. 最近の攻撃 例えばActiveDirectoryでリソース管理をしていれば、 ActiveDirectoryに「調査」を仕掛け、攻撃の準備をされているかも知れない。 4 最近は特定の情報や企業を狙った「標的型攻撃」が報道されている
  5. 5. Active Directory ログ分析の課題 解決! 0 5 10 15 20 25 30 ログを保存していない その他 ログ運用のための社内調整に時間がかかる ルールや基準が存在しない 分析のための工数が割けない 分析に関する十分なノウハウがない 5 出典:ログを活用したActive Directoryに対する攻撃の検知と対策 https://www.jpcert.or.jp/research/AD.html ログに出るのは知っている。でも、本当に監査できているか?
  6. 6. Elastic Stackを使う! elasticsearch logstashkibana 可視化・分析 集積・正規化 beats 保存・蓄積集積 Elastic Stackとはデータの検索、分析、正規化をするためのツール群 6
  7. 7. Elastic Stackを使う! elasticsearch logstashkibana 可視化・分析 集積・正規化 beats 保存・蓄積集積 取り込んだデータから様々なグラフを自由に作成できるKibana 7
  8. 8. Elastic Stackを使う! elasticsearch logstashkibana 可視化・分析 集積・正規化 beats 保存・蓄積集積 エッジマシンから様々なデータをElasticsearchに取り込んでくれるBeats 8
  9. 9. Elastic Stackを使う! elasticsearch logstashkibana 可視化・分析 集積・正規化 beats 保存・蓄積集積 ログを好きな形に正規化し、Elasticsearchに取り込んでくれるLogstash Input Filter Output 9
  10. 10. Elastic Stackを使う! elasticsearch logstashkibana 可視化・分析 集積・正規化 beats 保存・蓄積集積 BeatsやLogstashをはじめとしたデータを保存、蓄積してくれるElasticsearch You know, for search Data 10
  11. 11. Elastic Stackを使う! elasticsearch logstashkibana 可視化・分析 集積・正規化 beats 保存・蓄積集積 今回使うのはこの3つ! 11
  12. 12. 環境 Internet Windows 2012 R2 Base Active Directory Winlogbeat Centos 7 Java Kibana Elasticsearch Windows 2012 R2 Base (踏み台) ドメイン参加 TCP 5601 TCP 9200 TCP 3389 12
  13. 13. Elastic Stackの構築は簡単! Java インストール Kibana/Elasticsearch インストール Kibana/Elasticsearch サービス起動 リポジトリ登録 Kibana/Elasticsearch yml編集 Kibana/Elasticsearch サービス化 今回はたったの6Stepで準備完了 13 ① ② ③ ④ ⑤ ⑥ *ルート権限必要
  14. 14. Winlogbeatの構築 winlogbeat ダウンロード Program Filesに移動 ファイル名の変更 ymlの編集 サービス化 サービススタート winlogbeat-6.0.0-rc1~ →Winlogbeat PowerShellで実行 こちらもたったの6Stepで準備完了 Elasticsearchに取り込み完了 14参考:Elasticsearch Homepage https://www.elastic.co/guide/en/beats/winlogbeat/6.0/winlogbeat-installation.html ① ② ③ ④ ⑤ ⑥
  15. 15. Kibanaの画面 Kibanaにアクセス(http://KibanaのIP:5601)するとDiscover画面はこんな感じになる ログの詳細 ログの件数 検索バー ナビゲーション 15 タイムフレームの設定
  16. 16. シナリオ 「ログの削除」は痕跡を隠ぺいするための不審な行動として確認したほうがいいので、 以下のシナリオを考えてみる。 本当にKibanaで簡単に確認することができるか? demo_admin 怪しいタスク 全ログ 作成 生成 16 タスク作成ログ 削除
  17. 17. グラフの作成 イベントログの削除なんて怪しい行動を見張らない手はないので、EventID1102 データがあればここにグラフが出る イベントログ削除のeventIDは1102 17 ※棒グラフ作成の場合
  18. 18. 怪しいタスクを作成、ログを削除 イベントログを 消しちゃう 18
  19. 19. 確認できるか? イベントログが消されてるのがわかる! さっき作ったグラフを確認してみると、、、 カーソルをあてると設定した詳しい情報も見える 19
  20. 20. 追跡してみる 削除のログが出てる前の時間を指定 ユーザがdemo_adminと分かっているので指定 20
  21. 21. 追跡してみる 削除のログが出てる前の時間を指定 ユーザがdemo_adminと分かっているので指定 21
  22. 22. 追跡してみる 削除のログが出てる前の時間を指定 ユーザがdemo_adminと分かっているので指定 22 ログは消されてもElasticsearchに残っている! 過去分に遡ってフォレンジック調査が可能!
  23. 23. 結果 イベントログの削除の特定からユーザの不審な行動を確認することができた。 分析ノウハウ JPCERTを参考にグラフを作成 分析用工数 環境構築 12 Step+グラフ作成 グラフから得られる情報を追うだけ! 構築用コスト オープンソースなのでタダ! 23
  24. 24. JPCERTの活用 イベントID 説明 4698 スケジュールされたタスクの作成 1102 イベントログの消去 4624 ログインの成功 4625 ログインの失敗 4768 Kerberos認証(TGT要求) 4769 Kerberos認証(ST要求) 4776 NTLM認証 4672 特権の割り当て 今回はeventID:1102を例にとって見たが他にも調査すべきログの例をJPCERTが公開している。 他にもActive Directoryに対する攻撃の対策方法なども記載されているので確認しましょう! 24
  25. 25. 25 ありがとうございました。
  26. 26. 26 Appendix
  27. 27. Elastic Stack構築詳細 $ yum -y install java-1.8.0-openjdk $ java --version $ yum -y install elasticsearch $ yum –y install kibana $ systemctl start elasticsearch $ systemctl start kibana $vi /etc/yum.repos.d/elastic.repo $ vi /etc/elasticseach/elasticsearch.yml $ vi /etc/kibana/kibana.yml $ systemctl enable elasticsearch $ systemctl enable kibana Java インストール Kibana/Elasticsearch インストール Kibana/Elasticsearch サービス起動 リポジトリ登録 Kibana/Elasticsearch ymlの編集 Kibana/Elasticsearch サービス化 [elastic-6.x-prerelease] name=Elastic repository for 6.x prerelease packages baseurl=https://artifacts.elastic.co/packages/6.x- prerelease/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY- elasticsearch enabled=1 autorefresh=1 type=rpm-md #kibana.yml server.host: KibanaのIP elasticsearch.url: “http://ElasticsearchのIP:9200” #elasticsearch.yml network.host: ElasticsearchのIP 27 ローカルで動かす場合は ymlファイルの変更はしなくても動く
  28. 28. Winlogbeat設定 28 winlogbeat ダウンロード Program Filesに移動 ファイル名の変更 ymlの編集 サービス化 サービススタート #winlogbeat.yml output.elasticsearch: # Array of hosts to connect to. hosts: [“ElasticsearchのIP:9200"] $ cd ‘C:Program FilesWinlogbeat’ $ .install-service-winlogbeat.ps1 $ net start winlogbeat ローカルで動かす場合は ymlファイルの変更はしなくても動く
  29. 29. グラフの作成 y軸はカウント x軸は時間 時間は@timestampフィールドから取得 日単位で表示 さらにevent_idというフィールドの 情報だけを表示する 同じように項目を追加して userも表示されるようにする 29 y軸のMax,Minの設定 (発表中のグラフ詳細)
  30. 30. イベントログ出力設定 30 イベントログの初期設定状態では監査が無効になっているものがあるので有効化する必要がある ①”gpedit.msc”を検索し、実行 ②ここまで展開する ③ここの項目を一つずつ選択 ④構成する監査イベントを選択する 今回の設定項目 変更後の設定 特殊なログオン 成功および失敗 その他のオブジェクト アクセス イベント 成功および失敗 Kerberos サービス チケット操作 成功および失敗 Kerberos 認証サービス 成功および失敗 資格情報の確認 成功および失敗

×