Compare commits
No commits in common. "dfd09dbcb6f8a562c9cec501efcd333e47e0a86b" and "4cc79798f0465092bcae5185a28f2df0ebcfc88c" have entirely different histories.
dfd09dbcb6
...
4cc79798f0
13 changed files with 58 additions and 98 deletions
5
docs/desktop-os/index.md
Normal file
5
docs/desktop-os/index.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Desktop operating-system Blog
|
||||
|
||||
The blog page of the topics particularly related to desktop operating systems.
|
||||
|
||||
---
|
|
@ -1,3 +1,9 @@
|
|||
---
|
||||
hide:
|
||||
- navigation
|
||||
- toc
|
||||
---
|
||||
|
||||
# Welcome to the blog of the Ampel organisation
|
||||
|
||||
Here we blog about various topics related to desktop and server operating systems. From base system installs to particular configuration of top level software. Always striving for simplicity, minimalism and security in each of these layers.
|
13
docs/server-os/.authors.yml
Normal file
13
docs/server-os/.authors.yml
Normal file
|
@ -0,0 +1,13 @@
|
|||
authors:
|
||||
luc:
|
||||
name: "Luc"
|
||||
description: ""
|
||||
avatar: "https://git.ampel.dev/avatars/cbd8e77b1f18b62a6a8dc56124238153?size=512"
|
||||
slug: "luc"
|
||||
url: "https://git.ampel.dev/luc"
|
||||
nils:
|
||||
name: "Nils"
|
||||
description: ""
|
||||
avatar: "https://git.ampel.dev/avatars/caa9d4634a522b6e874804a280ce6d1001e4213b5e9db9ec965641269f862623?size=512"
|
||||
slug: "nils"
|
||||
url: "https://git.ampel.dev/nils"
|
5
docs/server-os/index.md
Normal file
5
docs/server-os/index.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Server operating-system Blog
|
||||
|
||||
The blog page of the topics particularly related to server operating systems.
|
||||
|
||||
---
|
|
@ -9,7 +9,6 @@ authors:
|
|||
tags:
|
||||
- Alpine Linux
|
||||
- Gentoo Linux
|
||||
- Void Linux
|
||||
categories:
|
||||
- Security
|
||||
---
|
||||
|
@ -24,25 +23,10 @@ Linux Security Modules (LSM) is a framework that allows the implementation of va
|
|||
|
||||
These security modules may be enabled by adding them to the kernel `cmdline`:
|
||||
|
||||
=== "Alpine Linux"
|
||||
|
||||
``` shell title="/etc/kernel-hooks.d/secureboot.conf"
|
||||
cmdline="... lsm=landlock,lockdown,yama,integrity ..."
|
||||
```
|
||||
|
||||
=== "Gentoo Linux"
|
||||
|
||||
``` shell title="/etc/kernel/cmdline"
|
||||
... lsm=landlock,lockdown,yama,integrity ...
|
||||
```
|
||||
|
||||
=== "Void Linux"
|
||||
|
||||
``` shell title="/etc/dracut.conf.d/cmdline.conf"
|
||||
kernel_cmdline="... lsm=landlock,lockdown,yama,integrity ..."
|
||||
```
|
||||
|
||||
|
||||
### Landlock
|
||||
|
||||
Landlock (`landlock`) is an access-control system that enables any processes to securely restrict themselves and their future children, i.e. sandboxing.
|
||||
|
@ -85,12 +69,6 @@ AppArmor is a security module that provides a simpler alternative to SELinux. It
|
|||
sh# apk add apparmor apparmor-utils apparmor-profiles
|
||||
```
|
||||
|
||||
and add it to the boot runlevel:
|
||||
|
||||
``` shell-session
|
||||
sh# rc-update add apparmor boot
|
||||
```
|
||||
|
||||
=== "Gentoo Linux"
|
||||
|
||||
``` shell-session
|
||||
|
@ -103,38 +81,12 @@ AppArmor is a security module that provides a simpler alternative to SELinux. It
|
|||
sh# rc-update add apparmor boot
|
||||
```
|
||||
|
||||
=== "Void Linux"
|
||||
|
||||
``` shell-session
|
||||
sh# xbps-install apparmor apparmor-utils apparmor-profiles
|
||||
```
|
||||
|
||||
and add the service:
|
||||
|
||||
``` shell-session
|
||||
sh# ln -s /etc/sv/apparmor /var/service
|
||||
```
|
||||
|
||||
Add `apparmor` to the kernel `cmdline` to make it operational:
|
||||
|
||||
=== "Alpine Linux"
|
||||
|
||||
``` shell title="/etc/kernel-hooks.d/secureboot.conf"
|
||||
cmdline="... lsm=...,apparmor apparmor=1 ..."
|
||||
```
|
||||
|
||||
=== "Gentoo Linux"
|
||||
|
||||
``` shell title="/etc/kernel/cmdline"
|
||||
... lsm=...,apparmor apparmor=1 ...
|
||||
```
|
||||
|
||||
=== "Void Linux"
|
||||
|
||||
``` shell title="/etc/dracut.conf.d/cmdline.conf"
|
||||
kernel_cmdline="... lsm=...,apparmor apparmor=1 ..."
|
||||
```
|
||||
|
||||
Then reconfigure the `kernel`:
|
||||
|
||||
=== "Alpine Linux"
|
||||
|
@ -149,12 +101,6 @@ Then reconfigure the `kernel`:
|
|||
sh# emerge --config gentoo-kernel
|
||||
```
|
||||
|
||||
=== "Void Linux"
|
||||
|
||||
``` shell-session
|
||||
sh# xbps-reconfigure -f linux<version>
|
||||
```
|
||||
|
||||
You can check the status of `apparmor` with `apparmor-utils`:
|
||||
|
||||
``` shell-session
|
||||
|
@ -165,24 +111,10 @@ sh# aa-status
|
|||
|
||||
Boot parameters configure the bootloader to parse the relevant settings to the kernel at boot. Hardening the boot process will improve the overall security of the system. The listed boot parameters in this chapter can be parsed into the kernel `cmdline`:
|
||||
|
||||
=== "Alpine Linux"
|
||||
|
||||
``` shell title="/etc/kernel-hooks.d/secureboot.conf"
|
||||
cmdline="... slab_nomerge init_on_alloc=1 init_on_free=1 page_alloc.shuffle=1 pti=on ..."
|
||||
```
|
||||
|
||||
=== "Gentoo Linux"
|
||||
|
||||
``` shell title="/etc/kernel/cmdline"
|
||||
... slab_nomerge init_on_alloc=1 init_on_free=1 page_alloc.shuffle=1 pti=on ...
|
||||
```
|
||||
|
||||
=== "Void Linux"
|
||||
|
||||
``` shell title="/etc/dracut.conf.d/cmdline.conf"
|
||||
kernel_cmdline="... slab_nomerge init_on_alloc=1 init_on_free=1 page_alloc.shuffle=1 pti=on ..."
|
||||
```
|
||||
|
||||
### Mitigations of system vulnerabilities
|
||||
|
||||
* The setting `slab_nomerge` disables [slab merging](https://en.wikipedia.org/wiki/Slab_allocation) which helps to protect against heap exploitation.
|
||||
|
@ -343,12 +275,6 @@ The default memory allocator of `musl` is already reasonably secure but not as s
|
|||
sh# emerge -a hardened-malloc
|
||||
```
|
||||
|
||||
=== "Void Linux"
|
||||
|
||||
``` shell-session
|
||||
sh# xbps-install hardened-malloc
|
||||
```
|
||||
|
||||
and set it to system-wide edit:
|
||||
|
||||
``` shell title="/etc/ld-musl-x86_64.path"
|
||||
|
@ -382,12 +308,6 @@ Improve the security of the system by increasing the entropy with the `jitterent
|
|||
sh# emerge -a jitterentropy
|
||||
```
|
||||
|
||||
=== "Void Linux"
|
||||
|
||||
``` shell-session
|
||||
sh# xbps-install jitterentropy
|
||||
```
|
||||
|
||||
and make sure that the module gets loaded:
|
||||
|
||||
``` shell title="/etc/modules-load.d/entropy.conf"
|
13
mkdocs.yml
13
mkdocs.yml
|
@ -13,6 +13,8 @@ theme:
|
|||
features:
|
||||
- navigation.instant
|
||||
- navigation.instant.progress
|
||||
- navigation.indexes
|
||||
- navigation.tabs
|
||||
- navigation.sections
|
||||
- toc.follow
|
||||
- search.suggest
|
||||
|
@ -58,4 +60,13 @@ plugins:
|
|||
- search
|
||||
- tags
|
||||
- blog:
|
||||
blog_dir: .
|
||||
blog_dir: desktop-os
|
||||
- blog:
|
||||
blog_dir: server-os
|
||||
|
||||
nav:
|
||||
- 'Home': index.md
|
||||
- 'Desktop OS':
|
||||
- desktop-os/index.md
|
||||
- 'Server OS':
|
||||
- server-os/index.md
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue