docs(install): allow enabling SELinux/AppArmor/host firewall on traditional OS nodes - #1044
Open
chinameok wants to merge 1 commit into
Open
docs(install): allow enabling SELinux/AppArmor/host firewall on traditional OS nodes#1044chinameok wants to merge 1 commit into
chinameok wants to merge 1 commit into
Conversation
Deploying alauda-container-platform with
|
| Latest commit: |
1478f00
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://4f297b10.alauda-container-platform.pages.dev |
| Branch Preview URL: | https://docs-ait-73853-node-security-i4t2.alauda-container-platform.pages.dev |
chinameok
force-pushed
the
docs/AIT-73853-node-security-hardening-release-4.2
branch
4 times, most recently
from
August 23, 2026 09:29
a8e43f7 to
7750689
Compare
…tional OS nodes Node preprocessing previously required SELinux, AppArmor and the host firewall to be disabled unconditionally. Compliance-driven deployments on traditional operating systems need these mechanisms enabled, so the requirement is relaxed: disabled stays the default and the recommended configuration, and init.sh keeps disabling them, but all three may be re-enabled after init.sh and before the platform installation. - Rework the security-mechanism check and the cross-node firewall check. - Add a "Hardened Node Security Configuration" appendix covering the order of operations, the SELinux relabel requirement, AppArmor, host firewall guidance and the supported policy-set boundary. - Add a Communication Matrix page so that users who enable a host firewall have the platform port list, including the warning that Pod and Service traffic is not covered by the matrix. - Sync the supported OS list. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
chinameok
force-pushed
the
docs/AIT-73853-node-security-hardening-release-4.2
branch
from
August 23, 2026 10:17
7750689 to
1478f00
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Jira: https://jira.alauda.cn/browse/AIT-73853
Why
Node preprocessing required SELinux, AppArmor and the host firewall to be disabled
unconditionally on traditional operating systems. Customers with mandatory security
baselines (STIG) need these mechanisms enabled. Alauda OS already ships with SELinux and
firewalld enabled and maintains the port rules itself; on a traditional OS the platform
cannot do that, so the requirement is relaxed and the missing information is documented.
Disabled remains the default and the recommended configuration. What changes is that
keeping a mechanism enabled is now a documented customer choice instead of a violation.
All three mechanisms are treated the same way. AppArmor is not singled out: the DISA STIG
for Canonical Ubuntu 22.04 LTS requires it (V-260557), and Ubuntu enables it by default, so
demanding that it stay off was neither defensible nor enforceable.
What
A. Security mechanisms (
node_preprocessing.mdx)Hardened Node Security Configuration. Its primary path is not tore-enable a mechanism after the fact.
init.shsupports per-step skipping — verifiedagainst
installer/res/init.shin the shipped package, where everydisable_*functionguards on
_skip "${FUNCNAME[0]}"— so the appendix tells the reader to pass--skip-disable_selinux,--skip-disable_apparmor,--skip-disable_firewalldor--skip-disable_ufwand keep the node in the state it was installed with. That avoids afull SELinux relabel and the extra reboot entirely.
init.shis documented separately, andrelabels under
permissivebefore switching toenforcing. Booting straight intoenforcingon a freshly relabelled file system can leave the node unbootable or refuseSSH logins if the relabel was incomplete. The recovery path also covers the
apparmor=0kernel command-line argument that
init.shcan add and that a service restart does notclear.
B. Communication matrix (
communication_matrix.mdx, new)host firewall had no way to know which ports to allow.
extensions are maintained by those extensions.
does not cover — Pod and Service traffic, secondary or non-default container networks,
load balancer forwarding,
Self-built VIPkeepalived VRRP, global disaster recovery, andglobal-to-workload traffic — each pointing at the page that owns that requirement.C. Supported OS list synced with the internal release baseline
4.19.90-52.22.v2207.ky10.*. That kernel has a known defect (pipe wakeup handling) thatcan hang the OVS revalidator and break Pod DNS resolution. Corrected to the
V10 SP3 2403 release and
4.19.90-89.11.v2401.ky10.*, and a minimum build is nowrecommended in the info block, because the page's kernel rule only pins
x.y.zand bothbuilds share
4.19.90.8.0 to 8.6, matching the internal baseline and the existing CentOSentry on the same page, not two discrete versions.
value, which is the form the new Kylin V11 2503 rows use.
D.
on-premises.mdx— removed the obsolete port11781from the load balancerforwarding requirement and from the
global-to-workload access requirement. Confirmed withthe component owner:
11781was the old HTTPS monitoring port and is no longer used; only11780is required.Reviewer notes
releases, so validation on one patch covers the whole minor line.
configuration is not validated on every operating system in this version's support list.
in the matrix. Those are maintained by the extensions themselves.
17946is listedas TCP only; upstream MetalLB memberlist uses TCP and UDP on the same port, but whether
ACP's deployment enables memberlist has not been verified.
7473(frr-metrics) iscarried over unchanged, although the two sibling MetalLB ports are the upstream default
plus 10000 (
7472→17472,7946→17946) and this one is not.2049(nfs) has noidentified owning component.
yarn install+yarn lint: 0 errors, 0 warnings.