nspawn: Add --restrict-address-families= option
Add a new --restrict-address-families= command line option and corresponding RestrictAddressFamilies= setting for .nspawn files to restrict which socket address families may be used inside a container. Many address families such as AF_VSOCK and AF_NETLINK are not network-namespaced, so restricting access to them in containers improves isolation. The option supports allowlist and denylist modes (via ~ prefix), as well as "none" to block all families, matching the semantics of RestrictAddressFamilies= in unit files. The address family parsing logic is extracted into a shared parse_address_families() helper in parse-helpers.c, which is now also used by config_parse_address_families() in load-fragment.c. This is currently opt-in. In a future version, the default will be changed to restrict address families to AF_INET, AF_INET6 and AF_UNIX.
This commit is contained in:
@@ -77,7 +77,8 @@ _systemd_nspawn() {
|
||||
--pivot-root --property --private-users --private-users-ownership --network-namespace-path
|
||||
--network-ipvlan --network-veth-extra --network-zone -p --port --system-call-filter --overlay
|
||||
--overlay-ro --settings --rlimit --hostname --no-new-privileges --oom-score-adjust --cpu-affinity
|
||||
--resolv-conf --timezone --root-hash-sig --background --oci-bundle --verity-data'
|
||||
--resolv-conf --timezone --root-hash-sig --background --oci-bundle --verity-data
|
||||
--restrict-address-families'
|
||||
)
|
||||
|
||||
_init_completion || return
|
||||
|
||||
@@ -53,4 +53,5 @@ _arguments \
|
||||
'--volatile=[Run the system in volatile mode.]:volatile:(no yes state)' \
|
||||
"--notify-ready=[Control when the ready notification is sent]:options:(yes no)" \
|
||||
"--suppress-sync=[Control whether to suppress disk synchronization for the container payload]:options:(yes no)" \
|
||||
'--restrict-address-families=[Restrict socket address families accessible in the container.]: : _message "address families"' \
|
||||
'*:: : _normal'
|
||||
|
||||
Reference in New Issue
Block a user