bashのコマンド履歴ファイル「.bash_history」を作らない

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 historyauditd
目的利便性監査・証跡
ユーザー操作で消せる消せる消せない
rootでも消せる消せるほぼ消せない(消した行為が硝石として残る)
セキュリティ証跡使えない使える

auditdについては、そのうち気が向いたら調べよう。

タイトルとURLをコピーしました