J'essaye de configurer un CentOS 7 fonctionnant dans VirtualBox pour envoyer ses journaux d'audit à l'hôte qui est FreeBSD 10.3. Idéalement, j'aimerais recevoir les logs avec auditdistd (8) de FreeBSD, mais pour l'instant je voudrais juste pouvoir utiliser netcat pour ça.
Mon problème est que netcat n'obtient aucune donnée.
Lorsque service auditd status
les résultats suivants:
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
CentOS et FreeBSD sont connectés sur un réseau hôte uniquement. Je leur ai assigné les adresses IP suivantes:
J'ai Netcat écoute sur le port 60:
nc -lk 60
La connection fonctionne. Je peux utiliser nc 192.168.56.1 60
sur CentOS pour envoyer des données à FreeBSD.
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
. /var/log/audit.log
. /etc/audit/rules.d/
sont bien configurées. La configuration de /etc/audisp/audisp-remote.conf
ressemble à ceci:
remote-server = 192.168.56.1 port = 60 local_port = any transport = tcp mode = immediate
J'ai deux files par défaut dans /etc/audisp/plugins.d/
: syslog.conf
et af_unix.conf
et les deux ne sont pas actifs. J'ai ajouté af-remote.conf
et il ressemble à ceci:
# 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 = ssortingng
C'est un exemple modifié du référentiel officiel (lien) .
Voici le contenu de /etc/audisp/audispd.conf
:
q_depth = 150 overflow_action = SYSLOG priority_boost = 4 max_restarts = 10 name_format = HOSTNAME
Je serai heureux de fournir plus de détails si nécessaire.
Je ne suis pas sûr que tout soit nécessaire pour réussir. Néanless, il s'agit d'une configuration qui fonctionne pour que je puisse recevoir des journaux Linux Audit avec un netcat sur FreeBSD.
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
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 = ssortingng
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_listn_port = tcp_listn_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 dissortingbute_network = no
FreeBSD: /etc/hosts.allow
:
ALL : ALL : allow
Je ne sais pas si celui-ci est nécessaire cependant + ce pourrait être une mauvaise idée.
C'est tout. Maintenant, il vous suffit d'exécuter nc -lk 60
sur FreeBSD et le service auditd restart
sur CentOS. Dans mon cas cependant netcat semble recevoir / imprimer chaque logging au less deux fois ce qui semble plutôt inhabituel.