どうも、cloudpackかっぱ@inokara)です。

はじめに

最近、Ops な仲間達をドキドキさせるセキュリティアドバイザリが立て続けに報告されていますね…。これらのアドバイザリの情報を RSS で購読しておけば対策のレスポンスはあげられると思っていますが、せっかくなのでこのアドバイザリ情報も sensu で監視してしまいましょう…

と言っても RSS のフィードを叩くだけのシンプルなもので、引数に気になるキーワードを渡すとそれらのアドバイザリが報告されると(RSS フィードに含まれていると)通知が飛ぶというシンプルでなんの捻りもないプラグインです。


こんな感じ

ギッハブ

使い方

check-security-advisory.rb -u "http://jvn.jp/rss/jvn.rdf" -C "ssl|apache|sendmail"

実行例

check の設定は以下のように。interval は一時間毎にしていますが、もっと長めでも良いと思います。

  "checks": {
    "check-security-advisory": {
      "command": "/etc/sensu/plugins/check-security-advisory.rb -C 'ssl|apache'",
      "subscribers": [
        "xxxxxxx"
      ],
      "interval": 3600,
      "occurrences": 1
    }
   }
  }

結果は以下のように。

セキュリティアドバイザリをチェックするSensuプラグイン:  実行結果

皆さん、記憶に新しい SSLv3 の Poodle 攻撃について検知されていますね。


最後に

半分ネタ、半分勉強のつもりで作ってみました。

単に RSS のフィードを取得しているだけなので、フィードが更新されない限り Check の度にアラートが発生してしまうという詰めの甘さは否めませんが、RSS リーダーに埋もれがちになりそうなアドバイザリもこのように通知させることで見落としを少しでも解消できたら嬉しいですな。

元記事はこちらです。
セキュリティアドバイザリをチェックする sensu の check プラグインを作ってみたのでメモ