web-dev-qa-db-ja.com

監査ログのsyslog機能とは何ですか?

Syslogで監査イベントのみを転送しようとしていますが、どの機能を使用するかわかりません。ロギングに冗長性が生じるため、すべてをsyslogサーバーに送信したくありません。 audispd syslogプラグインをアクティブに設定しました。これにより、auditdはイベントのログにsyslogを使用する必要があると理解しています。これで、auditdのイベントをロギングサーバーに転送するための正しい機能を設定するだけです。

これをどのように行うべきかについて間違っている場合はお知らせください。 *私はボックスCentOS 7でこれを試しています

2
ThunderJack

syslogプラグイン機能の設定を監査

Audispプラグインは、デフォルトでuserファシリティに監査データをsyslogに送信します。ただし、これは変更できます。

cat /etc/audisp/plugins.d/syslog.conf
# This file controls the configuration of the syslog plugin.
# It simply takes events and writes them to syslog. The
# arguments provided can be the default priority that you
# want the events written with. And optionally, you can give
# a second argument indicating the facility that you want events
# logged to. Valid options are LOG_LOCAL0 through 7, LOG_AUTH,
# LOG_AUTHPRIV, LOG_DAEMON, LOG_SYSLOG, and LOG_USER.

active = yes
direction = out
path = builtin_syslog
type = builtin 
args = LOG_INFO
format = string

そこにある鍵はValid options are LOG_LOCAL0 through 7必要に応じて調整できます。私のシステムでは、これらは上記のデフォルト設定であり、userファシリティログにauditdメッセージが表示されます。

3
Aaron

この構成を使用する理由は、au-remoteプラグインの信頼性が低く、多くのメッセージをドロップするためです。また、結果としてシステムログがエラーでいっぱいになります。また、転送された監査ログを集約サーバー上で個別に保持したいと思いました。

まず、syslogプラグインを構成します。

active = yes
direction = out
path = builtin_syslog
type = builtin 
args = LOG_INFO LOG_LOCAL6 

argsには、priorityfacilityの2つの引数があることに注意してください。優先順位LOG_INFOは、info以上のすべてのメッセージを送信することを意味します。ファシリティは基本的に、監査ディスパッチャーがメッセージをルーティングするrsyslogチャネルです。 syslogプラグインのドキュメントに記載されている有効なオプションのいずれかです。私はLOG_LOCAL6を使用しています。これは、システムの他のアプリケーションによって使用されておらず、監査ログを個別に保持したいためです。

/etc/audisp/plugins.d/au-remote.confを編集してau-remoteプラグインを無効にします。

active = no

Syslogプラグインの documentation は、以下を推奨します。

複数のマシンを集約している場合は、auditd.confを編集して、name_formatを意味のあるものに設定し、log_formatをエンリッチに設定する必要があります。このようにして、イベントがどこから来たのかを知ることができ、マシンから送信される前にユーザー名とグループをローカルで解決することができます。

だから私はこれらの設定を使用しました:

NAME_FORMAT = HOSTNAME
LOG_FORMAT = ENRICHED

監査ログはすでにローカルで/etc/auditに書き込まれているため、/etc/rsyslog.confを編集して、監査ディスパッチャからファイルにlocal6メッセージを書き込むように指示する必要はありません。転送用にrsyslogが構成されていることを確認するだけで、メッセージは集約サーバーに送信されます。

onlyで監査メッセージを転送する場合は、/etc/rsyslog.confで次の手順を実行し、rsyslog.serviceを再起動します。

local6.* @@logs.example.com:514

監査デーモンを再起動して設定を適用します(systemctl restartは使用しないでください):

service restart auditd

次に、ログ集約サーバーで、/etc/rsyslog.confを編集して、受信メッセージを専用ファイルに書き込みます。

local6*                /var/log/auditd-forwarded

最後に、このログを/etc/logrotate.d/syslog(集約サーバー上)のログローテーションスケジュールに追加します。

/var/log/spooler
/var/log/auditd-forwarded
{
    missingok

注:オプションで、logrotate構成を独自のファイルに配置できます。

これはCentOS7で動作することが確認されています。

1
orodbhen

私はこのファイルのキーと値について混乱していたので、ここに私のための動作する設定があります:-(使用されているシステム:Ubuntu 16.04)/etc/audisp/plugins.d/syslog.conf

active = yes
direction = out
path = builtin_syslog
type = builtin 
args = LOG_LOCAL6    #send log to local6 facility

Rsyslog構成を編集して、auditdログを保存します

/etc/rsyslog.d/50-default.conf
local6.*     @@192.168.8.147:6161    #send local6 log to central log server listening on tcp port 6161

# To save local6 to file
local6.*    /tmp/auditd.log
0
satch_boogie