web-dev-qa-db-ja.com

dmesgで不要な「監査成功」ログエントリを無効にする方法

短いバージョン:Fedoraシステムで監査メッセージ(dmesg)を無効にする方法


Fedoraシステムは "監査:成功"メッセージをdmesgに記録し続けます-極端な方法で、dmesgはこれらのメッセージ(dmesg | grep -v auditは空です)。これらのメッセージは、毎日の内部プロセスが成功したことをユーザーに明らかに伝えたいため、完全に役に立たないものです(これは何かをデバッグするときに重要かもしれませんが、この場合は単なるノイズです)。

コマンドラインインターフェース(X以外のttyに切り替える場合) CtrlAltF2)これらの監査メッセージは常に雑然としているため、使用できなくなり、実際にユーザーが実行したコマンドの出力を読み取ることができなくなりました。たとえば、ユーザー名(ログイン)を入力すると、監査メッセージが出力されます(何かが正常にフォーマット/印刷されたことをユーザーに通知しているようです)。

監査:タイプ= 1131監査(1446913801.945:10129):pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = fprintd comm = "systemd" exe = "/ usr/lib/systemd/systemd" hostname =? addr =?ターミナル=? res =成功 '

これらのメッセージのほとんどは「成功」を示しているようですが、このキーワードを含まない監査メッセージも多数あります。 Chromiumを実行すると、次の数百がトリガーされます。

監査:タイプ= 1326監査(1446932349.568:10307):auid = 500 uid = 500 gid = 500 ses = 2 pid = 1593 comm = "chrome" exe = "/ usr/lib64/chromium/chrome" sig = 0 Arch = c000003e syscall = 273 compat = 0 ip = 0x7f9a1d0a34f4 code = 0x50000

その他のメッセージは次のとおりです。

監査:タイプ= 1131監査(1446934361.948:10327):pid = 1 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'unit = NetworkManager-dispatcher comm = "systemd" exe = "/ usr/lib/systemd/systemd"ホスト名=? addr =?ターミナル=? res =成功 '

監査:タイプ= 1103監査(1446926401.821:10253):pid = 28148 uid = 0 auid = 4294967295 ses = 4294967295 msg = 'op = PAM:setcred grantors = p am_env、pam_unix acct = "user" exe = "/ usr/sbin/crond "ホスト名=? addr =? terminal = cron res = success '

通常、最近の監査メッセージの大部分(執筆時)には、キーワード「NetworkManager」または「」が含まれていますchrome」。

これらのメッセージを完全に無効にするにはどうすればよいですか?


追加ポイント:

  • 誰かが「これらの監査メッセージを読んで分析し、無効にするのではなく、重要である可能性がある」と考えている場合、それらは重要ではなく、ほぼ完全に「成功」​​メッセージです。実際に機能するはずの何かが実際に機能したことを誰にも説明する必要はありません。ただし、1つの実際に重要なメッセージがログに記録されている場合、何千もの重要でないメッセージの嵐の中で気づくことはありません。いずれにせよ、この特定のシステムでは監査ログは必要ありません(とにかく制御された環境で実行されています)。
  • 明らかに、このシステムでは何かが非常に誤って設定されている必要があります。ただし、これはかつてデフォルトのFedoraインストールであり、新しいリリースがリリースされるたびにアップグレードされました。たぶん、変更が必要なのは単純な設定だけかもしれませんが、手動で(意図的に)システム構成を変更することはなかったため、このstackexchange.comの質問は、たまたま同じ状態のシステムを取得している他の人を助けるでしょう。
  • これは、Linux 4.0.6(systemd 219)を実行するFedora 22システムになりました。
  • これは、現在KDEを実行している標準のFedoraデスクトップインストールです。
  • SELinuxが無効になっている(/ etc/selinux/configが「無効」に設定されている)。

アップデート:Fedora 23(カーネル4.2.5、systemd 222)にアップグレードした後、以前よりも監査メッセージが少なくなりました。

11
basic6

まず、Fedoraでは、auditdとauditctlの両方が同じパッケージに由来します(紛らわしくない名前のaudit)。したがって、auditctlがない場合、他の何かが間違っています。これを試して:

rpm -ql audit |grep ctl

それでも何も得られない場合は、監査パッケージがまったくインストールされていません。

次に、あなたが言及したgrub.cfgファイルの最初の「人間の」言語の行は、私のシステムでは「編集しないでください」と言っています。これは、ファイルへの手動による変更が失われる可能性があるという手がかりです。

Fedora/redhatシステムでgrub設定を編集するための正しい場所は、変更する必要がないと具体的に提案したファイル(/ etc/default/grub)です。実際には、これが提案された変更を行い、カーネルのアップグレードを生き残るための唯一の「安全な」方法です。これは、カーネルのアップグレード中にソース構成の一部として使用され、動作するgrub.cfgを再生成するためです。 grub2-mkconfigコマンドを検索します(これは友達です)。詳細はこちら: https://fedoraproject.org/wiki/GRUB_2

あなたの答えは間違っていませんが、私はそれが少し紛らわしいことに気づきました。私はgrubコマンドラインが嫌いです。IMHOでカーネルコマンドラインに空白文字を追加し損なう可能性のあるユーザーは、おそらくその道を進んでくれたことに感謝しません。それでも、一部の人々は私が知っている難しい方法を学びたいです。

以下のすべてのコマンドは、rootとして実行する必要があります(これ自体は、提案するのは危険です)。

実行中のシステムの場合:

auditctl -e 0

Auditctlが見つからない場合は、PATHを確認し、次のことも考慮してください。

dnf install audit

これにより、再起動できるまでメッセージを無効にしない場合でも、少なくとも減らす必要があります。

再起動後も維持するには、/ etc/default/grubを編集してGRUB_CMDLINE_LINUX行を変更し、末尾に「audit = 0」を追加してから、grub2-mkconfigを使用してgrub.cfgを再生成します。この最後のステップでは、変更と実行中のシステムの間に検証のレイヤーも配置します。

12

一時的に監査を一時的に無効にすることができます

Sudo auditctl -e 0

そして一時的にすべてのルールを削除します

Sudo auditctl -D

今後のブーツのために、あなたはその開始を無効にすることを試みることができます

 Sudo systemctl disable auditd
6
meuh

システムの実行中に無効にできるauditdサービスはありませんが、ブートオプションaudit=0を追加すると、これらのメッセージがすべて無効になるようです。 Xが実行されていないコマンドラインでもシステムは再び使用可能です。

このオプションは一時的に設定できます(変更は再起動後も持続しません)。

  1. Grubブートメニューが表示されたら(電源をオンにした直後)、 e toeditブートパラメータ。これにより、巨大なテキストボックスが表示されます。
  2. 「linux」で始まる行までスクロールします。ヒット End キーを押して、カーソルを行末に移動します。
  3. 最後のオプションを壊さないように空白文字を入力し、audit=0を追加します。たとえば... LANG=en_US.UTF-8 audit=0(明らかに...UTF-8audit=0ではありません)。
  4. 他のものを変更しないように注意してください。他のオプションを誤って変更した場合は、修正するか、再起動してやり直してください。
  5. ヒット F10 システムを起動します。

もちろん、この変更はシステムの実行中にのみ有効になります。監査フラッドは、再起動後に戻ってきます。この変更を永続的にするには、ブート構成を永続的に変更する必要があります。 Fedoraでは、/boot/grub2/grub.cfgを変更するだけで十分です。これは、新しいカーネルがインストールされると(システムアップデート)、grubbyが最新のカーネルのオプションを新しくインストールされたカーネルにコピーするためです。つまり、このファイルの最初のlinux行(最初のmenuentryセクション)にaudit=0を追加する必要があります。 変更する必要はありません/etc/default/grub
修正:実際、正しい最も信頼できるアプローチは、/etc/default/grubを編集し、grub2-mkconfig -o /boot/grub2/grub.cfgを使用してGrub構成を再生成することです。ありがとう これを指摘してくれたKnightLordAndMaster


ログファイルの監査ログに関する追加の注意:

補足として、次の行は監査ログがログファイルに記録されるのを防ぐ必要がありますが、dmesgとコンソールが乱雑になるため、これ自体はソリューションではありません。この行は、/etc/rsyslog.confの最初のルールとして配置されます。

...
#### RULES ####

# no audit
:programname, isequal, "audit" ~

...

これにより、次の警告が表示されます。

 rsyslogd[xxxx]: warning: ~ action is deprecated, consider using the 'stop' statement instead [v8.35.0 try http://www.rsyslog.com/e/2307]

3
basic6