投稿

11月, 2014の投稿を表示しています

アライドテレシス 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種類だ。成功したか、失敗したかだよね。 通常は成功のログしかないはずなので、抽出したいのは失敗したログ。 ただログを調べるだけだと芸がないので、かっこよく表示したい。 そう、表にするのだ。 ユーザー名 authenticated authentication failed username 10 2 username2 1 20 そう、こんな感じだ。 Splunkにはログを解析してフィールドとして抽出してくれる機能が備わっているので、「field=data, field2=data2,」みたいなログだと準備はいらないけど、アライドのログのように自動フィールド抽出が出来なかった場合は、ちょっとした設定が必要になるので、これを超端折って説明するよ。 これを実現するためには、ログからユーザー名ごとのauthenticatedとauthentication failedを抽出しカウントしなければならない。手作業なら絶対にやりたくない作業だね。 まずはフィールド抽出の定義をするよ。 フィールド抽出で2つの正規表現を使う。 ユーザー名の抽出は「identity 'username'」を検索することになる。 正規表現でいうと「identity \'(?<i