Splunkを導入しました

このブログへのアクセスログを解析するためにSplunkを導入しました。第一印象とやってみたことをまとめます。

もちろん、無料トライアルのあとはフリーライセンスに移行します。1日500MBも読み込めれば十分です。WebUIも検索ができれば十分で、設定系はCLIで行きます、いけるでしょう。

インストールはカンタンでした。僕はUbuntuで動かしたかったので、debパッケージを一つダウンロードしてきて、dpkg -iしただけです。ただし、インストール先となる/optだけは容量潤沢に確保しました。と言っても128GBですが。あとはFW空けて起動させればアクセスできます。家の中で動かしてるので、OSのFWはオフにしてもいい気もしますが。
Grafanaやってみたときも同じように感じましたが、こんなお手軽に見栄えの良いものができてよいのかと。昔、苦労したおっさんは思います。こういうことを感じるということは、老害になる可能性が十分あるということだと思います。そうならないように気を付けないと。

ログを食わせるのも簡単・・・だったのですが、少しだけ思いとどまって、まずはノイズになりそうなアクセスを取り除いてから食わせました。
具体的には、私によるアクセスとWebサーバ自身によるアクセスです。後者はループバックと自分のElasticIPを除けばよいので簡単でした。問題は前者で、私は住宅事情から5Gルータを使っているため、不定期にグローバルIPアドレスが変わってしまいます。大体の目星はつくのですが、いつどのIPアドレスを使っていたかを正しく特定するのは困難、というかほぼ不可能です。そこで、今回はざっくりと/16で取り除いてしまいました。今後はもうちょっと丁寧にかつ自動的にやるように仕組みづくりしたいものです。

私のTwitterをご覧いただいてた方はお気づきかと思いますが、今回はユーザエージェント切り口に、ついでにステータスコードを中心にログを眺めました。期間はおおよそ、今月前半です。

ユーザエージェントを通知してこないアクセスが結構あります。割合で言うと全体の5%。あまり印象はよくありませんね。こういうのがサクッと数値化、可視化されるのはSplunkの良いところでしょう。200を返しているのは件数的に人力で追える範囲だったので、見てみましたが、GET/HEADメソッドで普通のアクセスでした。ユーザエージェントが通知されない理由がよく分かりません。あとは、301を返しているほかは400番台でお引き取り願ってるのでとりあえずは良いかなと。ステータスコード400で、何をしたいのかよく分からないリクエストも結構ありました。あと気になったのはステータスコード408。ちょっと見慣れなくて調べたら、リクエストタイムアウトとのことでした。ユーザエージェントなし、ステータスコード408でログを抽出すると、何もリクエストを送信してきていないようです。ブラウザがコネクション使いまわして最終的にユーザの操作がなくてタイムアウトするならともかく、とりあえずつないだだけ?何がしたいの?よく分かりません。

あとは、感覚的ですが、やはり世の中、Mozilla/5.0で始まるユーザエージェントの多いこと。そして、意外と少なくないX11/Linuxユーザ。

Mozilla/5.0を取り除いたMozillaっぽいユーザエージェントを抽出してみると、まだ意外とMozilla/4.0がいることに驚かされます。ユーザエージェントについてくるほかの文字列を見ても、偽装っぽくない。大丈夫なんでしょうか。

Mozilla始まりとユーザエージェント通知無しを取り除いてみても、結構な数のアクセスが残りました。
そしてなぜか残るMozillaぽいユーザエージェント。綴り間違いでした。偽装しようとして失敗したんでしょうね。”Mozilla”じゃなくて “Mozlila”とか、”MMozilla/5.0″なんてのもありました。”Mozila/5.0″ってのもありました。あとは”Mozilla/5.0″ って、先頭にシングルクォートついたユーザエージェントがいました。ちなみにシングルクォート閉じられていませんでした。
その他、Mozillaっぽい綴りの不自然なユーザエージェントにステータスコード200を返しているのを追いかけましたが、特に実害には至っていなさそうでちょっと安心しました。

他に、Curl、Python、Go言語でのアクセスが結構ありました。このあたりのリクエストは今回は時間の関係で追うのを断念しました。

Google先生のbotも来ていました。歓迎します。サーチコンソール頑張ったかいがあります。RSSリーダーに登録してウォッチしてくださってる 奇特な 方もいらっしゃるようです。ありがたいことです。

こうしてログを眺めているだけでも楽しいですし、あれこれサーバの設定をいじったり、仕組みづくりしたくなります。が、それに要する時間と成果を考えると、取捨選択を迫られるなーというのが正直なところ。難しいです。とりあえずは、ログ取り込みまでとついでにバックアップを自動で行う仕組みづくりは低コストで出来そうなのでやろうと思います。それと、Splunkの検索の仕方でand/orの使い方と正規表現の使い方は調べてもよさそうです。調べるだけ(自戒)。あと、Splunk SOARのコミュニティエディションが気になります。

今日はこれくらいで。

カテゴリー blog