首页>参考读物>计算机科学与技术>安全

Linux网络安全精要
作者 : [美] 威廉·罗斯韦尔(William “Bo” Rothwell) 丹尼斯·金赛(Denise Kinsey) 著
译者 : 王跃东 王云午 译
出版日期 : 2020-09-09
ISBN : 978-7-111-66475-8
定价 : 149.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 641
开本 : 16
原书名 : Linux Essentials for Cybersecurity
原出版社: Pearson Education Inc.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书包含了保护Linux系统、网络、应用程序和数据安全所需的所有知识。本书首先介绍了如何安装Linux,以提前获得最佳安全性。接下来通过多个实例介绍了安全地管理账户、设备、服务、进程、数据和网络的最佳实践。最后介绍了用于踩点、渗透测试、威胁检测、日志记录、审计、软件管理等方面的强大工具和自动化脚本技术。

图书特色

世界知名技术专家撰写,通过真实示例和循序渐进的操作全面讲解Linux安全,涵盖保护Linux系统、网络、应用程序和数据安全所需的全部知识
不需要Linux安全的相关经验,不需要昂贵的设备就可以动手实践

图书前言

Linux如今在IT市场上占据了主导地位,但在1991年刚为人所知时,它还只是一个因为作者的“个人爱好”而开发出来的软件。虽然从技术角度来讲,Linux指的是一个具体的软件(也就是内核),但大多数人在提及Linux时指的都是一个由许多软件包组合在一起构成的健壮的操作系统。
纵观整个IT产业,Linux得到了广泛的运用,且由于具有安全性、低成本及可扩展性,常被作为通用平台的替代品。Linux操作系统运行在各种服务器上,包括邮件服务器和Web服务器。此外,Linux作为软件开发平台更是受到程序员的青睐。
和所有其他操作系统一样,网络安全(cybersecurity)也是Linux系统使用者的痛点。由于Linux系统上运行着各式各样的软件,还存在不同版本的Linux(我们称之为发行版),网络安全涉及系统的使用者和管理者,非常复杂。
遗憾的是,在关于Linux的书籍或课程里经常忽略网络安全这个部分。通常情况下,这些书籍和课程只是关注如何使用Linux,而网络安全则被认为是后续才需要考虑的事情,或者是具备丰富经验的“老司机”才能学懂的高级课题。之所以这样,可能是因为这些书籍和课程的作者认为网络安全是很难学习的部分,但研究Linux而又忽略安全本身就是一个巨大的错误。
为什么说网络安全是学习Linux的重要组成部分?原因之一是,Linux是一个真正的多用户系统,这意味着即使是普通用户(最终用户)也需要懂得如何保护自己数据的安全,以防止他人窃取。
另外一个原因是,大多数Linux系统都运行着许多网络服务,这些服务通常都直接暴露到因特网上。在我们加固自己的个人Linux系统或整个公司的Linux服务器的时候,需要意识到全世界有无数双眼睛在盯着我们,想要窥探我们的数据。
本书的目标是让你掌握一个Linux专业人士应该具备的技能,所采用的方法也是典型的从零开始学起,但用了独特的方法来时刻关注安全。在本书中,你会找到安全问题的参考资料。整本书都会讨论安全性,并将重点放在创建安全策略上。
Linux是一个很广泛的话题,不可能在一本书里把它全部讲完,Linux安全亦是如此。我们已经尽可能详细地讲述,但我们还是鼓励你在本书引入的话题上独自探索,以取得更大的进步。
让我们开始Linux网络安全之旅吧!
本书的读者对象
或许回答“这本书不适合谁阅读”这个问题会更容易些,Linux的发行版被形形色色的用户所采用,包括:
软件开发人员
数据库管理员
网站管理员
安全管理员
系统管理员
系统恢复专家
“大数据”工程师
黑客
政府部门
手机用户和研发人员(Android是Linux的一个发行版)
芯片厂商(许多芯片上有嵌入式Linux)
数字取证专家
教育工作者
上面列的这些甚至都不完整,Linux无处不在!Android手机使用Linux操作系统,无数的Web服务器和邮件服务器运行在Linux系统上,许多网络设备上也运行着嵌入式Linux系统,例如路由器和防火墙。
本书适合那些想要更好地使用Linux系统,想让他们所使用的Linux系统尽可能安全的读者阅读。
本书的组织结构
第1章深入讲解Linux各相关组件的基本信息,你会学习Linux操作系统的不同组件,以及什么是发行版,还会学习如何安装Linux操作系统。
第2章涵盖在Linux环境下需要用到的一些基础命令。
第3章介绍在Linux下获取更多帮助信息的方法,包括操作系统自带的文档,以及一些重要的网页资源。
第4章重点关注文本文件的编辑工具。编辑文本文件是一项非常重要的Linux任务,因为大多数配置文件都保存在文本文件里。
第5章回顾如何处理Linux系统中可能会出现的错误,详细介绍如何在Linux环境中排除系统问题。
第6章主要是对用户组账户的管理,包括增加、修改和删除组,要特别注意系统组(或特殊组)以及理解主组和附属组之间的区别。
第7章涵盖与用户账户相关的内容,如何创建和保护账户,以及如何给用户提供账户安全防护方面的最佳安全实践。
第8章讲述如何运用在第6章和第7章所学到的知识制订账户安全策略。
第9章主要介绍如何利用Linux权限来保护文件,深入探讨很多高级主题,例如特殊权限、umask、访问控制列表(ACL)以及文件属性等。
第10章涵盖与本地存储设备相关的概念,包括如何创建分区和文件系统,以及文件系统的一些基本功能。
第11章涵盖本地存储设备管理的高级功能,包括如何使用autofs,以及如何创建加密文件系统。你还会了解逻辑卷—逻辑卷是本地存储设备管理的另一种方式。
第12章讨论如何使存储设备在网络上可用,还会讨论文件系统共享技术,例如NFS、Samba和iSCSI。
第13章讲述如何运用第9~12章所学的知识制订存储安全策略。
第14章介绍两组工具,可以让我们在将来的某个时间自动运行进程。crontab系统允许用户以固定的间隔来执行程序,例如一个月或者两周。at系统为用户提供了在将来特定时间执行某个程序的方法。
第15章介绍将BASH命令放进文件中来创建更复杂的命令集合的基础知识。脚本用于存储以后可能需要用到的指令。
第16章介绍普通用户和系统管理员都会自动化的一些日常任务。重点是安全性,但也会演示其他自动化任务,特别是那些与前几章讨论的主题相关的任务。
第17章讲述如何运用第14~16章所学的知识制订自动化安全策略。
第18章涵盖配置和保护网络连接时所需要了解的基础知识。
第19章包含配置系统以连接到网络的过程。
第20章涵盖配置几个网络工具的过程,包括DNS、DHCP和邮件服务器。
第21章涵盖配置几个网络工具的过程,包括Apache Web服务器和Squid。
第22章探讨如何通过网络登录远程系统。
第23章讲述如何运用第18~22章所学的知识制订网络安全策略。
第24章包括如何启动、查看和控制进程。
第25章包括如何查看系统日志,以及如何配置系统来创建自定义的日志条目。
第26章包含如何在基于Red Hat的发行版本(例如Fedora和CentOS)上管理软件包。
第27章包含如何在基于Debian的发行版本(例如Ubuntu)上管理软件包。
第28章介绍系统引导的过程和相关工具的使用。
第29章讲述如何运用第26~28章所学的知识制订软件包管理安全策略。
第30章介绍黑客用来收集系统信息的技术。通过学习这些技术,你应该能够制订出更好的安全计划。
第31章探讨如何配置防火墙软件来保护系统免受网络攻击。
第32章介绍一些用来判断是否有人成功地危害了你的系统安全的一些工具和技术。
第33章涵盖一些其他的Linux安全特性,包括fail2ban服务、虚拟专用网(VPN)和文件加密。

上架指导

计算机\安全

封底文字

Linux发行版广泛应用于支持任务关键型应用和管理重要的数据,但是保护现代Linux系统非常复杂,而且许多Linux相关书籍对安全主题的覆盖范围不够,或者即使覆盖,内容也已过时。本书则全面讲解了Linux安全的完整解决方案。
在本书中,Linux认证和安全专家William“Bo”Rothwell与Denise Kinsey博士介绍了如何强化Linux安全并排除Linux中的安全问题。书中介绍的实用方法可帮助你保护系统,即使一层或多层已被渗透。
首先,你将学习如何安装Linux。接下来,你将掌握安全管理账户、设备、服务、进程、数据和网络的最佳实践。最后,你将掌握用于踩点、渗透测试、威胁检测、日志记录、审计、软件管理等方面的强大工具和自动化脚本技术。
为了帮助你获得认证和证明技能,本书涵盖了CompTIA Linux+和LPIC-1考试的许多关键主题。为了便于理解、在课堂上有效使用,以及加速在职培训,所有内容都组织得清晰、逻辑性强。

通过阅读本书,你将学到:
从安全的角度审查Linux操作系统组件。
掌握保护Linux系统安全的关键命令、工具和技能。
一步一步解决常见的Linux安全问题。
使用PAM、SELinux、密码和策略保护用户与组账户。
使用权限和属性保护文件与目录。
创建、管理和保护存储设备,包括本地的和网络的。
通过编写和定时运行脚本,24*7小时自动化地保障系统安全。
维护网络服务,加密网络连接和保护从网络可访问的进程。
检查正在运行的进程有哪些,以及判断可能存在威胁的进程。
使用系统日志查明潜在的漏洞。
使用Red Hat或Debian软件包管理工具让Linux保持最新。
修改引导过程来加强安全性。
掌握收集系统信息的先进技术。

译者序

本书对Linux系统进行了全面的讲解,从最基础的安装操作系统开始,涵盖了Linux系统使用的方方面面。近几年,随着国内互联网和云计算的爆发式发展,Linux系统得到了广泛的应用,同时也出现了很多关于Linux操作系统使用相关的著作。与其他相关图书相比,本书的不同之处在于从安全的角度出发,在讲解每个知识点的时候,都会提醒读者要关注安全,几乎每章都有“安全提醒”部分,对容易出现的安全问题给出提示。针对比较难理解或容易混淆的知识点,作者设计了“对话学习”环节,通过模拟两个人对话的方式,对常见的问题进行解答,以加强读者对该知识点的理解和运用。
本书的两位作者在Linux安全方面有着丰富的经验。我使用Linux系统也超过了10年,曾满分通过RHCE(红帽认证系统工程师)认证考试,自认为对Linux系统还比较熟悉。但在翻译本书的过程中,也经常会有“哇,还有这种操作?!”的感慨,相信读者在阅读本书时,也会有同样的感慨。
本书由王跃东和王云午共同翻译,其中第一~四部分由王云午翻译,其他部分由王跃东翻译。全书最后由王跃东进行统稿。
由于工作关系,我平时也会经常查阅各种英文文档。但与自己阅读英文文档不同的是,翻译是更耗费精力和更需要责任心的工作。尽管在翻译过程中力求用专业的术语进行描述,但限于自身的水平和经验,难免会有不足或不妥之处,还望各位读者不吝指正。
最后,特别感谢朋友汤永全的推荐,让我有这个机会参与本书的翻译。感谢家人的鼓励和支持,感谢ThoughtWorks公司的平台和技术氛围,感谢机械工业出版社华章分社关敏编辑和李美莹编辑为本书出版所做的工作。

王跃东

图书目录

译者序
前言
致谢
关于作者
关于技术审稿人
第一部分 Linux基础
第1章 Linux发行版及其核心组件 2
1.1 Linux介绍 2
1.2 Linux发行版 3
1.3 安装Linux 5
1.4 总结 10
第2章 使用命令行 11
2.1 文件管理 11
2.2 Shell特性 20
2.3 高级命令 31
2.4 总结 39
第3章 获取帮助 40
3.1 man page 40
3.2 命令的help选项 44
3.3 help命令 44
3.4 info命令 45
3.5 /usr/share/doc目录 46
3.6 因特网资源 47
3.7 总结 49
第4章 编辑文件 50
4.1 vi编辑器 50
4.2 其他编辑器 61
4.3 总结 63
第5章 故障处理 64
5.1 故障排除的科学 64
5.2 通知用户 69
5.3 总结 76
第二部分 用户和用户组
第6章 管理用户组账户 80
6.1 用户组的用途 80
6.2 管理用户组 88
6.3 总结 91
第7章 管理用户账户 92
7.1 用户账户的重要性 92
7.2 管理用户 98
7.3 网络用户账户 104
7.4 使用su和sudo 105
7.5 限制用户账户 107
7.6 总结 113
第8章 制订账户安全策略 114
8.1 Kali Linux介绍 114
8.2 安全原则 116
8.3 创建安全策略 116
8.4 账户安全加固 117
8.5 安全工具 121
8.6 总结 123
第三部分 文件和数据存储
第9章 文件权限 126
9.1 标准权限 126
9.2 默认权限 129
9.3 特殊权限 130
9.4 访问控制列表 136
9.5 变更所有权 140
9.6 文件属性 141
9.7 SELinux介绍 142
9.8 总结 147
第10章 管理本地存储:基础 148
10.1 文件系统基础 148
10.2 文件系统类型 151
10.3 其他文件系统工具 167
10.4 挂载文件系统 168
10.5 总结 179
第11章 管理本地存储:高级特性 180
11.1 加密文件系统 180
11.2 管理autofs服务 183
11.3 LVM 186
11.4 磁盘配额 205
11.5 硬链接和软链接 209
11.6 总结 211
第12章 管理网络存储 213
12.1 Samba 213
12.2 网络文件系统 224
12.3 总结 239
第13章 制订存储安全策略 241
13.1 制订计划 241
13.2 备份数据 242
13.3 总结 252
第四部分 自动化
第14章 crontab和at 256
14.1 使用crontab 256
14.2 使用at 263
14.3 总结 265
第15章 脚本 266
15.1 Linux编程 266
15.2 BASH脚本基础 270
15.3 流程控制语句 274
15.4 用户交互 276
15.5 使用命令替换 277
15.6 更多信息 277
15.7 总结 278
第16章 常见自动化任务 279
16.1 探索系统中已经存在的脚本 279
16.2 创建自己的自动化脚本 283
16.3 总结 284
第17章 制订自动化安全策略 285
17.1 保护crontab和at 285
17.2 保护BASH脚本 287
17.3 总结 288
第五部分 网络
第18章 网络基础 292
18.1 网络术语 292
18.2 IPv4和IPv6 294
18.3 IPv4地址 296
18.4 常用协议簇 299
18.5 网络端口 299
18.6 总结 301
第19章 网络配置 302
19.1 以太网接口 302
19.2 持久化网络配置 311
19.3 网络故障排查命令 316
19.4 访问无线网络 319
19.5 总结 322
第20章 网络服务配置:基础服务 323
20.1 DNS服务器 323
20.2 区域文件 332
20.3 BIND安全加固 343
20.4 DHCP服务器 350
20.5 邮件服务器 355
20.6 管理本地邮件投递 361
20.7 远程电子邮件投递 366
20.8 总结 370
第21章 网络服务配置:Web服务 372
21.1 Apache Web服务器 372
21.2 Apache Web服务器基础配置 373
21.3 Apache Web服务器安全 379
21.4 虚拟主机 381
21.5 HTTPS 383
21.6 SSL与Apache 385
21.7 代理服务器 392
21.8 总结 402
第22章 连接远程系统 404
22.1 LDAP 404
22.2 FTP服务器 419
22.3 Secure Shell 427
22.4 总结 435
第23章 制订网络安全策略 437
23.1 内核参数 437
23.2 TCP Wrappers 439
23.3 NTP 442
23.4 总结 449
第六部分 进程和日志管理
第24章 进程控制 452
24.1 查看进程 452
24.2 启动进程 457
24.3 杀死进程 458
24.4 nohup命令 462
24.5 进程优先级 462
24.6 总结 463
第25章 系统日志 464
25.1 syslog 464
25.2 logrotate命令 470
25.3 journalctl命令 472
25.4 总结 473
第七部分 软件包管理
第26章 基于Red Hat的软件包管理 476
26.1 Red Hat软件包 476
26.2 使用rpm命令 478
26.3 yum命令 488
26.4 其他工具 498
26.5 总结 498
第27章 基于Debian的软件包管理 499
27.1 使用dpkg命令管理软件包 499
27.2 使用APT管理软件包 505
27.3 使用APT系列命令查看软件包信息 508
27.4 总结 513
第28章 系统引导 514
28.1 引导过程的几个阶段 514
28.2 GRUB 516
28.3 内核组件 529
28.4 init阶段 541
28.5 总结 545
第29章 制订软件包管理安全策略 546
29.1 确保软件安全 546
29.2 xinetd 551
29.3 总结 553
第八部分 安全任务
第30章 踩点 556
30.1 理解踩点 556
30.2 常见踩点工具 557
30.3 Kali Linux的实用程序 568
30.4 总结 571
第31章 防火墙 572
31.1 防火墙介绍 572
31.2 iptables命令基础 572
31.3 使用iptables过滤进入的数据包 576
31.4 使用iptables过滤出站数据包 582
31.5 实现NAT 583
31.6 总结 584
第32章 入侵检测 585
32.1 入侵检测工具简介 585
32.2 入侵检测之网络工具 587
32.3 入侵检测之文件工具 589
32.4 其他入侵检测工具 591
32.5 总结 593
第33章 其他安全任务 594
33.1 fail2ban服务 594
33.2 OpenVPN 596
33.3 gpg 604
33.4 安全警告服务 606
33.5 总结 607
附录A 复习题答案 608
附录B 资源指南 611
术语表 618

教学资源推荐
作者: David Challener;Kent Yoder;Ryan Catherman;David Safford;Leendert Van Doorn
作者: 寇晓蕤 蔡延荣 张连成 编著
作者: [美] 威廉·斯托林斯(William Stallings)[澳] 劳里·布朗(Lawrie Brown) 著
作者: [美] 查克·伊斯特姆 (Chuck Easttom)著
参考读物推荐
作者: 大学霸IT达人 编著
作者: (美)Ryan Russell 等