historyコマンドでコマンド履歴を使用して操作をすることは便利ですが、.bash_historyファイルが出来てしまうことがセキュリティ的に、あまり良くないとされるようです。
.bash_historyファイルを作成しないようにする設定
設定は「/etc/skel」を使う方法もありますが、全ユーザーに対して一律に適用したいため「/etc/profile.d」を利用することにします。
$ sudo vi /etc/profile.d/history_policy.sh
### コマンド履歴関連 ###
# 先頭がスペース、直前と同じコマンド、過去重複は整理
export HISTCONTROL=ignoreboth:erasedups
# 指定したコマンドはコマンド履歴に残さない
export HISTIGNORE="ls*:cd:pwd:exit:clear"
# セッション中のコマンド履歴を100件保持
export HISTSIZE=100
# コマンド履歴ファイルを無効化(ログアウト後は残さない)
export HISTFILE=/dev/null
.bash_historyファイルは監査証跡ではない
.bash_historyはコマンドの履歴が残るので、監査証跡ファイルとして使えそうな気がしますが、監査証跡には「auditd」を使います。.bash_historyファイルは、利便性を良くするためのものです。
| 項目 | bash history | auditd |
|---|---|---|
| 目的 | 利便性 | 監査・証跡 |
| ユーザー操作で消せる | 消せる | 消せない |
| rootでも消せる | 消せる | ほぼ消せない(消した行為が硝石として残る) |
| セキュリティ証跡 | 使えない | 使える |
auditdについては、そのうち気が向いたら調べよう。