新書推薦:
《
揉碎浪漫(全两册)
》
售價:NT$
320.0
《
古籍善本
》
售價:NT$
2448.0
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:NT$
398.0
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:NT$
653.0
《
清俗纪闻
》
售價:NT$
449.0
《
镜中的星期天
》
售價:NT$
347.0
《
世界前沿技术发展报告2024
》
售價:NT$
857.0
《
可转债——新手理财的极简工具
》
售價:NT$
296.0
|
內容簡介: |
本书包含了保护Linux系统、网络、应用程序和数据安全所需的所有知识。本书首先介绍了如何安装Linux,以提前获得*佳安全性。接下来通过多个实例介绍了安全地管理账户、设备、服务、进程、数据和网络的*佳实践。*后介绍了用于踩点、渗透测试、威胁检测、日志记录、审计、软件管理等方面的强大工具和自动化脚本技术。
|
關於作者: |
作者简介
威廉罗斯韦尔
(William Bo Rothwell)
讲师、课件开发人员和One Course Source的创始人,拥有20多年的Unix和Linux教学经验。他撰写了30多门有关编程、系统管理和相关主题的课程。他的书籍包括CompTIA LinuxLPIC-1 Portable Command Guide、LPIC-2 Certification Guide和Linux for Developers。
丹尼斯金赛
(Denise Kinsey)
博士、思科CISSP和休斯敦大学的助理教授。在20世纪90年代末担任Unix管理员(HP-UX)时,她意识到操作系统的强大功能和灵活性。这促使她在家里安装了不同风格的Linux,并在Linux上开设了几门学术课程。她在网络安全方面有着深厚的背景,致力于与客户和学生分享并实施最佳实践。作者简介
威廉罗斯韦尔
(William Bo Rothwell)
讲师、课件开发人员和One Course Source的创始人,拥有20多年的Unix和Linux教学经验。他撰写了30多门有关编程、系统管理和相关主题的课程。他的书籍包括CompTIA LinuxLPIC-1 Portable Command Guide、LPIC-2 Certification Guide和Linux for Developers。
丹尼斯金赛
(Denise Kinsey)
博士、思科CISSP和休斯敦大学的助理教授。在20世纪90年代末担任Unix管理员(HP-UX)时,她意识到操作系统的强大功能和灵活性。这促使她在家里安装了不同风格的Linux,并在Linux上开设了几门学术课程。她在网络安全方面有着深厚的背景,致力于与客户和学生分享并实施最佳实践。
译者简介
王跃东
资深运维工程师,10余年工作经验,曾在折800、客如云、ThoughtWorks公司工作,擅长运维架构和运维自动化开发。目前就职于一家互联网教育公司,主要专注于容器化和Kubernetes方面。
王云午
从事运维工作10余年,在某大型企业任高级运维工程师,主要负责数据库、中间件及私有云平台的管理与维护工作,拥有丰富的IT运维经验。
|
目錄:
|
译者序
前言
致谢
关于作者
关于技术审稿人
第一部分 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 usrsharedoc目录 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
第八部分 安全任务
第3
|
內容試閱:
|
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)和文件加密。
|
|