UNIX/Linux 系统架构

UNIX、Linux 操作系统分为三层:硬件层、系统内核和应用层

软考信息安全工程师上午考什么(软考-信息安全工程师学习笔记88)(1)


UNIX/Linux 安全机制

UNIX/Linux 是一种多用户、多任务的操作系统

UNIX/Linux 操作系统基本的安全功能需求就是不同用户之间避免相互干扰,禁止非授权访问系统资源

UNIX/Linux 系统的主要安全机制

1. UNIX/Linux 认证

认证是UNIX/Linux 系统中的第一道关卡,用户在进入系统之前,首先经过认证系统识别身份,然后再由系统授权访问系统资源。

UNIX/Linux 常用的认证方式:

在UNIX/Linux 中,系统支持第三方认证,例如一次一密口令认证 S/Key、Kerberos 认证 系统、插入式身份认证 PAM (Pluggable Authentication Modules)。

2.UNX/Linux 访问控制

普通的 UNIX/Linux 系统一般通过文件访问控制列表 ACL 来实现系统资源的控制,也就是常说的通过“9bit”位来实现。

软考信息安全工程师上午考什么(软考-信息安全工程师学习笔记88)(2)

原文链接https://blog.csdn.net/qq_40794973/article/details/86508772

上图为CSDN博主「爪 哇」的原创文章中一部分,原文链接Linux文件权限的基本介绍_爪 哇的博客-CSDN博客_chmod o

3. UNIX/Linux 审计机制

审计机制是 UNIX/Linux 系统安全的重要组成部分,审计有助于系统管理员及时发现 系统入侵行为或系统安全隐患。

常见日志文件如下:


UNIX/Linux 系统安全分析

1.UNIX/Linux 口令/账号安全

UNIX/Linux 系统的账号和口令是入侵者最为重要的攻击对象,特别是超级用户 root 的口令,一旦 root 口令泄露,则危及整个系统的安全。在 UNIX/Linux 中,口令信息保存在 passswd 和 shadow 文件中,这两个文件所在的目录是/etc。入侵者常利用各种方法来获取口令文件。

例如,通过 Web CGI 程序的漏洞来查看口令文件 passwd。

2.UNIX/Linux 可信主机文件安全

在 UNIX/Linux 系统环境中,为了便于主机之间的互操作,系统提供两个文件$HOME/.rhost 或/etc/hosts.equiv 来配置实现可信主机的添加。当一台主机 A 信任另外一台主 机 B 后,主机 B 的用户无须主机 A 的认证就可以从主机 B 登录到主机 A。但是,这种简单的信任关系很容易于致假冒,如果可信主机文件配置不当的话,就会难以避免地带来 安全隐患。

3.UNIX/Linux 应用软件漏洞

UNIX/Linux 平台的应用软件安全隐患日益暴露,特别是常用的应用软件包

例如 Sendmail 和 BIND。这些安全隐患常常导致系统被非授权访问、非法滥用等。早期的“小 莫里斯”网络蠕虫就利用 Sendmail 漏洞来传播

4.UNIX/Linux 的 SUID 文件安全

在 UNIX/Linux 中,SUID 文件是指被设置成可以带有文件拥有者的身份和权限被执行的可执行文件。因为许多系统安全漏洞存在于 SUID 文件中,SUID 文件已成为系统安 全的重大隐患

5.UNIX/Linux 的恶意代码

针对 UNIX 系统的网络蠕虫、特洛伊木马、rootkit 也时有报道。例如,最早的网络蠕虫就是在 UNIX 系统中爆发的。

6.UNIX/Linux 文件系统安全

文件系统是 UNIX/Linux 系统安全的核心,在 UNIX/Linux 中,所有的资源都被看作文件。如果这种文件权限设置不当,就会给系统带来危害。

例如,假设 /etc/shadow 文件允许任何人可读,就会导致口令信息泄露

7.UNIX/Linux 网络服务安全

在 UNIX/Linux 系统中,系统提供许多网络服务,例如 finger、R-命令服务等。虽然 这些服务能够给工作带来方便,但是也造成系统存在安全隐患。

例如,通过 finger 服务可以获取远程 UNIX/Linux 主机的信息

8.UNIX/Linux 系统程序漏洞

入侵者一般通过普通账号进入 UNIX/Linux 系统,然后再利用系统的程序漏洞提升权限。


UNIX/Linux 系统安全增强方法和流程

1.UNIX/Linux 系统安全增强方法

2.UNIX/Linux 系统安全增强基本流程

软考信息安全工程师上午考什么(软考-信息安全工程师学习笔记88)(3)

UNIX/Linux 系统安全加固的步骤如下:

第一步,确认系统的安全目标。实际上,系统的安全目标就是用户根据系统的运行业务而期望的安全要求,包括系统的保密性、完整性、可用性、可控制性、抗抵赖性。

第二步,安装最小化 UNIX/Linux 系统。这一步的任务就是根据系统所要完成的业务,而选择合适的安装包,减少不需要的软件包,以减少安全隐患。

第三步,利用 UNIX/Linux 系统自身的安全机制,配置安全策略,主要有用户及口令、 主机信任、文件访问、网络服务、系统审计等。

第四步,在 UNIX/Linux 系统自身的安全机制不行的情况下,利用第三方软件包来增 强系统安全。例如,用 SSH 来替换 Telnet。

第五步,利用系统安全测试工具,检查 UNIX/Linux 系统的安全策略的有效性或系统的文全隐患。 这些常用的安全工具有端口扫描 Nmap、文件安全配置检查 COPS、口 令检查工具 Crack 等。

第六步,根据系统安全测试,重新调整安全策略或安全措施。

第七步,在系统安全检查通过后,UNIX/Linux 系统就开始正常运行。这时,系统需 要不定期进行安全监控,包括进程监控、用户监控、网络连接监控、日志分析等,通过安全监控以保持系统安全。


UNIX/Linux 系统安全增强技术

1.安装系统补丁软件包

2.最小化系统网络服务

最小化配置服务是指在满足业务的前提条件下,尽量关闭不需要的服务和网络端口, 以减少系统潜在的安全危害。

3.设置系统开机保护口令

设置系统开机保护口令,阻止入侵者开机,从而达到保护系统的目的

4.弱口令检查

针对弱口令安全隐患,系统管理员通过口令破解工具 来检查系统中的弱口令

5.禁用默认账号

对默认账号最好的安全处理方式是禁用,或者更改口令

6.用 SSH 增强网络服务安全

在 UNIX/Linux 系统中,一些网络服务在设计时就缺乏安全考虑,存在安全缺陷,易 导致系统受到侵害。

例如,远程用户 Telnet 登录传送的账号和密码都是明文,使用普通 的 Sniffer 软件就可以截获这些明文信息。而且,系统认证强度小,容易受到重放和完整 性攻击。

采用 SSH (Secure Shell)来增强,SSH 提供认证、加密等安全服务,可以在两台或多台主 机之间构造一条加密通道,保证通信安全

7.利用 tcp_wrapper 增强访问控制

tep_wrapper 是 Wietse Venema 开发的一个可用于各种 UNIX 平台的免费软件,tcp_ wapper 正逐渐成为一种标准的 UNIX 安全工具,成为 UNIX 守护程序 inetd 的一个插件。 通过 tcp_wrapper,管理员可以设置对 inetd 提供的各种服务进行监控和过滤

8.构筑 UNIX/Linux 主机防火墙

支持 UNIX/Linux 系统的防火墙软件包有 ipchains. iptables 以及 netfilter。利用这些防火墙软件包,UNIX/Linux 系统可以过滤掉不需要的通信,而且可以从网络上限制远程访问主机,从而减少系统受到的侵害。

9.使用 Tripwire 或 MD5Sum 完整性检测工具

记录所有系统文件的硬件和软件信息,并形成一 个系统文件基准信息库,以便日后检查系统文件的完整性变化,避免恶意程序的植入和修改。

10.检测 LKM 后门

UNIXLinux 系统一般都支持 LKM (Loadable Kernel Module)功能,但是留下了一个安全隐患,就是入侵者能编写可加载内核模块,例如 rootkit,从而造成较大的系统危害 性。针对 LKM 后门危害,除了利用完整性检查工具外,还可利用专用安全检查工具, 例如 Kstat、Chkrootkit、Rookit Hunter。

11.系统安全监测

UNIX/Linux 系统的安全是动态的,对运行的系统进行实时监控有利于及时发现安全 问题,做出安全应急响应。针对 UNIX/Linux 系统的安全监测,常用的安全工具有 Netst at、lsof、Snort 等。


Linux 安全增强配置参考
  1. 禁止访问重要文件
  2. 禁止不必要的 SUID 程序
  3. 为 LILO 增加开机口令
  4. 设置口令最小长度和最短使用时间
  5. 限制远程访问
  6. 用户超时注销
  7. 注销时删除命令记录

学习参考资料:

信息安全工程师教程(第二版)

建群网培信息安全工程师系列视频教程

信息安全工程师5天修炼

,