| 80 | |
| 81 | == Building and using hardening builds == |
| 82 | |
| 83 | For any distribution builds hardening should be enabled for security reasons. Hardening needs some additional configuration and post-build steps. The default install directory of !VirtualBox is `/Applications/VirtualBox.app/`. If you like to change that, say into `/Applications/OpenSource/VirtualBox.app/`, you need to add the following to the `LocalConfig.kmk`: |
| 84 | {{{ |
| 85 | VBOX_PATH_APP_PRIVATE = "/Applications/OpenSource/VirtualBox.app/Contents/MacOS" |
| 86 | VBOX_PATH_APP_PRIVATE_ARCH = "/Applications/OpenSource/VirtualBox.app/Contents/MacOS" |
| 87 | VBOX_PATH_SHARED_LIBS = "/Applications/OpenSource/VirtualBox.app/Contents/MacOS" |
| 88 | VBOX_PATH_APP_DOCS = "/Applications/OpenSource/VirtualBox.app/Contents/MacOS" |
| 89 | }}} |
| 90 | Next rebuild !VirtualBox and install it into `/Applications/OpenSource/`. Now make sure that the setuid stubs have the correct permissions: |
| 91 | {{{ |
| 92 | sudo chown -R root:admin /Applications/OpenSource/VirtualBox.app/ |
| 93 | sudo chmod u+s /Applications/OpenSource/VirtualBox.app/Contents/MacOS/VirtualBox |
| 94 | sudo chmod u+s /Applications/OpenSource/VirtualBox.app/Contents/MacOS/VirtualBoxVM |
| 95 | sudo chmod u+s /Applications/OpenSource/VirtualBox.app/Contents/MacOS/VBoxHeadless |
| 96 | sudo chmod u+s /Applications/OpenSource/VirtualBox.app/Contents/MacOS/VBoxNetAdpCtl |
| 97 | sudo chmod u+s /Applications/OpenSource/VirtualBox.app/Contents/MacOS/VBoxNetDHCP |
| 98 | }}} |
| 99 | Another requirement of hardening is that every path component of the parent directory of `VirtualBox.app/` is owned by `root` and not `world` writable. Make sure this is the case. |