如何解决“systemd-analyze security”的结果?

tid*_*ake 5 security services systemd

我对这些结果感到困惑。我该如何修复这些警报?这对于使用 Ubuntu 的家用计算机来说是否正常?谢谢。

me@ubuntu:~$ systemd-analyze security 
UNIT                                  EXPOSURE PREDICATE HAPPY
ModemManager.service                       5.6 MEDIUM        
NetworkManager.service                     7.7 EXPOSED       
accounts-daemon.service                    9.6 UNSAFE        
acpid.service                              9.6 UNSAFE        
alsa-state.service                         9.6 UNSAFE        
anacron.service                            9.6 UNSAFE        
apport.service                             9.6 UNSAFE        
avahi-daemon.service                       9.6 UNSAFE        
bolt.service                               5.1 MEDIUM        
colord.service                             8.8 EXPOSED       
cron.service                               9.6 UNSAFE        
cups-browsed.service                       9.6 UNSAFE        
cups.service                               9.6 UNSAFE        
dbus.service                               9.6 UNSAFE        
dmesg.service                              9.6 UNSAFE        
emergency.service                          9.5 UNSAFE        
gdm.service                                9.7 UNSAFE        
getty@tty1.service                         9.6 UNSAFE        
glances.service                            9.6 UNSAFE        
grub-common.service                        9.6 UNSAFE        
hddtemp.service                            9.6 UNSAFE        
irqbalance.service                         6.0 MEDIUM        
kerneloops.service                         9.1 UNSAFE        
networkd-dispatcher.service                9.6 UNSAFE        
nvidia-persistenced.service                9.6 UNSAFE        
ondemand.service                           9.6 UNSAFE        
packagekit.service                         9.6 UNSAFE        
plymouth-start.service                     9.5 UNSAFE        
polkit.service                             9.6 UNSAFE        
rc-local.service                           9.6 UNSAFE        
rescue.service                             9.5 UNSAFE        
rsync.service                              9.6 UNSAFE        
rsyslog.service                            9.6 UNSAFE        
rtkit-daemon.service                       7.0 MEDIUM        
snapd.service                              9.6 UNSAFE        
spice-vdagentd.service                     9.2 UNSAFE        
strongswan.service                         9.6 UNSAFE        
switcheroo-control.service                 9.6 UNSAFE        
systemd-ask-password-console.service       9.3 UNSAFE        
systemd-ask-password-plymouth.service      9.5 UNSAFE        
systemd-ask-password-wall.service          9.4 UNSAFE        
systemd-fsckd.service                      9.5 UNSAFE        
systemd-initctl.service                    9.3 UNSAFE        
systemd-journald.service                   4.2 OK            
systemd-logind.service                     2.8 OK            
systemd-networkd.service                   2.8 OK            
systemd-resolved.service                   2.1 OK            
systemd-rfkill.service                     9.3 UNSAFE        
systemd-timesyncd.service                  2.0 OK            
systemd-udevd.service                      8.1 EXPOSED       
thermald.service                           9.6 UNSAFE        
udisks2.service                            9.6 UNSAFE        
unattended-upgrades.service                9.6 UNSAFE        
upower.service                             2.0 OK            
user@1000.service                          9.3 UNSAFE        
user@123.service                           9.3 UNSAFE        
uuidd.service                              4.3 OK            
vboxweb.service                            9.6 UNSAFE        
virtualbox-guest-utils.service             9.6 UNSAFE        
virtualbox.service                         9.6 UNSAFE        
whoopsie.service                           9.6 UNSAFE        
wpa_supplicant.service                     9.6 UNSAFE     
Run Code Online (Sandbox Code Playgroud)

Rin*_*ind 8

systemd-analyze security查看 systemd 内置的沙箱功能。它不检查服务本身。因此,忽略这些是安全的,但如果您确实想解决这些问题,请参阅freedesktop systemd了解如何使用沙箱选项:

沙盒

以下沙箱选项是限制系统暴露于单位进程的有效方法。建议为每个单元打开尽可能多的这些选项,而不会对过程的运行能力产生负面影响。请注意,在底层安全机制不可用的系统上,许多沙箱功能都会被正常关闭。例如,ProtectSystem=如果内核是在没有文件系统命名空间的情况下构建的,或者如果服务管理器在容器管理器中运行,导致文件系统命名空间对其有效负载不可用,则不会产生任何影响。类似地,RestrictRealtime=对缺乏 SECCOMP 系统调用过滤支持的系统或关闭对此支持的容器没有影响。

另请注意,某些沙箱功能通常在用户服务(即由每用户服务管理器运行的服务)中不可用。具体来说,需要文件系统命名空间支持的各种设置(例如ProtectSystem=)不可用,因为底层内核功能只能由特权进程访问。

您可以设置一长串选项来强制设备遵守更严格的策略,每个选项都对其作用进行了详细解释。

一些:

保护系统=

采用布尔参数或特殊值“full”或“strict”。如果为 true,则将此单元调用的进程以只读方式安装 /usr 和 /boot 目录。如果设置为“full”,/etc 目录也会以只读方式挂载。如果设置为“strict”,则整个文件系统层次结构将以只读方式安装,API 文件系统子树 /dev、/proc 和 /sys 除外(使用 PrivateDevices=、ProtectKernelTunables=、ProtectControlGroups= 保护这些目录)。此设置可确保服务禁止对供应商提供的操作系统(以及可选的配置和本地安装)进行任何修改。建议为所有长时间运行的服务启用此设置,除非它们涉及系统更新或需要以其他方式修改操作系统。如果使用此选项,则可以使用 ReadWritePaths= 将特定目录排除为只读。如果设置了 DynamicUser=,则隐含此设置。此设置无法确保在所有情况下提供保护。一般来说,它具有与 ReadOnlyPaths= 相同的限制,请参见下文。默认为关闭。

保护家园=

采用布尔参数或特殊值“只读”或“tmpfs”。如果为 true,则目录 /home、/root 和 /run/user 对于该单元调用的进程来说将不可访问且为空。如果设置为“只读”,则这三个目录将变为只读。如果设置为“tmpfs”,临时文件系统将以只读模式挂载在三个目录上。值“tmpfs”对于隐藏与单元调用的进程不相关的主目录很有用,同时仍然允许在 BindPaths= 或 BindReadOnlyPaths= 中列出时使必要的目录可见。

将其设置为“yes”主要相当于设置 InaccessiblePaths= 中的三个目录。同样,“只读”主要相当于 ReadOnlyPaths=,“tmpfs”主要相当于带有“:ro”的 TemporaryFileSystem=。

建议为所有长时间运行的服务(特别是面向网络的服务)启用此设置,以确保它们无法访问私有用户数据,除非服务实际上需要访问用户的私有数据。如果设置了 DynamicUser=,则隐含此设置。此设置无法确保在所有情况下提供保护。一般来说,它具有与 ReadOnlyPaths= 相同的限制,请参见下文。

此选项仅适用于系统服务,并且不支持在服务管理器的每用户实例中运行的服务。

RuntimeDirectory=、StateDirectory=、CacheDirectory=、LogsDirectory=、ConfigurationDirectory=

这些选项采用空格分隔的目录名称列表。指定的目录名称必须是相对的,并且不能包含“..”。如果设置,当设备启动时,将在下表中定义的位置下创建一个或多个指定名称的目录(包括其父目录)。另外,相应的环境变量是用目录的完整路径定义的。如果设置了多个目录,则在环境变量中路径用冒号(“:”)连接。