サーバーの容量があふれたようなので調べてみたところ、/var/log/btmpファイルが数GBのサイズになっていました。
調査方法
dfコマンドで大体の概要を調べます
HDの使用状況を確認
df
あとはduコマンドでディレクトリごとに絞り込んでいきます。
ディレクトリごとの容量を調べる
sudo du -sm /*
duコマンドで調べたところ/var/log/btmpというファイルがHDを圧迫していることがわかりました。
lastbで/var/log/btmpの中味を確認する
/var/log/btmpというのは不正ログインの記録されるファイルらしいです。
btmpの中味を確認するにはlastbコマンドを使います。
/var/log/btmpの中味を確認
lastb
root ssh:notty 103.41.124.56 Sun Mar 8 23:04 - 23:04 (00:00)
root ssh:notty 103.41.124.12 Sun Mar 8 23:04 - 23:04 (00:00)
以下略
rootユーザーで不正アクセスしようとしているということでしょうか。
/var/log/btmpを削除しました
容量が厳しいので一旦btmpを削除します。
/var/log/btmpを削除
sudo rm /var/log/btmp
/var/log/btmpを作成
touchしてから600にしておきます
/var/log/btmpを作成
sudo touch /var/log/btmp
sudo chmod 600 /var/log/btmp
これで再びlastbコマンドで確認すると、不正ログイン記録が保存されるようになっています。
sshdのポート番号を変更
/var/log/btmpファイルが肥大化していた原因は、SSHのポートがデフォルトの22番になっていたためでした。そのためSSHのポートを変更しておきます。
sudo vi /etc/ssh/sshd_config
Port 987506
Port番号を適当に変えます。
あとはsshdを再起動すればOKです。
sshdを再起動する
sudo /etc/init.d/sshd restart
参考
- btmpファイルが大きくなっていますがどうしたらいいですか
- http://ex-cloud.jp/support/question/q-643
- dfコマンドを使ったらhda2があふれてるのに気づいた
- http://net-vacation.com/blog/archives/6983