bashレコードに複数のコマンドラインが書き込まれるのを防ぐ方法は?

bashレコードに複数のコマンドラインが書き込まれるのを防ぐ方法は?

脆弱性スキャナなどの一部の製品は、指定されたユーザーとしてLinuxホストにログインし、最終的に問題のアカウントのbash履歴を「汚染」します。以下は、TenableのNessusスキャナで生成されたコマンドラインの例です。

LANG=C; printf "priv_escl_start_%s" "4Xoo3InT"; sudo -u root -p Password: sh -c 'printf "command_start_%s" "ljsL6ec8"; lspci -v 2>/dev/null; printf "command_done_%s" "e0bC8nmu"'; printf "priv_escl_end_%s" "NpM6tFCP"

このような複数のコマンドラインが履歴に書き込まれないようにする方法はありますか?

変数を試しましたが、HISTIGNOREextglobを有効にしてもそれをキャプチャするのに十分な表現力がありません。私もこれらのコマンドがuseから来たと思いますset -o history$PROMPT_COMMANDおそらく唯一のオプションは、インタラクティブにログインしている間に.bash_historyをスキャンし、これらの種類の行を削除し、履歴を書き換えてから再読み込みすることです。

どんな助けでも大変感謝します。

答え1

これを処理する最善の方法は、スキャナ専用アカウント(おそらくnessus.これには、スキャナのきめ細かい権限制御機能と、スキャナがシステムにアクセスするときに監査する機能)という追加の利点があります。

記録を記録しないことを本当に約束した場合は、記録と混合するのではなく、記録をまったく記録しないように、nessusアカウントのシェル初期化ファイルを調整できます。

関連情報