桌面Linux加固——安装、磁盘加密、隐私设置和应用限制
cac55 2024-10-31 12:21 39 浏览 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容器都有自己的内核,并且与主机隔离。
相关推荐
- Protel电路设计常用设计编辑器案例2——创建元件
-
#大有学问#今天介绍一下Protel常用设计编辑器的电气连接工具栏。单击主工具栏上的工具按钮或选择【查看】|【工具栏】|【配线工具栏】菜单命令可以关闭或打开【电气连接(WiringTools)】工具...
- Protel调整元器件的位置(1)——移动和对齐元器件
-
今天介绍调整元器件位置的方法。首先介绍移动和对齐元器件的方法。在绘制电路原理图时,放置完了的电路图可能位置不太合适,需要进行移动。原理图中的所有对象都可以被移动,移动方法相似。对于元器件的移动来说又分...
- 电路仿真软件详谈(八),proteus电路仿真软件和protel的区别
-
电路仿真软件是常用工具类型之一,proteus更是电路仿真软件中的佼佼者。但是对于proteus电路仿真软件和protel,二者总是被弄混淆。例如,protel是电路仿真软件吗?proteus电路仿真...
- PCB文件转换生产文件Protel 99SE_pcb格式转换
-
为何要将PCB文件转换为GERBER文件和钻孔数据?因为GERBER文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,其中RS-274-D称为基本GERBER格式,并...
- PCB设计项目教程 -PDF_pcb设计作品
-
PCB设计项目教程》及相关PCB设计教材详细介绍:一、核心教材《PCB设计项目教程》该教材由徐凯、王威担任主编,于2017年由北京理工大学出版社出版。其采用“项目导向、任务驱动”的教学模式,...
- 最受欢迎的pcb设计软件Protel99se到底怎么样?
-
Protel99se是一款国内非常实用且流行的设计行业的pcb设计软件,其由pcb原理图设计和多层板电路设计两大功能组成,其最大的特点是好获取,在网上可以随便的找到,且Protel99se软件适用于w...
- 人人都是网络雇佣兵,一种基于路由器的ddos平台设计思路
-
本文灵感来自于三个方面优酷路由宝,迅雷宝这种路由器流量兑现方式Anonymous匿名者的ddos方式传统木马ddos方案先说路由宝迅雷宝,这种以用户网络为节点的CDN网络中,会传输大量的流量,我上月优...
- 接口性能测试工具Locust介绍_接口和性能的测试要点
-
接口性能测试工具其实挺多的,小型有apache的ab工具,大型的有Jmeter、Locust......这里要介绍的是Locust,相对于Jmeter进行了比较完善的封装,Locust可以就显的更自...
- 华硕笔记本电脑安装系统实战心得体会
-
故障:某某的电脑叫人安装系统至一半就蓝屏死机.拿来给我安装,发现光驱无效,不能用光盘安装.电脑启动蓝屏.解决方法:用了半天时间安装也出现类似问题.后来考虑用U盘来装.1.首先制作U盘系统,把U盘资...
- dos命令systeminfo图文教程,显示操作系统配置信息msinfo32
-
大家好,我是老盖,首先感谢观看本文,本篇文章做的有视频,视频讲述的比较详细,也可以看我发布的视频。今天我们学习systeminfo命令,该工具显示本地或远程机器(包括服务包级别)的操作系统配置的信息,...
- 玩家展示现代硬件上运行的MS-DOS 拥有令人难以置信的向后兼容性
-
一位YouTuber展示了在现代计算机硬件上直接运行古老的MS-DOS操作系统和经典游戏的能力。这段视频由YouTuberInkbox发布,向观众展示了如何启动古老的、前Windows...
- 比微PE还干净还强大,带网络:USBOS V3.0超级PE装机工具20221031
-
期待已久的USBOSV3.0超级PE装机工具20221031又和大家见面了,用过的朋友都知道他的确很强大,对于新旧电脑的支持很好,目前为止还没有电脑不支持的,包括苹果PC。很多朋友还在用诸如大白菜、...
- 大童保险李晓婧:保险的本位是风险管理应在四方面进行建设
-
经济观察网记者姜鑫5月17日,大童保险服务宣布升级了风险管理模式,推出DOSM(DemandOriented,SolutionModel)需求导向型解决方案5.0版本。新解决方案从原有“六位...
- DOS常用命令及简介_dos常用命令大全及用法
-
DOS是英文DiskOperatingSystem的缩写,意思是“磁盘操作系统”。我是在95年开始学的电脑,当时学校的机房里,还没有一台WINDOWS操作系统的电脑,当时都是用DOS、UC-DOS...
- Windows 忘记开机密码?不用任何工具,1招轻松破解
-
出现忘记Windows密码的情况,概率有多大?对此,小电只能回答忘记开机密码的情况,说来就来,没有规律,也不会提前告诉你一声~而忘记Windows开机密码的时候,很多朋友都会想起可以使用u盘启动盘来破...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 如何绘制折线图 (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)