Commit Graph

161 Commits

Author SHA1 Message Date
Alexandre Pujol
04a91bbd9b
feat(aa): updaqte mount flags order. 2024-05-27 23:44:23 +01:00
Alexandre Pujol
0aa317d8e4
feat(aa): update default tunable selection. 2024-05-27 23:44:03 +01:00
Alexandre Pujol
a99387c323
feat(aa): parse apparmor preamble files. 2024-05-27 18:55:21 +01:00
Alexandre Pujol
2e043d4ec8
feat(aa): add some rules methods. 2024-05-26 18:05:15 +01:00
Alexandre Pujol
92641e7e28
feat(aa): add initial profile validation structure. 2024-05-25 22:36:39 +01:00
Alexandre Pujol
865ce4c66b
chore: cosmetic 2024-05-25 22:26:51 +01:00
Alexandre Pujol
9812c38b83
test(aa): add unit tests for the link rule. 2024-05-25 22:22:57 +01:00
Alexandre Pujol
019b6f8197
feat(aa): format now merge access list. 2024-05-25 22:22:32 +01:00
Alexandre Pujol
54fdf38861
chore: cosmetic & fix. 2024-05-25 22:21:59 +01:00
Alexandre Pujol
72107dcfff
feat(aa): add the hat struct. 2024-05-25 22:17:32 +01:00
Alexandre Pujol
474481f1d3
test(aa): update unit tests. 2024-05-25 22:16:31 +01:00
Alexandre Pujol
656aa15836
feat(aa): rewrite the toAccess function to parse, convert and verify the access values. 2024-05-25 22:14:43 +01:00
Alexandre Pujol
05de39d92a
feat(aa): improve comment generation from log map. 2024-05-25 22:03:16 +01:00
Alexandre Pujol
744c745394
feat(aa): add requirements map. 2024-05-25 22:01:29 +01:00
Alexandre Pujol
e38f5b4637
feat(aa): add the link rule. 2024-05-25 21:56:28 +01:00
Alexandre Pujol
aa0386253c
test: remove useless unit test. 2024-05-11 13:25:24 +01:00
Alexandre Pujol
14cac43c6c
build: add @{int2} to the list of default variable. 2024-05-11 12:13:57 +01:00
Alexandre Pujol
81f0163086
feat(aa): cleanup, fix import and add some unit tests. 2024-05-05 14:19:25 +01:00
Alexandre Pujol
3ad55927bf
feat(aa): add basic rules getter 2024-05-05 14:11:00 +01:00
Alexandre Pujol
ad81c39e31
feat(aa): remove now unsused rule.Sort method. 2024-05-05 14:10:14 +01:00
Alexandre Pujol
305d06dbe0
feat(aa): rewrite variable handling. 2024-05-05 14:09:00 +01:00
Alexandre Pujol
28f4294774
feat(aa): move the all rule to its own file. 2024-05-05 13:57:15 +01:00
Alexandre Pujol
1e79d27232
feat(aa): rename identation variables. 2024-05-04 23:54:39 +01:00
Alexandre Pujol
5943e9a24d
test(aa): cleanup unit tests. 2024-05-04 23:45:36 +01:00
Alexandre Pujol
f763d31a07
feat(aa): a Constraint and Kind method to the Rule interface. 2024-05-04 23:41:47 +01:00
Alexandre Pujol
a5c4eab0cf
feat(aa): make preamble rule classic aa rules. 2024-05-04 23:25:55 +01:00
Alexandre Pujol
926e146dad
chore: use internal paths lib. 2024-04-28 00:36:16 +01:00
Alexandre Pujol
0cd0262bed
chore: update go mod deps. 2024-04-28 00:04:42 +01:00
Alexandre Pujol
068373405f
feat(aa): add some missing rule template. 2024-04-25 14:01:04 +01:00
Alexandre Pujol
8a8808194b
refractor(aa): move base rule & qualifier to their own file. 2024-04-24 13:31:22 +01:00
Alexandre Pujol
de73c9b706
test(aa): improve some internal unit test.
Thanks to the last changes...
2024-04-23 21:38:52 +01:00
Alexandre Pujol
a0b5362589
refractor(aa): update test structure. 2024-04-23 21:35:23 +01:00
Alexandre Pujol
2923df2a73
refractor(aa): move profile specific method to the profile struct. 2024-04-23 21:32:58 +01:00
Alexandre Pujol
120db93396
feat(aa): refractor apparmor templates to the last changes. 2024-04-23 21:27:35 +01:00
Alexandre Pujol
5483668574
feat(aa): add a string method to all rule struct. 2024-04-23 21:26:09 +01:00
Alexandre Pujol
e9fa0660f8
feat(aa): add define parameter for variables. 2024-04-23 21:18:44 +01:00
Alexandre Pujol
c719a0a109
feat(aa): ensure accesses are slice of string. 2024-04-23 21:17:25 +01:00
Alexandre Pujol
a2910122d2
fix: do not use the wrong profile. 2024-04-23 19:18:42 +01:00
Alexandre Pujol
c97886d960
feat(aa): continue refractoring the aa structure. 2024-04-19 22:43:02 +01:00
Alexandre Pujol
8ef858ad35
feat(aa): refractor template to allow multiple templates. 2024-04-17 18:02:41 +01:00
Alexandre Pujol
890275fb22
feat(aa): rename the main profile struct. 2024-04-16 21:51:56 +01:00
Alexandre Pujol
4b753210e7
feat(aa): modify the apparmor struct to support multiple profiles and subprofile. 2024-04-15 14:09:04 +01:00
Alexandre Pujol
507002c660
feat(aa): rename the main file template. 2024-04-15 13:32:20 +01:00
Alexandre Pujol
ab4feda5ba
feat(aa): improve apparmor struct. 2024-04-14 23:58:34 +01:00
Alexandre Pujol
ea1736083a
chore: use slices from standard library. 2024-04-12 20:07:05 +01:00
Alexandre Pujol
8b68132f0e
fix(build): add a simple check to ensure all resolved variables are defined. 2024-04-11 00:15:08 +01:00
Alexandre Pujol
2b26dac3b9
fix(build): add local variable definition.
Note: will be really fixed later.
2024-04-05 23:34:44 +01:00
Alexandre Pujol
6810fe679e
chore: minor cosmetic. 2024-04-03 21:06:28 +01:00
Alexandre Pujol
1915fa5175
feat(build): simplify some internal tooling. 2024-04-02 17:48:03 +01:00
Alexandre Pujol
5d40cc1166
fix(aa-log): handle owner rule even if thhe log is not complete. 2024-03-25 20:32:13 +00:00
Alexandre Pujol
c9b87efebe
chore: cosmetic. 2024-03-16 19:27:45 +00:00
Alexandre Pujol
65386321c2
feat(aa-log): update shell paths. 2024-02-29 23:14:01 +00:00
Alexandre Pujol
3d4dd5c91a
feat(aa-log): correctly handle remount rule from mount log. 2024-02-29 23:12:19 +00:00
Alexandre Pujol
e616b9b3fc
feat(aa-log): ensure unix rule are not confused with network unix rule.
Both are technically the same, we simply prioritize `unix` to `network unix`.
2024-02-29 00:20:37 +00:00
Alexandre Pujol
e3daaf3d4c
feat(aa-log): ensure rule access is always present. 2024-02-29 00:19:26 +00:00
Alexandre Pujol
1bc63becaf
feat(aa-log): an empty profile now return empty string. 2024-02-24 17:01:03 +00:00
Alexandre Pujol
48b39fa816
test(aa-log): add more tests about the mount rules. 2024-02-24 17:00:07 +00:00
Alexandre Pujol
d6dc89b4f3
feat(aa-log): parse mount conditions from logs. 2024-02-24 16:58:38 +00:00
Alexandre Pujol
2cd14aa6bb
chore: add missing and update copyright year. 2024-02-07 00:16:21 +01:00
Alexandre Pujol
c8f37afe9a
feat(aa-log): improve profile rendering. 2024-01-21 11:58:44 +00:00
Alexandre Pujol
735e3529fb
feat(aa-log): add support for mqueue. 2023-12-05 20:47:32 +00:00
Alexandre Pujol
07a6f35b4e
chore(aa-log): minor template improvement. 2023-11-29 22:08:37 +00:00
Alexandre Pujol
66efedfb01
fix(aa-log): fix go linter. 2023-11-28 15:31:43 +00:00
Alexandre Pujol
d4bc07895a
feat(aa-log): add support change_profile & pivot_rule 2023-11-27 19:21:43 +00:00
Alexandre Pujol
3197f52a97
feat(aa-log): improve log to rule conversion. 2023-11-19 10:59:46 +00:00
Alexandre Pujol
46d25ed922
feat(aa-log): improve error formating on rules. 2023-10-20 23:11:11 +01:00
Alexandre Pujol
a4033f7950
fix(test): aa-log unit tests. 2023-10-01 19:12:27 +01:00
Alexandre Pujol
5b74cb665f
feat(aa-log): add dummy rule struct. 2023-10-01 19:06:27 +01:00
Alexandre Pujol
68be85b5c2
test(aa-log): add some unit tests. 2023-10-01 19:05:44 +01:00
Alexandre Pujol
4798b2d04a
chore(aa-log): cleanup test data. 2023-10-01 19:04:43 +01:00
Alexandre Pujol
fd46022d5b
test(aa-log): test aa-log against real profile. 2023-10-01 19:03:12 +01:00
Alexandre Pujol
b99bb8da46
feat(aa-log): format rule before print. 2023-10-01 19:00:39 +01:00
Alexandre Pujol
95c322d62a
test: add more profile sorting test. 2023-09-30 13:55:56 +01:00
Alexandre Pujol
c0bc903101
feat(aa): use profile guideline to sort file rules. 2023-09-30 13:54:04 +01:00
Alexandre Pujol
4dfc1388e3
feat(aa): add support for audit log. 2023-09-30 13:28:41 +01:00
Alexandre Pujol
e93c1bf4d8
feat(aa): support multiple comments. 2023-09-30 13:22:46 +01:00
Alexandre Pujol
1da0073120
refractor: rename comment template. 2023-09-30 13:22:04 +01:00
Alexandre Pujol
26d05f1869
feat(aa): sort local include at the end of a profile. 2023-09-29 21:24:15 +01:00
Alexandre Pujol
c249005958
fix(aa): import missing lib & improve template indentation. 2023-09-29 20:37:15 +01:00
Alexandre Pujol
09a06db803
feat(aa): add sub templates. 2023-09-29 20:28:56 +01:00
Alexandre Pujol
cb441733c0
feat(aa): ensure the template does not append useless space. 2023-09-29 20:17:38 +01:00
Alexandre Pujol
d810acd58f
chore: cleanup test data. 2023-09-29 20:10:38 +01:00
Alexandre Pujol
c7485326e8
feat(aa): improve rule creation from log. 2023-09-29 20:07:29 +01:00
Alexandre Pujol
13de4182c8
fix(aa-log): ensure unix logs generate unix rule.
It may break some rule generation on old apparmor version (<3.1). But I don't have the time to support all apparmor version anyway...

fix #225
2023-09-29 20:01:30 +01:00
Alexandre Pujol
5b180bfeb2
refractor: move profile template in its own directory. 2023-09-28 19:42:17 +01:00
Alexandre Pujol
6cbc076ba4
test(aa-log): add unit tests for profile printing. 2023-09-25 00:28:28 +01:00
Alexandre Pujol
a5b6373b02
test(aa-log): add unit tests for profile rules. 2023-09-25 00:22:41 +01:00
Alexandre Pujol
43981517b2
feat(aa-log): add profile sort & merge methods. 2023-09-25 00:17:41 +01:00
Alexandre Pujol
88f275ef43
feat(aa-log): rewrite the profile template. 2023-09-25 00:15:51 +01:00
Alexandre Pujol
422418e0e2
test(aa-log): add & update some variabe parsing test 2023-09-25 00:13:18 +01:00
Alexandre Pujol
73109bb09c
feat(aa-log): update addrule method to new structure. 2023-09-25 00:10:12 +01:00
Alexandre Pujol
e23e10d7b7
feat(aa-log): add less & equals rule methods. 2023-09-25 00:09:11 +01:00
Alexandre Pujol
923bb66eba
feat(aa-log): new structure for apparmor rules. 2023-09-25 00:06:07 +01:00
Alexandre Pujol
edd0e6ff55
fix(build): fix unit test build. 2023-09-18 17:35:32 +01:00
Alexandre Pujol
dc2971da1b
fix(build): ensure int is resolved during prebuild.
See: #222
2023-09-18 13:10:22 +01:00
Alexandre Pujol
aea0034fcc
chore: various cosmetic changes. 2023-09-01 19:26:52 +01:00
Alexandre Pujol
393f7001dc
fix(aa-log): profile template.
See #182
2023-08-26 11:32:56 +01:00
Alexandre Pujol
7273bde534
feat(aa-log): update default tunables according to guideline. 2023-08-22 23:09:34 +01:00
Alexandre Pujol
5516eef952
fix(aa-log): profile template. 2023-08-22 22:59:12 +01:00
Alexandre Pujol
f4ba16861f
feat(aa-log): minor apparmor profile struct tweak. 2023-08-22 22:58:35 +01:00