§19.3_Unix_Linux_国产系统_安全分析与防护
Categories:
2 分钟阅读
Unix/Linux安全分析与防护
单用户:虽然可能有多个账号,但同时只能有一个用户在使用。
多用户:可以有多个用户同时使用主机。

数字 4 、2 和 1 表示 读、写、执行权限 文件的权限其实是“二进制”三位八进制数
每个属组的所有的权限都可以用一位八进制数表示,每个数字都代表了不同的权限(权值)。如 最高的权限为是7,代表可读,可写,可执行。
故 如果我们将每个属组的权限都用八进制数表示,则文件的权限可以表示为三位八进制数
rwx = 111 = 7 读写执行
rw- = 110 = 6 读写
r-x = 101 = 5 读执行
r-- = 100 = 4 读
-wx = 011 = 3 写执行
-w- = 010 = 2 写
--x = 001 = 1 执行
--- = 000 = 0 无权限

安全增强
开机保护口令在bios上实现,防止通过u盘PE启动系统。(但如果把硬盘拆出换个硬盘仍可访问硬盘,除非设置硬盘全盘加密)

linux检查文件哈希
在 Linux 中,你可以使用以下命令来计算文件的哈希值:
- MD5:
md5sum 文件名
输出的第一部分是文件的 MD5 哈希值。
- SHA-1:
sha1sum 文件名
- SHA-256:
sha256sum 文件名
- SHA-512:
sha512sum 文件名
每个命令都会输出计算的哈希值和文件名。
linux全盘加密
是的,Linux 有类似于 BitLocker 的全盘加密技术,主要包括以下几种:
- LUKS (Linux Unified Key Setup):
- LUKS 是 Linux 上最常用的全盘加密标准,支持多用户密码管理、兼容性好且简单易用。
- LUKS 通常结合
dm-crypt使用,dm-crypt是一个内核模块,负责处理块设备的加密。 - 创建 LUKS 加密卷的命令如下:
sudo cryptsetup luksFormat /dev/sdX
sudo cryptsetup open /dev/sdX encrypted_disk
- eCryptfs:
- eCryptfs 是一个加密文件系统,适合于加密用户主目录。它可以自动加解密用户的文件,通常用于目录加密。
- 设置 eCryptfs 的简单命令:
sudo apt install ecryptfs-utils
ecryptfs-setup-private
- Veracrypt:
- Veracrypt 是一个跨平台的开源加密工具,继承自 TrueCrypt,支持全盘加密和文件加密。
- 虽然它更常用于创建加密文件容器,但也支持全盘加密,适合多操作系统环境。
- Btrfs 文件系统加密:
- Btrfs 计划支持原生加密,但目前推荐的文件系统加密仍然是通过 LUKS 配合其他文件系统(如 Ext4)实现。
在实际应用中,LUKS 是 Linux 上最广泛采用的全盘加密方案,因为它提供了可靠的安全性和多重身份验证支持。
Linux安全加固

chattr +i /etc/inetd.conf
在 Linux 中,chattr 命令用于修改文件的属性,+i 和 -i 是两个常用的选项:
**chattr +i**:将文件设置为“不可更改”(immutable)状态。对设置了+i属性的文件,即使是 root 用户也无法修改、删除、重命名或创建新的链接。这种设置可以用于保护关键配置文件、防止误操作或恶意更改。例如:
sudo chattr +i /etc/inetd.conf
这会使 /etc/inetd.conf 文件变为不可修改状态。
**chattr -i**:移除“不可更改”属性,使文件恢复为可修改状态。例如:
sudo chattr -i /etc/inetd.conf
执行后,/etc/inetd.conf 文件将恢复正常,可以再次进行修改或删除操作。
这些属性对文件的安全性管理非常有用,尤其在保护重要配置文件时。
chattr -i /etc/inetd.conf
LILO与Windows里面叫的bios是有区别的
其实,Linux 的 LILO(Linux Loader)和 Windows 中的 BIOS 并不完全相同,它们的功能和作用是不同的。
- LILO (Linux Loader):
- LILO 是一种 Linux 启动加载程序,负责在启动时加载 Linux 内核。早期的 Linux 系统广泛使用 LILO,但现在已经逐渐被更强大的 GRUB 替代。
- LILO 安装在硬盘的主引导记录(MBR)中,用于启动 Linux 系统,并提供多启动选项。
- 类似的,Windows 中有 Windows Boot Manager,用于选择启动 Windows 或其他操作系统。
- BIOS (Basic Input/Output System):
- BIOS 是一种固件,位于主板上,用于在计算机启动时进行基本的硬件初始化、设置并加载启动加载程序(如 LILO、GRUB 或 Windows Boot Manager)。
- BIOS 不是操作系统的一部分,而是更底层的硬件接口。BIOS 的功能在现代计算机中逐渐被 UEFI(Unified Extensible Firmware Interface)取代,提供更丰富的功能和更快的启动速度。
所以,LILO 相当于启动加载程序(类似 Windows 的 Boot Manager),而 BIOS 是计算机启动的第一步,用于硬件初始化和引导加载器的启动。
suid
在 Linux 和其他 Unix 系统中,SUID (Set User ID) 是一种特殊的文件权限标志,常用于程序文件上。它的作用是在程序运行时,临时赋予执行者文件所有者的权限,而不仅仅是执行者自己的权限。
SUID 的工作原理
- 当一个文件设置了 SUID 位后,不论谁来执行这个文件,系统都会让执行者暂时拥有文件所有者的权限。
- 典型的 SUID 程序是
**/usr/bin/passwd**,它用于更改用户密码。修改密码时,程序需要访问系统文件/etc/shadow,而普通用户通常对这个文件没有写权限。因此,passwd程序通过 SUID 使普通用户在运行该程序时临时获得 root 权限,以便修改密码文件。
如何查看和设置 SUID
- 查看 SUID:使用
ls -l命令查看文件权限。例如:
ls -l /usr/bin/passwd
输出中会看到 rwsr-xr-x,其中的 s 表示 SUID 位已设置。
- 设置 SUID:用
chmod命令将 SUID 设置到文件上。
sudo chmod u+s 文件名
- 移除 SUID:
sudo chmod u-s 文件名
SUID 的安全风险
SUID 程序会提升用户权限,因此设置 SUID 的程序必须经过严格审核,确保没有安全漏洞,否则可能被恶意用户利用来获取系统更高权限。


国产操作系统安全分析与防护

分权:操作员、审计员、安全员



