TWSNMPポーリング辞典:syslogからレポート作成
syslogからネットワーク上で通信しているデバイスの情報、サーバーにアクセスしているユーザーの情報、ファイヤーフォールを通過する通信の情報などが取得できます。ネットワークの状態を知るためには有益な情報です。TWSNMPで、これらの情報からレポートを作成するためのポーリングの説明です。
ポーリング設定
基本的なポーリングの設定は、
のように設定します。
種別には、
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アドレスを取得して、
のようにレポートに反映させます。
組み込みで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、成功失敗のを取得して
のようなレポートを作成します。
このレポートは、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の運営にも貢献できるのでよろしくお願います。