Linuxのログイン履歴のバックアップ [Linux]
少々面白い話題であったので、そのやり取りの要点をまとめてみた。
1. ログイン履歴の所在
Linux のログイン履歴は、下記のファイルに保存されている。
また、これらはバイナリ・ファイルであり、特定のコマンドの実行によりテキスト・データでの情報が取得できる。
(1) /var/log/wtmp
・ログインに成功した場合のログイン履歴
・last コマンドを実行することでテキスト・データでの情報が取得できる。
・-f オプションで参照するファイルを指定可能
(デフォルト値は、/var/log/wtmp である。)
(2) /var/log/btmp
・ログインに失敗した場合のログイン履歴
・lastb コマンドを実行することでテキスト・データでの情報が取得できる。
・-f オプションで参照するファイルを指定可能
(デフォルト値は、/var/log/btmp である。)
(補足)
バイナリ・ファイルからテキスト・データを抜き出し整形することも可能であるが、手間がかかったり、整形ミスが発生したりするため、あまり勧められない。
2. テキスト・ファイルでのログが求められる場合の対応
本番環境以外はすべて Windows である場合、このような要件が追加されることがある。
(1) 運用スクリプトの追加作成が許される場合
ログのバックアップの際に、テキスト・ファイルへの変換を行う。
(例) # last -f <wtmp-file> | gzip -c > wtmp-yyyy-mm-dd.txt.gz # lastb -f <btmp-file> | gzip -c > btmp-yyyy-mm-dd.txt.gz # (back up wtmp-*.gz and btmp-*.gz to external media)
(2) 運用スクリプトの追加作成が許されない場合
(a) RedHat 系の場合
/var/log/secure をバックアップする。
・/var/log/secure は、テキスト・ファイルである。
・システムログの authpriv.* が出力される。
(b) Debian 系の場合
/var/log/auth.log をバックアップする。
・/var/log/auth.log は、テキスト・ファイルである。
・システムログの auth,authpriv.* が出力される。
3. 備考
(1) 本番環境とは別に Linux 環境を用意することを勧める。
この提案が受け入れられるなら、バイナリ・ファイルでのバックアップが可能となる。
(補足)
・スキルされあれば、別途費用をかけず構築することが可能がある。
・今回の要件だけなら、minimal 環境で十分である。
(2) バイナリ・ファイルをバックアップする運用をしばらく実施することを勧める。
本番サーバーを含め、どこかのサーバーにバイナリ・ファイルをバックアップする運用をしばらく実施することを勧める。
本当に不要か(テキスト形式でないといけないのか)を見極めるのは、それからでも遅くないと思われる。