web-dev-qa-db-ja.com

audisp-remoteで監査ログを送信し、netcatでそれらを受信する方法

VirtualBoxで実行されているCentOS 7を構成して、監査ログをFreeBSD 10.3であるホストに送信しようとしています。理想的には、FreeBSDのauditdistd(8)でログを受信したいのですが、今のところは、そのためにnetcatを使用できるようにしたいだけです。

私の問題は、netcatがデータを取得しないことです

細部

  1. service auditd statusを実行すると、次の結果が得られます。

    Redirecting to /bin/systemctl status  auditd.service
    auditd.service - Security Auditing Service
       Loaded: loaded (/usr/lib/systemd/system/auditd.service; enabled; vendor preset: enabled)
       Active: active (running) since Fri 2016-08-19 11:35:42 CEST; 3s ago
      Process: 2216 ExecStartPost=/sbin/augenrules --load (code=exited, status=1/FAILURE)
     Main PID: 2215 (auditd)
       CGroup: /system.slice/auditd.service
               ├─2215 /sbin/auditd -n
               └─2218 /sbin/audispd
    
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote was restarted
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote terminated unexpectedly
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote was restarted
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote terminated unexpectedly
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote was restarted
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote terminated unexpectedly
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote was restarted
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote terminated unexpectedly
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote has exceeded max_restarts
    Aug 19 11:35:42 hephaistos audispd[2218]: plugin /sbin/audisp-remote was restarted
    

セットアップ

ネットワークセットアップ

  1. CentOSとFreeBSDはホストオンリーネットワークに接続されています。次のIPを割り当てました。

    • CentOS:192.168.56.101
    • FreeBSD:192.168.56.1

FreeBSDのセットアップ

  1. 私はポート60でnetcatをリッスンしています:

    nc -lk 60
    

    接続は機能します。 CentOSでnc 192.168.56.1 60を使用して、FreeBSDにデータを送信できます。

CentOSセットアップ

  1. カーネルのバージョンは4.7.0-1.el7.elrepo.x86_64 #1 SMP Sun Jul 24 18:15:29 EDT 2016 x86_64 x86_64 x86_64 GNU/Linuxです。
  2. Linux Auditユーザースペースのバージョンは2.6.6です。
  3. auditdが実行中で、/var/log/audit.logにアクティブにログを記録しています。
  4. /etc/audit/rules.d/の監査ルールは適切に構成されています。
  5. /etc/audisp/audisp-remote.confの構成は次のようになります。

    remote-server = 192.168.56.1
    port = 60
    local_port = any
    transport = tcp
    mode = immediate
    
  6. /etc/audisp/plugins.d/には2つのデフォルトファイルがあり、syslog.confaf_unix.confがあり、どちらもアクティブではありません。 af-remote.confを追加しました。次のようになります:

    # This file controls the audispd data path to the
    # remote event logger. This plugin will send events to
    # a remote machine (Central Logger).
    
    active = yes
    direction = out
    path = /sbin/audisp-remote
    type = always
    #args =
    format = string
    

    公式リポジトリ(リンク) からの変更例です。

  7. /etc/audisp/audispd.confの内容は次のとおりです:

    q_depth = 150
    overflow_action = SYSLOG
    priority_boost = 4
    max_restarts = 10
    name_format = HOSTNAME
    

必要に応じて詳細をお知らせいたします。

7

ここですべてが成功するために必要かどうかはわかりません。それにもかかわらず、これは、FreeBSDのnetcatでLinux監査ログを受信できるように機能する構成です。

  1. CentOS:/etc/audisp/audisp-remote.conf

    remote_server = 192.168.56.1
    port = 60
    local_port = 60
    transport = tcp
    mode = immediate
    queue_depth = 200
    format = managed
    
  2. CentOS:/etc/audisp/plugins.d/au-remote.conf

    active = yes
    direction = out
    path = /sbin/audisp-remote
    type = always
    args = /etc/audisp/audisp-remote.conf
    format = string
    
  3. CentOS:/etc/audit/auditd.conf

    local_events = yes
    log_file = /var/log/audit/audit.log
    # Send logs to the server.  Don't save them.
    write_logs = no
    log_format = RAW
    log_group = root
    priority_boost = 8
    num_logs = 5
    disp_qos = lossy
    dispatcher = /sbin/audispd
    name_format = hostname
    max_log_file = 6
    max_log_file_action = ROTATE
    action_mail_acct = root
    space_left = 75
    space_left_action = SYSLOG
    admin_space_left = 50
    admin_space_left_action = SUSPEND
    disk_full_action = SUSPEND
    disk_error_action = SUSPEND
    
    ##tcp_listen_port =
    tcp_listen_queue = 5
    tcp_max_per_addr = 1
    use_libwrap = yes
    ##tcp_client_ports = 1024-65535
    tcp_client_max_idle = 0
    
    enable_krb5 = no
    krb5_principal = auditd
    ##krb5_key_file = /etc/audit/audit.key
    distribute_network = no
    
  4. FreeBSD:/etc/hosts.allow

     ALL : ALL : allow
    

    これが必要かどうかはわかりませんが、+悪い考えかもしれません。


それでおしまい。今すぐ実行する必要がありますnc -lk 60 FreeBSDおよびservice auditd restart CentOS。しかし私の場合、netcatはすべてのレコードを少なくとも2回受信/印刷しているようですが、これはかなり珍しいようです。

6