세부 사항

세부 사항

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를 할당했습니다.
  • 센트OS: 192.168.56.101
  • FreeBSD: 192.168.56.1

FreeBSD 설치

  1. 나는 netcat에게 포트 60에서 수신 대기하도록 요청했습니다.

     nc -lk 60
    

연결이 유효합니다. nc 192.168.56.1 60CentOS를 사용하여 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/syslog.conf: 및 에 두 개의 기본 파일이 있는데 둘 af_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
    

다음은 수정된 예입니다.공식 저장소(링크).

  1. 내용은 다음과 같습니다 /etc/audisp/audispd.conf.

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

필요한 경우 자세한 내용을 제공해 드리겠습니다.

답변1

성공을 위해 여기에 있는 모든 것이 필요한지 잘 모르겠습니다. 그럼에도 불구하고 구성은 작동했고 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 60FreeBSD와 service auditd restartCentOS에서 실행하기만 하면 됩니다. 하지만 내 경우에는 netcat이 각 레코드를 적어도 두 번 수신/인쇄하는 것 같은데, 이는 다소 특이한 것 같습니다.

관련 정보