More Related Content
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」 PDF
分散トレーシング技術について(Open tracingやjaeger) PDF
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会 PPTX
え!?データがオンプレにあるけどPower BI で BI したいの? PDF
Infrastructure as Code (IaC) 談義 2022 PDF
PDF
What's hot
PDF
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) PPTX
20220409 AWS BLEA 開発にあたって検討したこと PDF
PDF
マルチテナント化で知っておきたいデータベースのこと PDF
PPTX
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について PPTX
PDF
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz... PDF
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf PDF
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料) PPTX
Zabbix による ms sql監視 ~データベースモニタリング~ odbc PDF
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料) PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!) PDF
Dockerfileを改善するためのBest Practice 2019年版 PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24 PPTX
IntuneとWSUSを使ってWindows Updateをやってみる。 PPTX
PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online/Kyoto 発... PDF
PDF
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮 PDF
Let's scale-out PostgreSQL using Citus (Japanese) Similar to 【JEUG】 オープンSIEMの世界へ
PDF
【SecurityJAWS】Kibana Canvasで魅せる!AWS環境における脅威分析ユースケース PDF
ログ分析からセキュリティ監視まで:Oracle Management Cloudで実現するIT運用データのビッグデータ分析 [Oracle Cloud D... PDF
【ことはじめ】 運用管理はリモート化できるのか?IT運用高度化、ことはじめ (Oracle Cloudウェビナーシリーズ: 2021年2月10日) PDF
【第21回Elasticsearch勉強会】aws環境に合わせてelastic stackをログ分析基盤として構築した話 PDF
Logs are better with elastic apm 20210623 PDF
PDF
セールスフォース・ドットコム Identity & Security PDF
Elastic Cloudを活用!!ゼロトラストセキュリティの「はじめの一歩」 PDF
オラクルの運用管理ソリューションご紹介(2021/02 版) PDF
PDF
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話. PDF
PPTX
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知 PDF
【基本を知ろう】クラウド・データレイクを実現する各サービス最新情報(Oracle Cloudウェビナーシリーズ: 2020年10月15日) PDF
クラウドではじめるリアルタイムデータ分析 #seccamp PDF
Oracle Cloud の セキュリティ・コンプライアンス 最新情報(Oracle Cloudウェビナーシリーズ: 2020年7月16日) PDF
Amazon Elasticsearch Service & Open Distro for Elasticsearch Meetup PDF
Oracle Cloud PaaS & IaaS:2019年8月度サービス情報アップデート PDF
[Modern Cloud Day Tokyo 2019] Oracle Cloud Infrastructure 基本サービス入門(2) - ユーザー管... PDF
Fluentd Meetup #2 @外道父 Fluentdを優しく見守る監視事例 More from Hibino Hisashi
PDF
【ログ分析勉強会】セッションアクティビティログは使えるのか PDF
【Log Analytics Tech Meetup】Beatsファミリーの紹介 PDF
AWS re:Inforce2019 re:Cap LT PDF
【Log Analytics Tech Meetup】オープンソースで実現するログ分析技術入門 PDF
【第31回Elasticsearch勉強会】Security for Elasticsearch PDF
【JAWS-UGコンテナ#14】ETL処理をServerlessにしてみた件 PDF
【YahooJapanMeetup#31LT】ElasticStack on AWS DeepDive PDF
【第20回セキュリティ共有勉強会】Amazon FSx for Windows File Serverをセキュリティ観点で試してみたお話 PDF
【第17回セキュリティ共有勉強会】WAF導入で見えた脆弱性管理のあれこれ PDF
【JANOG41.5】Telemetryワーキンググループの発足と参加のお願い PDF
【セキュランLT】国内金融機関に激震!!仮想通貨、要求されたらあなたはどうしますか? PDF
【DeepSecurityUserNight】我が家の箱入り娘を世間に晒すのは危険なのでDeepSecurityに見守ってもらった話 PDF
Security threat analysis points for enterprise with oss PDF
オープンソースソフトウェアで実現するエンタープライズにおけるセキュリティ脅威分析の勘所 【JEUG】 オープンSIEMの世界へ
- 1.
- 2.
2
自己紹介
名前:日比野 恒 (ひびのひさし)
所属:フューチャーアーキテクト株式会社
セキュリティアーキテクト (CISSP、CISA、情報処理安全確保支援士)
AIなどの「システム高度化」により、ITリテラシーの非対称性が拡大している
IoT/コネクテッド領域など、ITが人々の生活に密接に関わるにつれ、危機感を持つようになる
オープンな技術を用いたセキュリティログの分析プラットフォーム開発に目覚め、今に至る
- 3.
- 4.
- 5.
5
ログ管理製品の分類
Syslog 統合ログ管理 SIEM
相関分析
正規化
可視化
ログアーカイブ(長期保管)用途ログ分析(リアルタイム)用途
※IO性能よりもディスク容量やセキュリティ重視 ※ディスク容量よりもIO性能重視
【製品例】
①Qradar
②McAfeeSIEM
③Splunk Enterprise
【製品例】
①LogStorage
②LogRevi
③EventLog Analyzer
【製品例】
①Kiwi Syslog
②rsyslog
③syslog-ng
ログ収集
相関分析
正規化
可視化
ログ収集
相関分析
正規化
可視化
ログ収集
SIEM(Security Information and Event Management)は、セキュリティ脅威検知に特化したログ管理製品。
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
24
RDSのSQL監査ログ(1/3)
S3経由で取得したRDS(Oracleエンジン)のSQL監査ログのinput区はこんな感じ。
input {
s3 {
id=> "rds-audit"
bucket => “SIEM-AUDIT"
prefix => "/rds/audit/"
region => "ap-northeast-1"
sincedb_path => "/var/lib/logstash/sincedb_rds-audit"
codec => multiline {
pattern => "(<?xml .*|<Audit .*|xmlns:xsi|xsi:schemaLocation|<Version>|</AuditRecord>|</Audit>)"
negate => true
what => "next"
}
}
}
RDS Oracleのaudit_trailをOS形式で出力すると1レコードが複数行にまたがるログとなるため、codecでmultilineを指定する。
Patternで指定した文字列以外(negateがtrue)の行は、最初の行の後ろ(whatがnext)に追記して1件のログと認識する。
【参考】 https://dev.classmethod.jp/cloud/aws/rds-oracle-copy-audit-logs-to-s3/
- 25.
25
RDSのSQL監査ログ(2/3)
filter区はこんな感じ。次ページに続くw
filter {
xml {
source=> "message"
store_xml => false
xpath => [
"/AuditRecord/Audit_Type/text()","Audit_Type",
"/AuditRecord/Session_Id/text()","Session_Id",
"/AuditRecord/StatementId/text()","StatementId",
"/AuditRecord/EntryId/text()","EntryId",
"/AuditRecord/Extended_Timestamp/text()","Extended_Timestamp",
"/AuditRecord/DB_User/text()","DB_User",
"/AuditRecord/OS_User/text()","OS_User",
"/AuditRecord/Userhost/text()","Userhost",
"/AuditRecord/OS_Process/text()","OS_Process",
"/AuditRecord/Terminal/text()","Terminal",
"/AuditRecord/Instance_Number/text()","Instance_Number",
"/AuditRecord/Object_Schema/text()","Object_Schema",
"/AuditRecord/Object_Name/text()","Object_Name",
"/AuditRecord/Action/text()","Action",
"/AuditRecord/TransactionId/text()","TransactionId",
"/AuditRecord/Returncode/text()","Returncode",
"/AuditRecord/Scn/text()","Scn",
"/AuditRecord/Comment_Text/text()","Comment_Text",
"/AuditRecord/Sql_Bind/text()","Sql_Bind",
"/AuditRecord/Sql_Text/text()","Sql_Text",
"/AuditRecord/OSPrivilege/text()","OSPrivilege",
"/AuditRecord/DBID/text()","DBID"
]
}
xml形式のログフォーマットであるため、xml filterを利用する。
message内容をxpath指定でfieldとvalueに分解する。
- 26.
26
RDSのSQL監査ログ(3/3)
S3へのRDS OracleのSQL監査ログのアップデート方法にてログの重複の可能性があるため...
if [DB_User][0]== "/" { drop {} }
fingerprint {
source => "message"
target => "[@metadata][fingerprint]"
method => "MURMUR3"
}
date {
match => [ "Extended_Timestamp[0]" , "yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'" ]
timezone => "UTC"
target => "@timestamp"
}
mutate {
add_field => {
"file" => "%{[@metadata][s3][key]}"
}
}
}
output {
elasticsearch {
hosts => [ “<ElasticsearchのURL>:9200" ]
index => "rds-audit-%{+YYYYMMdd}"
document_id => "%{[@metadata][fingerprint]}"
}
}
ハッシュ値が一意になるようにsourceとしてmessageを指定する王道。
※同じmessageとなるログは基本的には存在しないため
method(利用するアルゴリズム)には、衝突率と処理速度でMURMUR3。
document_idにfingerprintのtargetで指定したメタフィールドを利用。
※障害時のログ取り込みの重複を防ぐ効果あり
- 27.
- 28.
- 29.
- 30.
30
これだけ嬉しいことが起きるはず (^^)
1. SyslogサーバからFirewallログ取得
2.国情報から国外アクセスを検索
3. 国外IP一覧をIPアドレスごとに集計
4. IPアドレスをWhoisでホスト名検索
5. 不審なIPアドレスをFirewallでブロック
繰り返す
1. SyslogサーバからFirewallログ取得
2. 国情報から国外アクセスを検索
3. 国外IP一覧をIPアドレスごとに集計
4. IPアドレスをWhoisでホスト名検索
5. 不審なIPアドレスをFirewallでブロック
ElasticStack
に
よ
る
自
動
化
- 31.
- 32.
32
【参考】私がログ分析でよく使うフィルタたち
# フィルタ名 説明
1grok 非構造データを正規表現を用いて構造化データに変換するフィルタ
2 date ログ内の日付データを@timestampに置換するフィルタ
3 mutate fieldの型を変更したり、fieldを追加削除、編集するフィルタ
4 geoip ログ内のIPアドレスに国情報や緯度経度情報を付加するフィルタ
5 dns IPアドレスからホスト名(逆引き)、またはその逆の正引きを行うフィルタ
6 drop 条件に合致するログレコードを廃棄させるフィルタ
7 csv csv形式のログデータをfieldとvalueに分割するフィルタ
8 kv key=value形式のログデータをfieldとvalueに分割するフィルタ
9 xml xml形式のログデータをfieldとvalueに分割するフィルタ
10 translate valueの中身を指定した文字列に合致したら置換させるフィルタ
11 fingerprint 指定したfieldのvalueからハッシュ値を生成し、新たにfield化するフィルタ
- 33.
- 34.
- 35.
- 36.
36
イベントログ取得はもちろんWinlogbeatにお任せ!
イベントログの取得は、WinlogbeatでイベントIDを取得するだけでOK!
# イベントID 内容
121 OSログイン成功
2 23 OSログオフ成功
3 24 OSセッション切断
4 25 OSセッション再接続
5 4625 OSログイン失敗
【winlogbeat.yml】
winlogbeat.event_logs:
- name: Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
tags: ["login"]
event_id: 21,23,24,25
- name: Security
tags: ["login"]
event_id: 4625
Securityの「成功の監査」や「失敗の監査」の
イベントを取るよりもこのログを取るほうが正確な
OS認証ログが効率よく取得できる。(オススメ)
踏台サーバの利用終了時
ちゃんとログオフしていない
アカウントの監視ができる。
(セキュリティポリシー違反の監査)
【認証関連イベント情報】
- 37.
- 38.
38
【参考】ファイル操作に関するイベントログと表示される項目一覧
項目名 / イベントID4656 (OPEN) 4656 (DELETE) 4658 (CLOSE) 4663 (ACCESS) 4690 (COPY)
AccessList ● ● - ● -
AccessMask (CRUDの情報) ● ● - ● -
AccessReason ● ● - - -
HandleId ● ● ● ● -
ObjectName (フォルダ名やファイル名のフルパス) ● ● - ● -
ObjectServer ● ● ● ● -
ObjectType (DirectoryまたはFile) ● ● - ● -
PrivilegeList ● ● - - -
ProcessId ● ● ● ● -
ProcessName ● ● ● ● -
ResourceAttributes ● ● - ● -
RestrictedSidCount ● ● - - -
SourceHandleId - - - - ●
SourceProcessId - - - - ●
SubjectDomainName (ユーザのドメイン名) ● ● ● ● ●
SubjectLogonId ● ● ● ● ●
SubjectUserName (アカウント名) ● ● ● ● ●
SubjectUserSid ● ● ● ● ●
TargetHandleId - - - - ●
TargetProcessId - - - - ●
TransactionId ● ● - - -
COPYしたファイル名をイベンID:4690
単体でトレースすることは出来ない。
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.