私のデスクトップでは、SELinux違反が発生するとGNOME通知が表示され、デバッグが簡単になりますが、サーバーではこの通知は表示されません。違反が発生した場合は、詳細を含む電子メールを送信するようにSELinuxを設定する方法はありますか?
メモ:複数の(2)サーバーに展開したい。
答え1
のいずれかに基づいてについての意見setroubleshoot
次のように追加のパッケージをインストールできます。
$ sudo yum install -y setroubleshoot
インストール後の構成ファイル、特に次のセクションを見てください。
[email]
# recipients_filepath: Path name of file with email recipients. One address
# per line, optionally followed by enable flag. Comment character is #.
recipients_filepath = /var/lib/setroubleshoot/email_alert_recipients
ここで参照ファイルを生成します。
$ echo "[email protected]" > /var/lib/setroubleshoot/email_alert_recipients
その後、サービスを再起動/開始します。
$ sudo systemctl start setroubleshoot
高度なオプション
setroubleshoot
また、email_alert_recipientsファイルを介してSEアラートをフィルタリングする機能も提供します。
[email protected] filter_type=after_first
フィルターが少し難しいです。文書の光しかし、そのプロセスは次のとおりです。
Ignore After First
アラーム::
- これがデフォルト設定です。アドレスは最初にトリガーされたときにのみ警告を受け取ります。すべての後続の通知によってトリガーされた関連通知の電子メール通知がフィルタリングされます。
Never Ignore
::
- 各通知の各インスタンスについて、電子メール通知がこのアドレスに送信されます。
Ignore Always
::
電子メール通知はこのアドレスには送信されません。これを使用して、アドレスに関する警告を一時的に無効にできます。
ところで、電子メール通知を受けたいノードにデスクトップセッションがありませんか?たとえば、サーバーをどのように監視しますか?
ファイルを直接編集できます
/var/lib/setroubleshoot/email_alert_recipients
。上記のGUIによって変更されるファイルです。ファイル形式は行ベースで、ポンド(#)文字はコメント文字で、コメントは行末まで拡張され、空白行は無視されます。メモ:1行に1つのアドレスとそれに続くアドレス(スペースで区切られた)は、名前=値の形式のオプションのオプションです。現在、1つのオプションがあります。
filter_type
::after_first
、never
、またはalways
上記をたくさん編集しましたが、よくある質問内でこのセクションの「精神」を維持しようとしました。
引用する
答え2
複数のサーバーで警告を受け取るより良い方法は、このlogcheck
パッケージを使用することです。
サーバー側にインストールlogcheck
して電子メールをトリガーする予定の規則に従って、電子メールを処理して送信する規則を定義します。
これにより、明日SELinux以外のルールが必要な場合は、そのルールを追加できます。
logcheck
既にデフォルトのルールセットが提供されています。logcheck
Linuxサーバー数台で小規模なインフラストラクチャを構築したとき、しばらくこの機能を使用しました。
明らかに電子メールを送信するには、電子メールを送信できるように最小限の構成のMTAサーバー側も必要です。内部メールかGmailかによって異なります。
大規模なインフラストラクチャの場合は、中央のsyslogサーバーを保持し、そのサーバーでログを処理することをお勧めしますが、2台のサーバーへの回答として判断した場合は、これについて詳しく説明しません。