ショートバージョン:Fedoraシステムで監査メッセージ(dmesg)を無効にする方法は?
Fedoraシステムは、dmesgに「audit:Success」メッセージを記録し続けます。極端な方法では、dmesgがこれらのメッセージで埋められ(空にdmesg | grep -v audit
なって)使用できなくなります。これらのメッセージは明らかに、ユーザーに日常的な内部プロセスが成功したことを知らせたいので、まったく役に立ちません(何かをデバッグするのは面白いかもしれませんが、この場合はノイズだけです)。
Ctrlコマンドラインインターフェイス(++を使用してAltXではなくttyに切り替える場合F2)も、常にこれらの監査メッセージでいっぱいになり、ユーザーが実際に実行したコマンドの出力を読み取ることができないため、使用できなくなります。たとえば、ユーザー名(ログイン)を入力した後、監査メッセージが表示されます(明らかに、ユーザーに何かが正常にフォーマット/印刷されたことを知らせる)。
監査: タイプ=1131 監査(1446913801.945:10129): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=fprintd comm="systemd" exe="/usr/lib/system ?住所=?ターミナル=?リソース=成功
これらのメッセージの大部分は「成功」を意味するようですが、このキーワードを含まない監査メッセージもたくさんあります。 Chromium を実行すると、次のような何百ものイベントが発生します。
監査:タイプ= 1326監査(1446932349.568:10307):auid = 500 uid = 500 gid = 500 ses = 2 pid = 1593 comm = 1593 comm = "chrome" exe = " Arch = c000003e システムコール = 273 互換 = 0 ip = 0x7f9a1d0a34f4 コード = 0x50000
その他のニュースは次のとおりです。
監査: タイプ=1131 監査(1446934361.948:10327): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=NetworkManager-dispatcher comm="systemd" exe="/usr名前=?住所=?ターミナル=?リソース=成功
監査: タイプ=1103 監査(1446926401.821:10253): pid=28148 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM: setcred grantors=p am_env, pam /crond" ホスト名=?アドレス=?ターミナル=クローンres=成功'
通常、最新の監査メッセージ(作成時)には、ネットワーク管理者「または」クロム合金」。
このメッセージを完全に無効にするにはどうすればよいですか?
追加ポイント:
- 「このような監査メッセージを無効にするのではなく、読んで分析する必要があります」と思う人がいる場合は、重要かもしれません。いいえ、そうではありません。ほぼ完全に「成功」メッセージです。うまくいくと思われることが実際に働くということを誰も聞く必要はありません。しかし、本当に重要なメッセージを録音した場合、無関係な何千ものメッセージ嵐の中でも決して目立たないでしょう。それにもかかわらず、この特定のシステムは監査ログを必要としません(とにかく制御された環境で実行されています)。
- 明らかに、このシステムの構成に深刻な問題があるようです。しかし、これはFedoraのデフォルトインストールであり、新しいバージョンがリリースされるたびにアップグレードされました。おそらく変更する必要がある単純な設定かもしれませんが、手動でシステム構成を変更することは意図的には行われていません。
- これで、Linux 4.0.6(systemd 219)を実行しているFedora 22システムです。
- これは現在KDEを実行している標準のFedoraデスクトップインストールです。
- SELinuxが無効になっています(/etc/selinux/configが「disabled」に設定されています)。
修正する:Fedora 23(カーネル4.2.5、systemd 222)にアップグレードした後、以前よりも監査メッセージが少なくなります。
答え1
まず、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 コマンドラインを嫌い、カーネルコマンドラインに空白文字を追加するのを見逃した人は、おそらくそのパスに従う人が好きではないでしょう。それにもかかわらず、何人かの人々は難しい方法で学ぶのが好きです。私はそれを知っています。
以下のすべてのコマンドはrootとして実行する必要があります(それ自体は危険です)。
実行中のシステムの場合:
auditctl -e 0
auditctlが見つからない場合は、パスを確認して次の点を考慮してください。
dnf install audit
無効にしなくても、再起動できるまでメッセージを最小限に抑える必要があります。
再起動後も生き残るには、/etc/default/grubを編集し、GRUB_CMDLINE_LINUX行を変更して最後に "audit = 0"を追加し、grub2-mkconfigを使用してgrub.cfgを再生成します。最後の手順では、変更と実行中のシステム間の確認階層も設定します。
答え2
次のコマンドを使用して、監査を迅速かつ一時的に無効にできます。
sudo auditctl -e 0
すべてのルールを一時的に削除します。
sudo auditctl -D
将来の起動の場合は、起動を無効にしてみることができます。
sudo systemctl disable auditd
答え3
システムの実行中に無効にできる auditd サービスはありませんが、起動オプションを追加すると、audit=0
これらのメッセージはすべて無効になることがわかりました。 Xを実行せずにコマンドラインからシステムを再利用できます。
このオプションは一時的に設定できます(再起動後も変更は保持されません)。
- eGrubブートメニューが表示されたら(電源を入れた後)金利起動パラメータを変更します。これにより、巨大なテキストボックスが表示されます。
- 「linux」で始まる行まで下にスクロールします。Endキーを押すとカーソルが行末に移動します。
- 最後のオプションが壊れないようにスペース文字を入力してから追加します
audit=0
。たとえば... LANG=en_US.UTF-8 audit=0
(...UTF-8audit=0
明らかにそうではありません)。 - 他の内容を変更しないように注意してください。誤って他のオプションを修正した場合は、修正または再起動して再起動してください。
- F10システムを起動するにはクリックしてください。
もちろん、この変更はシステムの実行中にのみ適用されます。再開すると、レビューフラッドが再び表示されます。この変更を永続的に適用するには、スタートアップ構成を恒久的に変更する必要があります。 Fedoraでは簡単な修正で十分です。/boot/grub2/grub.cfg
新しいカーネルがインストールされると(システムアップデート)、grubbyは最新のカーネルのオプションを新しくインストールされたカーネルにコピーする必要があるためです。これはaudit=0
、ファイルの最初のlinux
行(最初の部分)に追加する必要があることを意味します。変更する必要はありません。修正:実際に正確で最も信頼性の高い方法は、Grub設定を編集して再生成することです。ありがとうございます。menuentry
/etc/default/grub
/etc/default/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]