On Thursday, June 4, 2020 1:57:56 PM EDT Richard Guy Briggs wrote:
> > diff --git a/kernel/auditsc.c b/kernel/auditsc.c
> > index 468a23390457..3a9100e95fda 100644
> > --- a/kernel/auditsc.c
> > +++ b/kernel/auditsc.c
> > @@ -75,6 +75,7 @@
> > #include <linux/uaccess.h>
> > #include <linux/fsnotify_backend.h>
> > #include <uapi/linux/limits.h>
> > +#include <uapi/linux/netfilter/nf_tables.h>
> >
> > #include "audit.h"
> >
> > @@ -136,9 +137,26 @@ struct audit_nfcfgop_tab {
> > };
> >
> > static const struct audit_nfcfgop_tab audit_nfcfgs[] = {
> > - { AUDIT_XT_OP_REGISTER, "register" },
> > - { AUDIT_XT_OP_REPLACE, "replace" },
> > - { AUDIT_XT_OP_UNREGISTER, "unregister" },
> > + { AUDIT_XT_OP_REGISTER, "xt_register"
>
> },
>
> > + { AUDIT_XT_OP_REPLACE, "xt_replace"
> > }, + { AUDIT_XT_OP_UNREGISTER, "xt_unregister"
> > }, + { AUDIT_NFT_OP_TABLE_REGISTER,
> > "nft_register_table">
> },
>
> > + { AUDIT_NFT_OP_TABLE_UNREGISTER,
"nft_unregister_table"
> > }, + { AUDIT_NFT_OP_CHAIN_REGISTER,
> > "nft_register_chain">
> },
>
> > + { AUDIT_NFT_OP_CHAIN_UNREGISTER,
"nft_unregister_chain"
> > }, + { AUDIT_NFT_OP_RULE_REGISTER,
> > "nft_register_rule">
> },
>
> > + { AUDIT_NFT_OP_RULE_UNREGISTER,
"nft_unregister_rule"
>
> },
>
> > + { AUDIT_NFT_OP_SET_REGISTER, "nft_register_set"
>
> },
>
> > + { AUDIT_NFT_OP_SET_UNREGISTER, "nft_unregister_set"
>
> },
>
> > + { AUDIT_NFT_OP_SETELEM_REGISTER,
"nft_register_setelem"
> > }, + { AUDIT_NFT_OP_SETELEM_UNREGISTER,
> > "nft_unregister_setelem" }, + { AUDIT_NFT_OP_GEN_REGISTER,
> > "nft_register_gen" }, + {
> > AUDIT_NFT_OP_OBJ_REGISTER, "nft_register_obj" }, +
> > { AUDIT_NFT_OP_OBJ_UNREGISTER, "nft_unregister_obj"
> > }, + { AUDIT_NFT_OP_OBJ_RESET, "nft_reset_obj"
> > }, + { AUDIT_NFT_OP_FLOWTABLE_REGISTER,
> > "nft_register_flowtable" }, + {
> > AUDIT_NFT_OP_FLOWTABLE_UNREGISTER, "nft_unregister_flowtable" }, +
> > { AUDIT_NFT_OP_INVALID, "nft_invalid"
>
> },
>
> > };
>
> I still don't like the event format because it doesn't give complete
> subject information. However, I thought I'd comment on this string
> table. Usually it's sufficient to log the number and then have the
> string table in user space which looks it up during interpretation.
That is a good idea that would help reduce kernel cycles and netlink
bandwidth, but the format was set in 2011 so it is a bit late to change
that now:
fbabf31e4d48 ("netfilter: create audit records for x_tables
replaces")
Nothing searches/interprets that field name. So, you can redefine it by
renaming it. Or just go with what you have. My preference is push that to
user space. But not a showstopper "as is".
-Steve