第 11 章 GNU/Linux 安全性

1. 引言
1.1. 版权信息
1.2. 导论
2. 概述
2.1. 为何需要安全性?
2.2. 怎样的安全性才是安全的?
2.3. 要保护什么?
2.4. 建立安全策略
2.5. 保护您网站的方法
2.6. 本章组织结构
3. 物理安全性
3.1. 计算机锁
3.2. BIOS 安全性
3.3. 引导程序安全性
3.4. xlock 和 vlock
3.5. 本地设备安全性
3.6. 检测物理安全性威胁
4. 本地安全性
4.1. 建立新账户
4.2. Root 账户安全性
5. 文件和文件系统安全性
5.1. umask 设定
5.2. 文件权限
5.3. 完整性检查
5.4. 特洛伊木马
6. 密码安全性及加密
6.1. PGP 和公钥密码技术
6.2. SSL、S-HTTP 和 S/MIME
6.3. IPSEC 实现
6.4. ssh (Secure SHell -- 安全 SHell)和 stelnet
6.5. PAM - 可插入认证模块(Pluggable Authentication Modules)
6.6. 加密IP封装(Cryptographic IP Encapsulation -- CIPE)
6.7. Kerberos
6.8. Shadow Passwords
6.9. “Crack” 和“John the Ripper
6.10. CFS –– 加密文件系统(Cryptographic File System)和 TCFS –– 透明加密文件系统(Transparent Cryptographic File System)
6.11. X11、SVGA 和屏幕安全性
7. 内核安全性
7.1. 内核编译选项
7.2. 内核级设备
8. 网络安全性
8.1. 数据包窥探器
8.2. 系统服务和 tcp_wrapper
8.3. 验证您的 DNS 信息
8.4. identd
8.5. 配置及保护 Postfix MTA
8.6. SATAN、ISS、和其他网络扫描器
8.7. Sendmail、qmail 和 MTA
8.8. 拒绝服务(Denial of Service -- DoS)攻击
8.9. NFS (Network File System -- 网络文件系统)安全性
8.10. NIS (Network Information Service -- 网络信息服务)
8.11. 防火墙
8.12. IP 链表(IP Chains) – GNU/Linux 内核 2.2.x 的防火墙
8.13. Netfilter – Linux 内核 2.4.x 的防火墙。
8.14. VPN:虚拟私有网络(Virtual Private Network)
9. 安全准备(上线之前)
9.1. 完整备份您的计算机
9.2. 选择良好的备份时间规划
9.3. 测试备份
9.4. 备份 RPM 文件数据库
9.5. 追查您系统的簿记信息
9.6. 应用所有新的系统更新
10. 在受到攻击及其后应该怎么办
10.1. 安全攻击正在进行
10.2. 安全攻击已经发生
11. 安全资源
11.1. LinuxSecurity.com 参考文献
11.2. FTP 站点
11.3. 网站
11.4. 邮件列表
11.5. 书籍 – 印刷材料
12. 常见问题
13. 总结
安全性相关术语

本文提供了 GNU/Linux 系统管理员所面对的安全问题的概览。它涵盖了基本安全理念以及大量关于如何使 GNU/Linux 系统在面对入侵者时更加安全的实例。同时,也提供了关于安全方面的资料和程序的链接。

[注意]注意

Mandriva 改编了原文。删除了其中一些部分,改写了另一些。

安全性相关术语

摘要

以下包括一些计算机安全领域最常用的术语。在 Linux 安全性词典有一个更为广泛的计算机安全性术语词典。

认证(authentication)

了解收到的数据就是发送的数据,并且宣称的发送者就是实际发送者的过程

代理网关主机(bastion host -- 棱堡主机)

由于其非常脆弱而必需高度保护的一个计算机系统。这通常是因为它暴露于 Internet 并且是内部网络用户联系的主要结点。它的名字来自于中世纪城堡外墙上的加固工事。棱堡了望重要保卫区域,通常具有坚固的围墙、驻扎额外军队的空间、以及偶尔会有用的用来煮沸油脂浇向攻城者的桶。某种程度上契合这里的定义。

缓冲区溢出

常见的编程风格是决不分配足够大的缓冲区,并不检查溢出。当这种缓冲区发生溢出,正在执行的程序(守护程序或是固定用户标识(set-uid)程序)就会被欺骗来作其他事情。通常这是通过改写堆栈上函数的返回地址以指向另一个地方。

拒绝服务(denial of service)

通过让您计算机的资源处理其未曾期望的东西来消耗它们的攻击方式。它因而阻止对您网络资源合法的正常使用。

双重连接主机(dual-homed host)

至少具有两个网络接口的通用计算机系统。

防火墙(firewall)

用来限制被保护的网络同 Internet 或是其他网络通讯的组件或组件集合。

主机(host)

网络上的计算机系统。

IP 欺骗(IP spoofing)

IP 欺骗是一个由一些部件构成的复杂的技术性攻击。它是一个通过欺骗受信任连接上的计算机认为您是某个其他人的安全漏洞。在 Phrack 杂志第 48 期第 7 卷上 daemon9、route、和 infinity 撰写了一篇相关深入的论文。

不可抵赖性(non-repudiation)

接收者能够用来证明某些数据的发送者确实发送了该数据,而不论过后发送者是否否认曾经发送过的属性。

数据包(packet)

Internet 上通讯的基本单位。

数据包过滤(packet filtering)

某个设备有选择地控制数据流进出网络的动作。数据包过滤允许或阻止数据包。这通常是在将它们从一个网络路由到另一个(绝大多数发生在从 Internet 到内部网络或是相反)时发生。为完成数据包过滤,您需要指定什么类型的数据包(来自或去到特定 IP 地址或端口)可以被允许而什么类型的要阻止的规则。

边界网络(perimeter network)

介于某个受保护网络以及某个外部网络之间的网络。提供额外的层次和安全性。边界网络有时被称为 DMZ。

代理服务器(proxy server)

代表内部客户端与外部服务器打交道的程序。代理客户端与代理服务器通讯,转发被允许的客户端对实际服务器的请求,并将答复转发回客户端。

超级用户(superuser)

root 用户的非正式称呼。