Linux

/var/log/btmpがあふれたので削除しました

More than 1 year has passed since last update.

サーバーの容量があふれたようなので調べてみたところ、/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

参考