教材学习及收获
一个完整的信息安全保障体系,应该充分考虑到CIA三元组的基本原则

(1)机密性:又称隐私性(Privacy),是指数据不能被未授权的主体窃取,即避免恶意读操作。
(2)完整性:是指数据不能被未授权的主体篡改,即避免恶意写操作。
(3)可用性:是指数据能够被授权主体正常访问。
Linux系统的安全机制
Linux系统的用户账号
在Linux系统中,用户分为超级用户、程序用户和普通用户三类。用户类型通过UID和GID进行识别,其中一个UID可以唯一标识一个用户账号。具体内容如下:
-
超级用户root(0):默认为root用户,其UID和GID都是0。root用户是唯一且真实存在的超级用户,在Linux系统中具有最高的管理权限。它可以登录系统、操作文件和运行各种命令。为了增强系统安全性,在生产环境中通常禁止root账号通过SSH远程登录服务器。黑客攻击Linux系统的主要目标之一是获取root权限。
-
程序用户(1~499):这类用户在安装系统后默认存在,但不能登录系统。它们主要用于满足系统进程文件的所有者要求,方便系统管理。例如,系统默认的bin、adm、nobody、mail用户等属于程序用户。
-
普通用户(500~65535):由具有系统管理员权限的运维人员添加的一般用户。
在Linux系统中,用户账号由用户名和用户口令组成。相关的账号文件包括/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow。其中,/etc/passwd文件存放用户名,而加密后的口令存放在/etc/shadow文件中。通常情况下,只有超级用户和操作系统的一些应用程序可以访问这些口令和其他信息。然而,配置不当或系统故障可能导致普通用户获取这些信息,例如通过口令破解工具获取加密前的口令。/etc/group文件是用户组的配置文件,显示用户所属的用户组,一个用户可以属于一个或多个用户组。/etc/gshadow是/etc/group的加密文件,存放用户组的管理密码。与/etc/passwd和/etc/shadow类似,/etc/group和/etc/gshadow是相互补充的文件。
Linux是一个多用户、多任务的操作系统,提供丰富的用户管理工具。这些工具可以查询、添加、修改用户,以及实现不同用户之间的切换等操作。用户管理工具使得用户管理工作变得简单、方便和安全。添加用户的命令包括useradd和adduser,它们的功能类似。除了使用这些命令,还可以通过修改用户配置文件/etc/passwd和/etc/group,或手动创建用户来添加用户。推荐使用useradd命令添加用户,并通过passwd命令设置或更改用户口令。
Linux文件系统的权限
- Linux文件系统的安全主要通过设置文件权限实现。
- 每个Linux文件或目录都有三组属性,分别定义了所有者、用户组和其他人的使用权限。
- 文件或目录的权限以字符-或d表示文件类型,接下来的三个字符一组,共三组,表示针对属主、属组和其他访问者定义的权限。

- 每个文件和目录通过三个字符一组定义了属主、属组和其他访问者的三种权限。
- 权限包括读取(r)、写入(w)和执行(x),以及没有权限(-)。
- 对于文件,r表示可以查看文件内容,w表示可以修改文件内容(删除取决于文件夹权限),x表示可以运行文件作为进程。
- 对于目录,r表示可以查看目录下的文件信息,w表示可以创建或删除文件,x表示可以查看目录下的文件信息并切换到此目录作为当前工作目录。
- 权限也可以用八进制数表示,例如属主为rwx权限,属组为r-x权限,其他为r--权限可以用八进制数754表示。
一般可以通过chmod命令修改权限,语法格式如下。
chmod [-cfvR] [--help] [--version] [ugoa][[+-=][rwx...]] file...
Linux的日志文件
日志文件是实现黄金法则中“审计”功能的重要基础。Linux日志文件记载了各种信息,包括Linux内核消息、用户登录事件、程序错误等。当系统遭受攻击时,日志文件可以帮助追踪攻击者的痕迹,日志对诊断和解决系统中的问题也有帮助。
- 针对日志文件的功能,需要的服务与程序主要包括syslogd、klogd和logrotate。
- syslogd用于记录系统与网络等服务的信息。
- klogd用于记录内核产生的各项信息。
- logrotate用于进行日志文件的轮替功能。
- Linux日志可以分为三类:内核及系统日志、用户日志和程序日志。
- 内核及系统日志由系统服务rsyslog统一管理,配置文件是/etc/rsyslog.conf。
- 用户日志记录Linux系统用户登录、退出系统等相关信息。
- 程序日志由应用程序独立管理,用于记录程序运行过程中的各种事件信息。
Linux Audit守护进程是一个可以审计Linux系统事件的框架。与syslog日志用于软件调试、跟踪和输出软件的运行状态不同,Linux Audit是Linux安全体系的重要组成部分,是一种防御体系。在内核里有内核审计模块,记录系统中的各种安全相关的事件,主要目的是方便管理员根据日志审计系统判断是否有异常、是否被入侵等。
Linux系统的访问控制
Linux系统的访问控制是一个关键的安全特性,它包括多个层面的控制机制,从传统的文件权限到更高级的安全策略。以下是对Linux系统访问控制的详细和深入描述:
传统的文件权限:
Linux沿袭了Unix的文件权限模型,包括读(r)、写(w)和执行(x)权限。
文件和目录的权限被分配给三个不同的用户类别:
文件所有者、群组成员和其他用户。 这种权限模型允许细粒度地控制谁可以读取、修改或执行特定文件。
用户和群组管理:
Linux系统中的每个用户都有一个唯一的用户ID(UID),而群组则有群组ID(GID)。
系统管理员可以通过创建和管理用户及其所属群组来控制对系统资源的访问。
sudo和su命令允许有权限的用户以其他用户(通常是root)的身份执行命令。
特殊权限(Setuid、Setgid 和 Sticky Bit):
Setuid和Setgid是特殊的权限设置,当应用于可执行文件时,程序将以文件所有者或群组的权限运行。
Sticky Bit通常用于共享目录,确保只有文件的所有者才能删除或修改文件。
访问控制列表(ACL):
ACL提供了比传统权限模型更为精细的权限控制。
它允许为单个文件或目录设置多个用户和群组的详细权限。
这是处理复杂权限需求时的理想选择,特别是在多用户环境中。
SELinux和AppArmor:
这些工具通过实施预定义的安全策略来限制程序能够访问的资源,提供比传统Unix权限更严格的控制。
Pluggable Authentication Modules (PAM):
PAM提供了一种机制,允许系统管理员定义用户认证过程中使用的策略。
它被广泛应用于Linux系统中的登录、密码认证和其他认证任务。
网络访问控制:
除了本地系统资源的访问控制外,Linux还提供了各种工具来管理网络访问,如iptables、nftables和防火墙配置。
通过这些多层次和多样化的访问控制机制,Linux系统能够为各种环境提供强大且灵活的安全性。无论是个人用户、企业环境还是高安全要求的应用,Linux的访问控制特性都能够提供必要的保护措施。
可信计算和机密计算
可信计算 (Trusted Computing)
核心概念:
可信计算是一种旨在确保计算环境安全和可靠的技术。
它涉及到建立一个可信的环境,即确保硬件和软件的完整性,使系统在启动和运行过程中不受恶意软件或其他威胁的影响。
硬件安全模块(TPM):
可信计算通常依赖于硬件安全模块,如可信平台模块(TPM)。
TPM是一种安全的微控制器,提供存储加密密钥、数字证书和其他敏感数据的功能。
它还可以用于验证计算环境的完整性,例如通过存储和验证系统启动时的测量值。
系统完整性验证:
可信计算通过验证软件和硬件的完整性来保证计算环境的安全。
这包括使用TPM等硬件进行启动时的完整性检查,确保系统没有被未经授权的代码或修改破坏。
应用场景:
可信计算在企业环境、金融服务、政府和军事系统中非常重要,用于确保敏感数据的安全和系统的可靠性。
机密计算 (Confidential Computing)
核心概念:
机密计算关注于保护数据在处理过程中的隐私和安全性,特别是在不受信任的环境中。
它使数据在整个处理周期内(即在使用时)都保持加密状态,从而保护数据免受未授权访问和泄露。
加密执行环境(TEE):
机密计算通常通过加密执行环境(TEE)实现,这是一个保护区域,确保代码和数据在处理过程中的隐私和安全。
TEE提供了一个隔离的执行环境,其中数据可以安全地进行处理,即使在不安全或不受信任的系统上也是如此。
数据保护:
机密计算的关键在于保护数据不仅在传输和静态存储时加密,而且在使用过程中也保持加密。
这种方法对于云计算尤为重要,因为它允许用户在云环境中安全地处理敏感数据,而无需担心数据在云提供商的服务器上被访问或泄露。
应用场景:
机密计算广泛应用于云服务、医疗保健、金融服务等领域,这些领域需要处理大量敏感数据,同时确保数据的机密性和隐私。
总结
通过阅读本章,深入探讨了Linux系统安全相关技术,涵盖了操作系统安全概述、Linux的安全机制、访问控制,以及可信计算和机密计算。
了解操作系统安全的重要性包括识别和防御各种安全威胁。在Linux系统中,防火墙是关键的安全机制,它的作用和工作原理被广泛应用于网络攻击的防御。防火墙通过定义规则和策略来监控和控制进出系统的网络流量,从而有效保护系统资源和数据。
本文还介绍了Linux系统的访问控制。这包括传统的文件权限、用户和群组管理、特殊权限(如Setuid和Setgid)、访问控制列表(ACL),以及更高级的安全策略,如SELinux和AppArmor。这些机制一起构成了多层次的安全架构,确保了操作系统的安全性和可靠性。
此外,本文还深入探讨了可信计算和机密计算。可信计算通过确保硬件和软件的完整性来创建安全的计算环境,而机密计算则专注于在处理过程中保护数据的隐私和安全性。这两个概念在现代计算中至关重要,特别是在云计算和处理敏感数据的场景中。
本文详细阐述了Linux系统的安全保障,涉及CIA三元组、用户管理、文件权限、访问控制机制、可信计算(使用TPM)以及机密计算(加密执行环境)等内容,强调了在现代计算中的重要性。

3749

被折叠的 条评论
为什么被折叠?



