アライドテレシス AT-TQシリーズの認証ログの統計を取る

なんでアライドテレシスなのか?は聞かないでくれ。
たまたまAT-TQシリーズのログとSplunkがあったからだ。


IEEE802.1x認証を行っていると、認証ログはRadiusかアクセスポイントのどちらかを見ることになる。私はネットワーク屋としてのプライド?があるので、APのログを使うことにした。


jan 1 07:07:10 info: hostapd: wlan1: STA xx:xx:xx:xx:xx:xx IEEE 802.1X: authenticated - identity 'username' EAP type: 25 (PEAP)
jan 1 07:07:11 Warning: hostapd: wlan1: STA xx:xx:xx:xx:xx:xx IEEE 802.1X: authentication failed - identity 'username' EAP type: 25 (PEAP)

IEEE802.1x認証のログは上の2種類だ。成功したか、失敗したかだよね。
通常は成功のログしかないはずなので、抽出したいのは失敗したログ。
ただログを調べるだけだと芸がないので、かっこよく表示したい。


そう、表にするのだ。
















ユーザー名authenticatedauthentication failed
username102
username2120

そう、こんな感じだ。


Splunkにはログを解析してフィールドとして抽出してくれる機能が備わっているので、「field=data, field2=data2,」みたいなログだと準備はいらないけど、アライドのログのように自動フィールド抽出が出来なかった場合は、ちょっとした設定が必要になるので、これを超端折って説明するよ。


これを実現するためには、ログからユーザー名ごとのauthenticatedとauthentication failedを抽出しカウントしなければならない。手作業なら絶対にやりたくない作業だね。


まずはフィールド抽出の定義をするよ。


フィールド抽出で2つの正規表現を使う。
ユーザー名の抽出は「identity 'username'」を検索することになる。
正規表現でいうと「identity \'(?<identity>.*)\'」これでidentityというフィールドが定義できた。
次に、authenticatedとauthentication failedを抽出するわけだけど、前後の文字列をうまく使うと簡単だ。
ログを見るとIEEE 802.1X: ~~~ - identityとなっているのでこんな感じですね。
「IEEE 802.1X:(?<auth>.*)- identity」これでauthフィールドが用意できた。


とりあえず、「identity=* 」で検索すると、上の2種類のログだけが抽出されるはずだ。
さらに、「identity=* | counttable identity auth」と検索すると目的の表が表示される。


完成。
すごく簡単だよね。


ちなみに、「identity=* auth=*failed | counttable identity auth」にすれば、認証失敗したユーザー名と回数の表が表示される。


この表の数字をクリックすると、ログを抽出することができる。


もしかしたら、利用者が「つながらないなぁ~」とあれこれ試してる間に原因を調べて、対処法を教えてあげるなんてことも出来るかもね。


こんな便利な機能が無料で使えるって素晴らしいよね。
アラートを上げたいとか、ログのサイズが1日500MBを超える場合は有償になるけど無償の範囲でも十分役に立つ。
一度触ると離れられないSplunk地獄?天国?が待ってるわけだけど、windows版もあるのでお勧めですよ~



Viva ラーニングのSharePointコンテンツで既定の言語がまじめに動き出した?

相変わらず挙動が安定しないVivaラーニングさん。 既定の言語設定がまじめに仕事を始めたのかもしれません。 ちょっと確認したいことがあってラーニングを開くとコンテンツが一つだけになってしまいました。すべてのコンテンツが表示された状態から何も操作していないのに表示コンテンツ数が変わ...