freeipa/client
Alexander Bokovoy 84eed2a67f frontend: add systemd journal audit of executed API commands
For each executed command in server context, send the information about
the command to the systemd journal. The resulting string is similar to
what is recored in httpd's error_log for API requests coming through the
RPC layer.

In server mode operations are performed directly on the server over
LDAPI unix domain socket, so httpd end-point is not used and therefore
operations aren't recorded in the error_log.

With this change any IPA API operation is sent as an audit event to the
journal, alog with additional information collected by the journald
itself.

To aid with identification of these messages, an application name is
replaced with IPA.API and the actual name from api.env.script is made a
part of the logged message. The actual application script name is
available as part of the journal metadata anyway.

If no Kerberos authentication was used but rather LDAPI autobind was in
use, the name of the authenticated principal will be replaced with
[autobind].

Messages sent with syslog NOTICE priority.

More information is available in the design document 'audit-ipa-api.md'

Fixes: https://pagure.io/freeipa/issue/9589

Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
Reviewed-By: Rob Crittenden <rcritten@redhat.com>
2024-05-22 17:06:23 -04:00
..
man frontend: add systemd journal audit of executed API commands 2024-05-22 17:06:23 -04:00
share ipa-client-install: add support for sss_ssh_knownhosts 2024-05-17 09:53:53 +02:00
sysconfig Increase default debug level of certmonger 2019-06-24 10:00:37 +02:00
systemd systemd: enforce en_US.UTF-8 locale in systemd units 2020-12-10 14:38:05 +02:00
certbot-dns-ipa.in dnspython: Add compatibility shim 2020-08-31 09:46:03 +03:00
config.c Fix ressource leak in client/config.c get_config_entry 2018-10-23 16:45:22 +02:00
ipa-certupdate.in Replace PYTHONSHEBANG with valid shebang 2019-06-24 09:35:57 +02:00
ipa-client-automount.in Introduce minimal ipa-client-automount.in and ipactl.in 2019-06-28 10:53:07 +02:00
ipa-client-common.c Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts) 2016-01-27 12:09:02 +01:00
ipa-client-common.h ipa-join: switch to jansson for json handling 2020-07-09 14:17:47 +03:00
ipa-client-install.in Replace PYTHONSHEBANG with valid shebang 2019-06-24 09:35:57 +02:00
ipa-client-samba.in ipa-client-samba: a tool to configure Samba domain member on IPA client 2019-06-29 11:00:28 +03:00
ipa-epn.in IPA-EPN: First version. 2020-06-09 08:43:45 +02:00
ipa-getkeytab.c Fix use of comparison functions to avoid GCC bug 95189 2021-11-23 10:31:34 +01:00
ipa-join.c Pass the curl write callback by name instead of address 2022-11-16 14:50:22 -05:00
ipa-rmkeytab.c ipa-rmkeytab: Check return value of krb5_kt_(start|end)_seq_get 2021-01-15 14:06:53 +01:00
Makefile.am ipa-getkeytab: add option to discover servers using DNS SRV 2021-07-30 08:45:08 -04:00
version.m4.in Split ipa-client/ into ipaclient/ (Python library) and client/ (C, scripts) 2016-01-27 12:09:02 +01:00