見出し画像

TWSNMPポーリング辞典:syslogからレポート作成

syslogからネットワーク上で通信しているデバイスの情報、サーバーにアクセスしているユーザーの情報、ファイヤーフォールを通過する通信の情報などが取得できます。ネットワークの状態を知るためには有益な情報です。TWSNMPで、これらの情報からレポートを作成するためのポーリングの説明です。

ポーリング設定

基本的なポーリングの設定は、

画像1

のように設定します。
種別には、

SYSLOG Device
syslogからIPアドレスに対応するMACアドレスの情報を抽出してデバイスレポートを作成する。
SYSLOG User
syslogからユーザーID、アクセス元アドレス(IPまたはMAC)、ログインの成功失敗の状況を抽出してユーザーレポートを作成する。
SYSLOG Flow
syslogから送信元IPとポート、宛先IPとポート、プロトコル、通信量を抽出してサーバーレポート、通信フローレポートを作成します。

を指定します。
定義の書式は、全ての種別共通で

検索フィルター|抽出フィルター

の形式です。

検索フィルター、抽出フィルターに関しては、

の記事を見てください。

デバイスレポート

デバイスレポートは、

Dec 13 07:32:42 rpi root: mac=00:01:02:03:04:05 ip=192.168.1.222

のようなログからMACアドレスとIPアドレスを取得して、

画像2

のようにレポートに反映させます。

組み込みでDEVICEという抽出フィルターがあります。定義は

`mac=%{MAC:mac}.+ip=%{IP:ip}`

です。

ユーザーレポート

ユーザーレポートは、

Dec 13 05:10:33 rpi sshd[18703]: Failed password for invalid user test from 192.168.1.250 port 51696 ssh2
Dec 13 07:01:47 rpi sshd[21406]: Accepted password for pi from 192.168.1.250 port 55485 ssh2
Dec 14 05:56:41 rpi sshd[23428]: Accepted publickey for root from 192.168.1.250 port 59115 ssh2: RSA 2b:12:fb:d3:e2:9d:f9:79:b9:6d:77:34:e8:7c:8d:bc

のようなログからユーザーIDとアクセス元IP、成功失敗のを取得して

画像3

のようなレポートを作成します。
このレポートは、SSHのログインに関するログを使っていますが、組み込んである抽出フィルターはSSHLOGINという名前で

`%{GREEDYDATA:stat} (password|publickey) for( invalid user | )%{USER:user} from %{IP:client}`

のような定義です。statが

Accepted

の場合に成功とする判断します。

サーバー、通信フローレポート

ファイヤーフォールの

'id=firewall sn=18B169A9C2A8 time="2020-12-13 00:06:15"  pri=6 c=1024 m=537 msg="Connection Closed" app=11 n=58652207 src=10.30.165.222:52868:X0 dst=52.113.194.132:443:X1 srcMac=70:85:c2:c8:64:a1 dstMac=10:48:80:02:1b:d0 proto=tcp/https sent=1353 rcvd=6605 spkt=8 rpkt=11 dpi=0 cdur=61566 rule="8 " fw_action="NA"'

のようなログから送信元IPとポート、宛先IPとポート、プロトコル、通信量を取得してサーバーレポート、通信フローレポートを作成します。
このポーリングはNetFlowに対応していないファイヤーフォールやNetFlowを有効にすると負荷が高くなり通信障害が発生するファイヤーフォールのためにsyslogからフローに関する機能です。NetFlow使ったほうがよいと思います。


開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。