Skip to content

Commit 7cdd568

Browse files
author
David Scott
committed
Security enhancements in XenServer domain 0 are irrelevant for xapi-project
Signed-off-by: David Scott <[email protected]>
1 parent 6200b63 commit 7cdd568

File tree

1 file changed

+0
-21
lines changed

1 file changed

+0
-21
lines changed

xen-api/extensions.md

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,27 +24,6 @@ If it is a Linux-based VM, install the COMPANY\_TOOLS and use the `xenstore-read
2424
>
2525
> Only prefixes beginning with `vm-data` are permitted, and anything not in this name-space will be silently ignored when starting the VM.
2626
27-
Security enhancements
28-
---------------------
29-
30-
The control domain in XenServer PRODUCT\_VERSION and above has various security enhancements in order to harden it against attack from malicious guests. Developers should never notice any loss of correct functionality as a result of these changes, but they are documented here as variations of behavior from other distributions.
31-
32-
- The socket interface, `xenstored`, access using `libxenstore`. Interfaces are restricted by `xs_restrict()`.
33-
34-
- The device `/dev/xen/evtchn`, which is accessed by calling `xs_evtchn_open()` in `libxenctrl`. A handle can be restricted using `xs_evtchn_restrict()`.
35-
36-
- The device `/proc/xen/privcmd`, accessed through `xs_interface_open()` in `libxenctrl`. A handle is restricted using `xc_interface_restrict()`. Some privileged commands are naturally hard to restrict (e.g. the ability to make arbitrary hypercalls), and these are simply prohibited on restricted handles.
37-
38-
- A restricted handle cannot later be granted more privilege, and so the interface must be closed and re-opened. Security is only gained if the process cannot subsequently open more handles.
39-
40-
The control domain privileged user-space interfaces can now be restricted to only work for certain domains. There are three interfaces affected by this change:
41-
42-
- The `qemu` device emulation processes and `vncterm` terminal emulation processes run as a non-root user ID and are restricted into an empty directory. They uses the restriction API above to drop privileges where possible.
43-
44-
- Access to xenstore is rate-limited to prevent malicious guests from causing a denial of service on the control domain. This is implemented as a token bucket with a restricted fill-rate, where most operations take one token and opening a transaction takes 20. The limits are set high enough that they should never be hit when running even a large number of concurrent guests under loaded operation.
45-
46-
- The VNC guest consoles are bound only to the `localhost` interface, so that they are not exposed externally even if the control domain packet filter is disabled by user intervention.
47-
4827
Internationalization for SR names
4928
---------------------------------
5029

0 commit comments

Comments
 (0)