在本书中,我们将介绍适用于任何基于 Linux 的服务器或工作站的安全和加固技术。我们的目标是让坏人更难对你的系统做坏事。
我们这本书的目标是面向一般的 Linux 管理员,不管他们是否专门研究 Linux 安全性。我们介绍的技术既可以在 Linux 服务器上使用,也可以在 Linux 工作站上使用。
我们假设我们的目标受众对 Linux 命令行有一些实际操作经验,并且对 Linux 基本知识有所了解。
第 1 章、在虚拟环境中运行 Linux概述了 IT 安全领域,并将告知读者为什么学习 Linux 安全将是一个不错的职业发展。我们还将展示如何为实践实验室设置虚拟实验室环境。
第 2 章、保护用户账户,讲述了始终使用根用户账户的危害,并介绍了改用sudo
的好处。然后,我们将介绍如何锁定普通用户帐户,并确保用户使用高质量的密码。
第 3 章、用防火墙保护您的服务器–第 1 部分,涉及使用各种类型的防火墙实用程序。
第 4 章、*用防火墙保护您的服务器–第 2 部分,*涉及使用各种类型的防火墙实用程序。
第 5 章、加密技术,确保重要信息——无论是静态信息还是传输中的信息——都受到适当加密的保护。
第 6 章SSH 加固,讲述了如何保护传输中的数据。默认的安全外壳配置一点也不安全,如果保持不变,可能会导致安全漏洞。本章展示了如何解决这个问题。
第 7 章掌握自主访问控制,讲述如何设置文件和目录的所有权和权限。我们还将介绍 SUID 和 SGID 能为我们做些什么,以及使用它们的安全影响。我们将通过覆盖扩展的文件属性来总结一下。
第 8 章、访问控制列表和共享目录管理解释了正常的 Linux 文件和目录权限设置不是很精细。使用访问控制列表,我们可以只允许某个人访问一个文件,也可以允许多人以每个人不同的权限访问一个文件。我们还将把我们所学的知识放在一起,以便为一个组管理一个共享目录。
第 9 章、用 SELinux 和 appamor实现强制访问控制,讲的是 SELinux,这是红帽型 Linux 发行版中包含的强制访问控制技术。我们将在这里简单介绍如何使用 SELinux 来防止入侵者危害系统。AppArmor 是另一种强制访问控制技术,包含在 Ubuntu 和 Suse 类型的 Linux 发行版中。我们将在这里简单介绍如何使用 AppArmor 来防止入侵者破坏系统。
第 10 章、内核加固和进程隔离,讲述了如何调整 Linux 内核,使其更安全地抵御某些类型的攻击。它还涵盖了一些进程隔离技术,以帮助防止攻击者利用 Linux 系统。
第 11 章、扫描、审计和加固谈到病毒对 Linux 用户来说还不是一个大问题,但对 Windows 用户来说却是个大问题。如果您的组织有访问 Linux 文件服务器的 Windows 客户端,那么这一部分适合您。您可以使用 auditd 来审计对 Linux 系统上的文件、目录或系统调用的访问。它不会防止安全漏洞,但它会让您知道是否有未经授权的人试图访问敏感资源。安全内容应用协议是由国家标准和技术研究所颁布的一个合规性框架。开源实现 OpenSCAP 可用于对 Linux 计算机应用加固策略。
第 12 章、日志记录和日志安全,为您介绍了 ryslog 和 journald 的基本知识,这是基于 Linux 的操作系统中最流行的两种日志记录系统。我们将向您展示一种让日志审查更容易的酷方法,以及如何设置一个安全的中央日志服务器。我们将使用您的正常 Linux 发行版存储库中的包来完成所有这些工作。
第 13 章漏洞扫描和入侵检测解释了如何扫描我们的系统,看看我们是否错过了什么,因为我们已经学会了如何配置我们的系统以获得最佳安全性。我们还将快速了解一下入侵检测系统。
第 14 章大忙人的安全提示和诀窍解释说,既然你在处理安全问题,我们知道你是一只忙碌的蜜蜂。所以,这一章向你介绍一些快速的提示和技巧,帮助你让工作变得更容易。
要充分利用这本书,你不需要太多。然而,以下事情会很有帮助:
- 基本的 Linux 命令和如何浏览 Linux 文件系统的实用知识
- 关于 less 和 grep 等工具的基本知识
- 熟悉命令行编辑工具,如 vim 或 nano
- 如何使用 systemctl 命令控制 systemd 服务的基本知识
对于硬件,你不需要任何花哨的东西。您只需要一台能够运行 64 位虚拟机的机器。因此,您可以使用任何运行几乎任何现代英特尔或 AMD 中央处理器的主机。(此规则的例外是英特尔酷睿 i3 和酷睿 i5 处理器。尽管它们是 64 位 CPU,但它们缺乏运行 64 位虚拟机所需的硬件加速。具有讽刺意味的是,旧得多的英特尔酷睿 2 处理器和 AMD 皓龙处理器工作正常。)对于内存,我建议至少 8 GB。
您可以在您的主机上运行三种主要操作系统中的任何一种,因为我们将使用的虚拟化软件有 Windows、macOS 和 Linux 版本。
你可以从你在www.packt.com的账户下载这本书的示例代码文件。如果您在其他地方购买了这本书,您可以访问www.packtpub.com/support并注册将文件直接通过电子邮件发送给您。
您可以按照以下步骤下载代码文件:
- 登录或注册www.packt.com。
- 选择“支持”选项卡。
- 点击代码下载。
- 在搜索框中输入图书的名称,并按照屏幕指示进行操作。
下载文件后,请确保使用最新版本的解压缩文件夹:
- 视窗系统的 WinRAR/7-Zip
- zipeg/izp/un ARX for MAC
- 适用于 Linux 的 7-Zip/PeaZip
这本书的代码包也托管在 GitHub 上,网址为https://GitHub . com/PacktPublishing/Mastering-Linux-Security-and-Harding-第二版。如果代码有更新,它将在现有的 GitHub 存储库中更新。
我们还有来自丰富的图书和视频目录的其他代码包,可在**【https://github.com/PacktPublishing/】**获得。看看他们!
我们还提供了一个 PDF 文件,其中包含本书中使用的截图/图表的彩色图像。可以在这里下载:http://www . packtpub . com/sites/default/files/downloads/9781838981778 _ color images . pdf。
本书通篇使用了许多文本约定。
CodeInText
:表示文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和推特句柄。下面是一个例子:“下载 Ubuntu Server 18.04、CentOS 7 和 CentOS 8 的安装.iso
文件。”
代码块设置如下:
//Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Automatic-Reboot "true";
任何命令行输入或输出都编写如下:
sudo apt update
sudo apt dist-upgrade
粗体:表示一个新的术语、一个重要的单词或者你在屏幕上看到的单词。例如,菜单或对话框中的单词像这样出现在文本中。这里有一个例子:“花一些时间仔细阅读常见漏洞和暴露数据库,你很快就会明白为什么保持系统更新如此重要。”
Warnings or important notes appear like this. Tips and tricks appear like this.
我们随时欢迎读者的反馈。
一般反馈:如果你对这本书的任何方面有疑问,在你的信息主题中提到书名,发邮件给我们[email protected]
。
勘误表:虽然我们已经尽了最大的努力来保证内容的准确性,但是错误还是会发生。如果你在这本书里发现了一个错误,如果你能向我们报告,我们将不胜感激。请访问www.packtpub.com/support/errata,选择您的图书,点击勘误表提交链接,并输入详细信息。
盗版:如果您在互联网上遇到任何形式的我们作品的非法拷贝,如果您能提供我们的位置地址或网站名称,我们将不胜感激。请通过[email protected]
联系我们,并提供材料链接。
如果你有兴趣成为一名作者:如果有一个你有专长的话题,你有兴趣写或者投稿一本书,请访问authors.packtpub.com。
请留下评论。一旦你阅读并使用了这本书,为什么不在你购买它的网站上留下评论呢?然后,潜在的读者可以看到并使用您不带偏见的意见来做出购买决定,我们在 Packt 可以了解您对我们产品的看法,我们的作者可以看到您对他们的书的反馈。谢谢大家!
更多关于 Packt 的信息,请访问packt.com。