連載第40回
2014年4月25日
ログのチェックとDenyHosts導入の検討

 最近と言わず、まあ昔からだけど、国内外問わずアチコチで立て続けてに起きているサイト改竄とか情報流出などのニュース。セキュリティを施す側とそれを破る側、まるで永遠に続くイタチごっこで、そんなものに関われば心はすぐ疲弊してしまうに違いありません。ならば「そんな事は端から考えないようにする」というのが一番手っ取り早い処方のような気もしますが、以前書いたように沈黙するはいいが、悪意に加担してしまうような態度も主義じゃない…。
 そんなこんなで、ひたすら長い時間をかけ、本シリーズでは初歩的セキュリティ対策を講じてきたつもり…なんですが、ではその効果がどれくらいあったのか?それを具体的に知るにはどうしたらよいのでしょうか?素人にはそれが分からんのですよ。ちなみにカネノナルキは現在、このような状態にまで復活しています。後は葉っぱが大きくなるのを待つだけです。あ、前回からのつづきです。

ログを見る

 そんな折、vineworkさんから提案のあった「DenyHosts」なるものの導入を検討するため、またいつものようにユーザーによる参考記事を探し回っていたところなのですが、みなさんちゃんと「ログをチェック」していますか?セキュリティ対策関連記事などを読んでいると、必ず「こまめにログをチェックするように」と書かれているのですが、その方法をようやくここで1つ知ることが出来ました。「cat ログファイル」で、ログの内容を一覧できるんですね。ほおー。

catコマンド

# cat /var/log/secure

 早速打ち込んでみると拒否されたので、ログファイルの中身を見るには管理者権限が必要なようです(↑)。
 そんなわけで「su -」で昇格してから再度入力。すると、ずらーーーっと、レンタル開始時からこれまでにログインしてきた痕跡が全て掲示(↓)。

webminでもログを見られます

 ところでwebminからでも、いくつか記録されているログを表示させることも出来るらしい。ターミナルからだとroot権限でないと閲覧できないらしく、色々コマンドを打ち込むのも面倒なので、webminで表示できるのなら便利かも。「システム」>「システム ログ」の一覧から任意のものを表示可能。

 「/var/log/secure」で、見慣れないIPアドレスから、既に禁止したはずのrootと間違ったパスワードでログインを試み、拒否されているものが無いかどうか抽出して最新の10行分だけ表示させた場合がこちら(↓)。キーワードに「fail」を入れています。

 実は上のログイン失敗記録、全て自分。パスワードの入力ミスで蹴られたものが記録されていたのですね。

いつ自分が締め出されるか戦々恐々の「DenyHosts」

 さて、上で表示させた失敗ログを見てみたところ、自分以外の不審なログイン失敗例は何とゼロでした。今のところ、SSHのポート番号を変えたり、iptablesでファイアウォール設定した初歩的な対策が、案外効いているのかもしれません。まあ、自分で簡易チェック出来る範囲でですけどね。

 さて、そこでDenyHostsです。DenyHostsの仕組みを自分なりに要約してみると、サーバにアクセスしてきた輩が試行ユーザー名とパスワードでログインに失敗すると、それをカウントして閾値に達した時点で相手をブラックリストに載せてしまうというものらしい。nmapを使ってポートスキャンしてきたIPアドレスも同様。で、当然ながら、ブラックリストに載ってしまうとサーバにアクセス出来無くなってしまうのですよ、オーナーの自分であっても。そこで、ユーザーによる導入記事をいくつか読んでみると、やはりあるんですね「ログインに失敗して自分が締め出されてしまう」というケースが…。その体験談の一例が目茶苦茶オモシロイ。

DenyHosts の働きで SSHでログインできなくなってしまった(Snufkinski Memo)

 いや、すみません、いっぱい笑ってしまったけれど、DenyHostsが仕事に真面目過ぎて、正直なところ僕には恐怖に感じます。自分がその罠に陥った場合、この例のようにうまく復帰出来るかどうか分かりませんし(その時、たまたまログイン済みの別コンソールがあった、というのが幸運)。何せ上で失敗ログをとったら、あんなにタイプミスして蹴られているのですから、設定次第では自分がブラックリストに載ってしまうのも大いに考えられます。最近、よくパスワード忘れるんですよねえ…。そこで予めホワイトリストに載せておく、というのも考えましたが、自分は町外れからのリモート接続なのでIPアドレスとか頻繁に変わりますし。

 で、じっくり考えてみたのですが、「今のところ」自分の気付く範囲で特に不正アクセスは見られないし、しばらくは気が向いた時にログチェックすることにして、様子見することにしました。つづく。