Norikraでwebサービスを守る話をしてきた

Norikra meetup #2でLTをしてきました。LTといいつつ時間に余裕があったので15分以上しゃべっていたような…

atnd.org

発表資料はこちらです。

speakerdeck.com

Norikraで不正アクセスの兆候があるアクセスログを検知して、検知次第IPアドレスmemcachedに突っ込んでそれをもとにアクセスをブロックする、というネタでした。

ログの流し込みが詰まった場合に誤爆しないように、結果のtimestampに1分以上の間隔があった場合は max(time) - min(time) で補正するとか、クエリに後処理で使うための定数を埋め込んでおくことでクエリごとに挙動を調整しやすくするとか、そんなかんじの細かい工夫をしています。

あと皆さん気になっていたNorikraの冗長化ですが、active-standby構成であればすぐできる気はします。

ただし現状、落ちたとしてもすぐインスタンスをあげ直すだけでそれほど重大な問題にはならない使い方なので、普段遊んでるstandbyを用意するコストをかけてまでやるかどうかですね。