Skip to content

Commit cefe29c

Browse files
Install and Enable AppArmor in Azure Linux 3 (#7261)
1 parent 32d8bc6 commit cefe29c

File tree

20 files changed

+145
-17
lines changed

20 files changed

+145
-17
lines changed

e2e/scenario_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2207,3 +2207,18 @@ func Test_Ubuntu2404_VHDCaching(t *testing.T) {
22072207
},
22082208
})
22092209
}
2210+
2211+
func Test_AzureLinuxV3_AppArmor(t *testing.T) {
2212+
RunScenario(t, &Scenario{
2213+
Description: "Tests that AppArmor is properly enabled and configured on Azure Linux V3 nodes",
2214+
Config: Config{
2215+
Cluster: ClusterKubenet,
2216+
VHD: config.VHDAzureLinuxV3Gen2,
2217+
BootstrapConfigMutator: func(nbc *datamodel.NodeBootstrappingConfiguration) {},
2218+
Validator: func(ctx context.Context, s *Scenario) {
2219+
// Validate that AppArmor kernel module is loaded and service is active
2220+
ValidateAppArmorBasic(ctx, s)
2221+
},
2222+
},
2223+
})
2224+
}

e2e/validators.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,3 +1345,34 @@ func getIPTablesRulesCompatibleWithEBPFHostRouting() (map[string][]string, []str
13451345

13461346
return tablePatterns, globalPatterns
13471347
}
1348+
1349+
// ValidateAppArmorBasic validates that AppArmor is running without requiring aa-status
1350+
func ValidateAppArmorBasic(ctx context.Context, s *Scenario) {
1351+
s.T.Helper()
1352+
1353+
// Check if AppArmor module is enabled in the kernel
1354+
command := []string{
1355+
"set -ex",
1356+
"cat /sys/module/apparmor/parameters/enabled",
1357+
}
1358+
execResult := execScriptOnVMForScenarioValidateExitCode(ctx, s, strings.Join(command, "\n"), 0, "failed to check AppArmor kernel parameter")
1359+
stdout := strings.TrimSpace(execResult.stdout.String())
1360+
require.Equal(s.T, "Y", stdout, "expected AppArmor to be enabled in kernel")
1361+
1362+
// Check if apparmor.service is active
1363+
command = []string{
1364+
"set -ex",
1365+
"systemctl is-active apparmor.service",
1366+
}
1367+
execResult = execScriptOnVMForScenarioValidateExitCode(ctx, s, strings.Join(command, "\n"), 0, "apparmor.service is not active")
1368+
stdout = strings.TrimSpace(execResult.stdout.String())
1369+
require.Equal(s.T, "active", stdout, "expected apparmor.service to be active")
1370+
1371+
// Check if AppArmor is enforcing by checking current process profile
1372+
command = []string{
1373+
"set -ex",
1374+
"cat /proc/self/attr/apparmor/current",
1375+
}
1376+
execScriptOnVMForScenarioValidateExitCode(ctx, s, strings.Join(command, "\n"), 0, "failed to check AppArmor current profile")
1377+
// Any output indicates AppArmor is active (profile will be shown)
1378+
}

parts/linux/cloud-init/artifacts/mariner/cse_install_mariner.sh

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,33 @@ installDeps() {
3939
done
4040

4141
# install 2.0 specific packages
42-
# apparmor related packages and the blobfuse package are not available in AzureLinux 3.0
42+
# the blobfuse package is not available in AzureLinux 3.0
4343
if [ "$OS_VERSION" = "2.0" ]; then
4444
for dnf_package in apparmor-parser libapparmor blobfuse; do
4545
if ! dnf_install 30 1 600 $dnf_package; then
4646
exit $ERR_APT_INSTALL_TIMEOUT
4747
fi
4848
done
4949
fi
50+
51+
# install apparmor related packages in AzureLinux 3.0
52+
# apparmor-utils is not installed in VHD as it brings auditd dependency
53+
# Only core AppArmor functionality (apparmor-parser, libapparmor) is included
54+
# Skip installation on CVM builds as they use different kernel configurations
55+
if [ "$OS_VERSION" = "3.0" ]; then
56+
# Check if this is a CVM build by inspecting FEATURE_FLAGS
57+
if echo "$FEATURE_FLAGS" | grep -q "cvm"; then
58+
echo "Skipping AppArmor installation on CVM build (FEATURE_FLAGS: $FEATURE_FLAGS)"
59+
else
60+
echo "Installing AppArmor packages for Azure Linux 3.0"
61+
for dnf_package in apparmor-parser libapparmor; do
62+
if ! dnf_install 30 1 600 $dnf_package; then
63+
exit $ERR_APT_INSTALL_TIMEOUT
64+
fi
65+
done
66+
systemctl enable apparmor.service
67+
fi
68+
fi
5069
}
5170

5271
installKataDeps() {

pkg/agent/testdata/AzureLinuxV2+Kata/CustomData

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ write_files:
5858
encoding: gzip
5959
owner: root
6060
content: !!binary |
61-
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
6262

6363
- path: /opt/azure/containers/provision_configs.sh
6464
permissions: "0744"

0 commit comments

Comments
 (0)