SSHサーバの危機を知る

Private Access Serverを作る」で書いた、外出先からアクセスするためのSSHサーバについて、例えば思い当たらないアクセスの痕跡とか、ログインがあったことを感知するための仕掛けを作った。

アクセスサーバはグローバル空間に晒され、外部からの進入される可能性がある。アクセスサーバへは暗号キーがないとログインできないし、ログインしたとしても専用の非特権ユーザでしかログインできないため、更に他のユーザのパスワードを知らない限りは大したことはできない。また重要なファイルは一切置かないが、それでも外部からの進入の形跡は出来る限り早く知っておきたい。

そこで、過去一定時間の間にあった次のイベントを調べ、イベント(セキュリティ分野では「インシデント」という呼び方が一般的だろうか)が発生していた場合はメールで知らせるプログラムを作った。

  • SSHのコネクションがあり、ログインせずにクローズした。
  • ログインに失敗した。
  • ログインがあった。

これらのイベントはメールで管理する。