桌面Linux加固——安装、磁盘加密、隐私设置和应用限制
cac55 2024-10-31 12:21 28 浏览 0 评论
Linux不是一个安全的桌面操作系统。但是,可能很多条件下,必不可少需要使用Linux桌面的图形界面来工作,尤其是一些有密机要求的办公环境下。
可以采取一些措施来加强它、减少它的攻击面并提高它的隐私性。但是某些安全措施中,不可避免要使用非发行官方构建的软件包,如linux?hardened、akmod、hardened_malloc等。使用非官方构建的包意味着增加更多的信任方,并且必须评估和安全均衡取舍:是否值得为潜在的隐私/安全利益这样做。
安装
全盘加密
大多数Linux发行版在其安装程序中都有一个选项,用于启用LUKS全盘加密。
值得注意的是,全盘加密是在磁盘分区之后,在文件系统创建之前应用进行的,如果在安装时没有设置这个选项,后续需要启动该功能,则需要备份全盘数据,然后重新安装。
默认情况下,不设置经过身份验证的加密。如果使用命令行配置分区,需要使用cryptsetup命令启用完整性-integrity选项。
交换分区加密
考虑使用加密的交换分区或ZRAM,可以避免敏感数据被推送到交换空间导致的潜在安全问题。虽然ZRAM可以在安装后设置,但如果想使用加密交换,则应该在磁盘分区时进行设置。
根据的发行版,如果选择加密驱动器,可能会自动设置加密交换。Fedora默认使用ZRAM ,无论是否启用驱动器加密。
隐私保护
NetworkManager可追踪性
大多数桌面Linux发行版,包括Fedora、openSUSE、Ubuntu等,默认都带有 NetworkManager来配置以太网和Wi-Fi设置。NetworkManager中有些设置中可以用减少被跟踪性可能,从而提高安全。
一般而言:
可以设置 /etc/NetworkManager/conf.d/00-macrandomize.conf,将对外暴露的Mac地址随机化:
[device]
wifi.scan-rand-mac-address=yes
[connection]
wifi.cloned-mac-address=random
ethernet.cloned-mac-address=random
然后,重新启动NetworkManager服务:
sudo systemctl restart NetworkManager
最后,将主机名设置为localhost:
sudo hostnamectl hostname "localhost"
请注意,随机化Wi-Fi MAC地址取决于Wi-Fi卡固件的支持。
其他标识符
可能希望注意其他系统标识符么,也有可能会导致系统暴露或泄密,在密级较高的电脑需要注意:
用户名
用户名在系统中以多种方式使用。考虑使用诸如“User”之类的通用术语,而非真实姓名。
机器编号
安装过程中会生成一个唯一的机器ID并将其存储在设备上。考虑将其设置为通用ID 。
系统计数
许多Linux发行版默认发送一些遥测数据来计算有多少系统正在使用他们的软件。考虑根据威胁模型禁用此功能。
Fedora项目提供了一个 “countme”变量, 可以在不涉及唯一ID的情况下更准确地计算访问其镜像的唯一系统。虽然当前默认禁用,但可以添加 countme=false到 /etc/dnf/dnf.conf以防将来默认更改。在 Fedora Silverblue和Kinoite等rpm?ostree系统上,countme来禁用该选项可以通过屏蔽 rpm-ostree-countme 计时器 。
openSUSE 使用唯一的 ID 来统计系统 ,可以通过删除 /var/lib/zypp/AnonymousUniqueId文件。
Zorin OS 也使用唯一ID来统计系统。可以通过运行来选择退出
sudo apt purge zorin-os-census
并可选择将该包封住,以避免意外重新安装:
sudo apt-mark hold zorin-os-census
snapd (Snap) 为的安装分配一个唯一的ID并将其用于遥测。虽然这通常不是问题,但如果要求匿名,应该避免使用Snap包并卸载snapd。可以防止在Ubuntu上意外重新安装
sudo apt-mark hold snapd.
当然,上述只是部分Linux发行版遥测设置和方法,其他的发行版,请参考对应发行版的官方文档说明。
按键匿名化
当使用键盘时可能会根据软生物识别特征进行指纹识别。Kloak软件可以帮助减轻这种威胁。Kloak可通过Kicksecure存储库.deb包和AUR包进行安装。
当然,如果系统必须要Kloak之类来保证安全(保密要求的化),我们更建议使用Whonix之类的系统。
应用限制
对桌面linux来说,应用级别的安全才是最重要,而且也是最容易出现差错的地方。针对此类问题,可以使用的沙盒解决方案,但是相对安全功能都比较弱一些,比如使用发行包管理器(DNF、APT 等)安装的软件通常没有任何沙盒或限制。
Flatpak
Flatpak的目标是成为 Linux 的一个与发行版无关的包管理器。它的主要目标之一是提供一种可以在大多数Linux发行版中使用的通用包格式。它提供了一些权限控制策略。
可以通过设置Flatpak overrides进一步限制应用程序。这可以通过命令行或使用Flatseal 来完成。请注意,这仅有助于解决松散的高级默认权限,无法解决低级问题,例如/proc和/sys访问或 eccomp 黑名单不足。
注意一些敏感权限:
--share=network: 网络和互联网接入
--socket=pulseaudio:PulseAudio 套接字,授予对所有音频设备(包括输入)的访问权限
--device=all:访问所有设备(包括网络摄像头)
--talk-name=org.freedesktop.secrets:D?Bus 访问存储在钥匙串上的秘密
如果应用程序在本地使用Wayland(不兼容层运行通过XWayland),请考虑撤销其对X11的访问权限(--nosocket=x11) 和进程间通信 (IPC)套接字 ( --unshare=ipc)也是如此。
许多Flatpak应用程序附带广泛的文件系统权限,例如 --filesystem=home和 --filesystem=host. 一些应用程序实现了Portal API,它允许文件管理器将文件传递给Flatpak应用程序(例如 VLC),而无需特定的文件系统访问权限。
可以使用的策略是首先撤销所有文件系统访问,然后测试应用程序是否可以在没有它的情况下工作。如果是,则表示该应用程序已在使用门户,无需进一步操作。如果没有,则开始授予对特定目录的权限。
听起来很奇怪,不应该启用(盲)无人值守的Flatpak包更新。如果或 Flatpak前端(应用商店)简单地执行flatpak update -y,Flatpaks将自动授予上游声明的任何新权限而无需通知。使用GNOME软件的自动更新很好,因为它不会自动更新带有权限更改的Flatpaks,而是通知用户。
Snap
Snap是另一个与发行版无关的包管理器,具有一些沙盒支持。它由Canonical 开发,并在Ubuntu中大力推广。
Snap包有两种变体:经典的,没有限制的,以及严格限制的,其中AppArmor和cgroups v1用于促进沙盒。如果快照使用经典限制(“经典快照”),如果可能,最好从发行版的存储库中安装等效的软件包。如果系统没有AppArmor,那么应该完全避免使用Snap。
此外,Ubuntu 及其衍生产品之外的大多数现代系统默认使用cgroups v2,因此必须设置systemd.unified_cgroup_hierarchy=0在内核参数中让cgroups v1工作。
Snap权限可以通过Snap Store或Ubuntu的自定义补丁GNOME控制中心进行管理。
在Ubuntu上,可以用严格限制的快照替换各种.deb 包,以最大限度地减少攻击面。这些包的一些例子是CUPS和UFW:
使用Snap包的一个警告是只能控制在其清单中声明的?接口。例如,Snap 有单独的接口用 audio-playback和audio-record, 但有些包只会声明pulseaudio允许访问播放和录制音频的界面。同样,一些应用程序可能与Wayland一起工作得很好,但包维护者可能只在他们的清单中声明X11接口。对于这些情况,需要联系快照的维护者以相应地更新清单。
Firejail
Firejail 是另一种沙盒方法。 由于它是一个大型setuid二进制文件,因此具有较大的攻击面,这增加了对特权升级漏洞的敏感性。
如果要使用Firejail,Firetools 可以帮助快速管理应用程序权限和启动沙盒应用程序。请注意,Firetools配置是临时的,没有保存配置文件供长期使用的选项。
Firejail还可以使用Xpra或Xephr限制X11窗口,这是Flatpak和Snap做不到的。
使用Firejail配置文件启动应用程序的一个技巧是使用 udo firecfg命令。 该命令将创建一个符号链接 /usr/local/bin/app_name_here指向 Firejail,它将被大多数 .desktop 文件(不指定其二进制文件的绝对路径)自动使用,将通过符号链接启动应用程序,并以这种方式让 Firejail 对其进行沙盒处理。
强制访问控制
常见的Linux强制访问控制(MAC) 框架需要策略文件才能对系统施加约束。最著名的两个是SELinux(用于基于Android和Fedora的发行版)和AppArmor(用于基于Debian的发行版和大多数openSUSE变体)。
Fedora包含预配置了一些策略的SELinux,以限制系统守护进程(后台进程)。应该将其保持在强制模式。
openSUSE中,可以在安装过程中选择SELinux或AppArmor的。可以使用发行版的默认设置既可:Tumbleweed使用AppArmor。MicroOS 用的是SELinux 。 openSUSE 的SELinux。。
Arch及其衍生产品通常不附带强制访问控制系统,需要手动安装和配置AppArmor 。
请注意,与Android不同,传统的桌面Linux发行版通常没有完整的系统强制访问控制策略;实际上只有少数系统守护进程受到限制。
个性化的配置
可以制作自己的AppArmor配置文件、SELinux策略、bubblewrap 配置文件和 seccomp 黑名单等,以更好地适应本地化的环境和限制应用程序。
保护Linux容器
如果正在运行服务器,可能听说过容器。它们在构建各个服务以独立运行的服务器环境中更为常见。 但是,有时也会在桌面系统上看到它们,特别是用于开发目的。
Docker是最流行的容器解决方案之一。它没有提供适当的沙箱,这意味着内核攻击面很大。我们应该遵循Docker和OCI强化指南 来缓解此问题。
简而言之,可以做一些事情,例如使用无root容器(通过配置更改或 Podman),使用为每个容器提供伪内核的运行时 (gVisor),等等。
另一种选择是Kata Containers ,它将虚拟机伪装成容器。每个Kata容器都有自己的内核,并且与主机隔离。
相关推荐
- 二年级下册语文课后三张表:词语表、生字表、识字,带注音
-
完整版电子资料,请关注后看我主页置顶贴获取为方便领取资料,请截图本页内容高清图片,可保存原图打印...
- 怎样把照片识别成文字?免费图片转Word的方法
-
有时我们去参加一些培训或活动,现场笔记来不及做都是先用手机拍照,后续再整理的时候重新打肯定特别耗时间,是否能直接将照片识别成文字呢?答案当然是肯定的,除了一些比较常用的聊天工具的截图文字识别外,更好用...
- 25春 | 二年级语文下册《写字表+识字表》,给孩子的预习带来帮助
-
25春|二年级语文下册《写字表+识字表》,给孩子的预习带来帮助完整版电子资料,请关注后看我主页置顶贴获取为方便领取资料,请截图本页内容高清图片,可保存原图打印...
- 二年级上册第五单元练字帖截图可打印,暑假练字必备打印版
-
部编版小学语文教材更加注重基础的掌握与积累,尤其在小学生认字和写字、阅读、古诗词等方面,提出了更高与更细致的要求。练字帖是以部编版小学语文教材的写字表做了汇总并以教材为范本制作写字表字帖字体、写字格规...
- 四年级上册第一单元练字帖截图可打印,暑假练字必备打印版
-
这练字帖是由部编版四年级上册教材整理而来的,字体、写字格规格、字号等与教材完全一致,部编版小学语文教材更加注重基础的掌握与积累。大家都知道家长朋友除了关心孩子的成绩之外,另外一个最关心的问题就是孩子...
- 部编版小学一年级下册语文第一单元识字第1课课件:春夏秋冬
-
亲爱的读者,今天为您带来的是部编版小学一年级下册语文第一单元识字第1课课件,本套课件是老师辛苦制作的呢。请大家看一下课件截图吧。大家都知道,现在的学校电教化水平很高了,可是,老师们自己制作一份课件非常...
- 老师的助手:部编版小学一年级下册语文第一单元识字第1课课件
-
亲爱的读者,今天为您带来的是部编版小学一年级下册语文第一单元识字第1课课件,本套课件是老师辛苦制作的呢。请大家看一下课件截图吧。大家都知道,现在的学校电教化水平很高了,可是,老师们自己制作一份课件非常...
- 四年级下册字帖语文识字表二类(电子版可打印)
-
亲爱的同学们好,这里是小学课堂秘籍今天为大家分享:四(下)语文识字表二类字贴23页。小学四年级是语文学习的重要阶段,识字是这个阶段语文学习的基础任务之一。2025新四下语文识字表二类字帖,是依据...
- PDF解锁神器:用PyMuPDF与pdfplumber告别手动提取
-
前言大家好,今天咱们来聊聊如何用Python中的PyMuPDF和pdfplumber库,轻松提取PDF文件里的文本和元数据。你是否曾经在处理一个复杂的PDF文件时,感到信息难以触及,提取过程让人抓狂?...
- 四年级上册第3单元看拼音写汉字截图打印,暑假预习必备打印版
-
部编版小学语文教材更加注重基础的掌握与积累,尤其在小学生认字和写字、阅读、古诗词等方面,提出了更高与更细致的要求。练字帖是以部编版小学语文教材的写字表做了汇总并以教材为范本制作写字表字帖字体、写字格规...
- 二级上册第3一4单元看拼音写汉字截图可打印,暑假预习打印版
-
部编版小学语文教材更加注重基础的掌握与积累,尤其在小学生认字和写字、阅读、古诗词等方面,提出了更高与更细致的要求。练字帖是以部编版小学语文教材的写字表做了汇总并以教材为范本制作写字表字帖字体、写字格规...
- 五年级下册语文睡前默写每日一练小纸条(识字.写字.词语)电子版
-
亲爱的同学们好,这里是小学课堂秘籍今天为大家分享:五(下)语文睡前默写每日一练小纸条(识字.写字.词语),每天的练习围绕一篇或几篇课文展开,题型丰富。看拼音写词语和根据语境写词语,有助于学生巩固生字词...
- 微信图片识别文字怎么弄?分享两个小妙招
-
微信是目前全球使用最广泛的即时通讯软件之一,其提供的图像识别功能使得我们能够轻松地通过拍照或者截图来获取图像中的文字信息。本文将介绍微信图片识别文字的方法以及相关技巧。微信图片识别文字的方法微信图片识...
- 四年级上册第1一2单元看拼音写汉字截图可打印,暑假预习打印版
-
部编版小学语文教材更加注重基础的掌握与积累,尤其在小学生认字和写字、阅读、古诗词等方面,提出了更高与更细致的要求。练字帖是以部编版小学语文教材的写字表做了汇总并以教材为范本制作写字表字帖字体、写字格规...
- 25年新版三年级上册语文暑假练习识字表字帖
-
完整版电子资料,请关注后看我主页置顶贴获取为方便领取资料,请截图本页内容高清图片,可保存原图打印...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (52)
- javaabstract (48)
- 新浪微博头像 (53)
- grub4dos (66)
- s扫描器 (51)
- httpfile dll (48)
- ps实例教程 (55)
- taskmgr (51)
- s spline (61)
- vnc远程控制 (47)
- 数据丢失 (47)
- wbem (57)
- flac文件 (72)
- 网页制作基础教程 (53)
- 镜像文件刻录 (61)
- ug5 0软件免费下载 (78)
- debian下载 (53)
- ubuntu10 04 (60)
- web qq登录 (59)
- 笔记本变成无线路由 (52)
- flash player 11 4 (50)
- 右键菜单清理 (78)
- cuteftp 注册码 (57)
- ospf协议 (53)
- ms17 010 下载 (60)