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


11

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


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

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

監査:タイプ= 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システムです。
  • 標準のFedoraデスクトップインストールで、現在KDEを実行しています。
  • SELinuxが無効になっている(/ etc / selinux / configが「無効」に設定されている)。

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


で表示できるログへの監査メッセージの書き込みを無効にする監査を無効にする代わりに、audit2allowカーネルメッセージをコンソールに出力することに関連するkernel.printk値を単に変更することを検討しましたか?Fedoraではデフォルトで "7 4 1 7"であり、より実用的な値は "3 4 1 7"です。
ボブ

回答:


12

まず、fedoraでは、auditdとauditctlの両方が同じパッケージに由来します(紛らわしくない名前の監査)。したがって、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を再生成します。この最後のステップでは、変更と実行中のシステムの間に検証のレイヤーも配置します。


ことを指摘してくれてありがとう/etc/default/grubgrub2-mkconfig使用する必要があります。回答に修正を加えました。
basic6 2015年

6

あなたはすぐに監査を一時的に無効にすることができます

sudo auditctl -e 0

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

sudo auditctl -D

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

 sudo systemctl disable auditd

3

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

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

  1. ときGrubのブートメニューが表示されます(右電源投入後)、ヒットe電子 DITブートパラメータを。これにより、巨大なテキストボックスが表示されます。
  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が最新のカーネルのオプションを新しくインストールされたカーネルにコピーするため、変更するだけで十分です。つまり、このファイルのaudit=0最初のlinux行(最初のmenuentryセクション)に追加する必要があります。変更する必要はありません/etc/default/grub
修正:実際、正しい最も信頼できるアプローチは、を使用/etc/default/grubしてGrub構成を編集および再生成することです。これを指摘してgrub2-mkconfig -o /boot/grub2/grub.cfgくれた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]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.