具体描述
这是一部从技术原理、工程实践两个方面系统、深入讲解Linux系统安全的著作,从纵深防御、安全扫描、入侵检测3个维度细致讲解了如何构建一个铜墙铁壁的Linux防护体系。
作者是资深的Linux系统安全专家、运维技术专家,在该领域有13年的从业经验,厚积薄发。本书得到了来自腾讯、阿里等知名企业的多位行业专家的高度评价。全书不仅包含大量工程实践案例,而且对各种核心知识点绘制了方便记忆的思维导图。
全书共14章:
第1章介绍了安全的概念和保障安全的主要原则,引申出了“纵深防御”理念;
第2-3章是纵深防御的第一个关键步骤,即从网络层面对Linux系统进行防护,包含Linux网络防火墙和虚拟专用网络的各个方面;
第4章介绍tcpdump、RawCap、Wiresharklibpcap等网络流量分析工具的技术原理,以及用它们来定位网络安全问题的方法;
第5-7章是纵深防御的第二个关键步骤,即从操作系统层面对Linux系统进行防护,包含用户管理、软件包管理、文件系统管理等核心主题;
第8章是纵深防御的第三个关键步骤,即保障Linux应用的安全,避免应用成为黑客入侵的入口,涵盖网站安全架构、Apache安全、Nginx安全、PHP安全、Tomcat安全、Memcached安全、Redis安全、MySQL安全等话题;
第9章是纵深防御的第四个关键步骤,即确保业务连续性,防御数据被篡改或者数据丢失的风险,讲解了各种场景下的数据备份与恢复;
第10章介绍了nmap、masscan等扫描工具的原理与使用,以及各种开源和商业Web漏洞扫描工具的原理和使用;
第11-13章重点讲解了Linux系统的入侵检测,涉及Linux Rootkit、病毒木马查杀、日志与审计等主题;
第14章介绍利用威胁情报追踪最新攻击趋势、确定攻击事件性质的方法。
作者简介
胥峰
资深运维专家、Linux系统专家和安全技术专家,有13年Linux系统运维和安全经验,在业界颇具威望和影响力。曾就职于盛大游戏,担任架构师,参与多个重大项目的运维和保障,主导运维自动化平台的设计与实施。对DevOps、AIOps等新技术和新思想也有很深的理解。
著有畅销书《Linux运维最佳实践》,同时还翻译了DevOps领域的划时代著作《DevOps:软件架构师行动指南》。
目录信息
第1章 Linux系统安全概述1
1.1 什么是安全2
1.1.1 什么是信息安全2
1.1.2 信息安全的木桶原理4
1.1.3 Linux系统安全与信息安全的关系5
1.2 威胁分析模型5
1.2.1 STRIDE模型5
1.2.2 常见的安全威胁来源6
1.3 安全的原则8
1.3.1 纵深防御8
1.3.2 运用PDCA模型9
1.3.3 最小权限法则11
1.3.4 白名单机制12
1.3.5 安全地失败12
1.3.6 避免通过隐藏来实现安全13
1.3.7 入侵检测14
1.3.8 不要信任基础设施14
1.3.9 不要信任服务15
1.3.10 交付时保持默认是安全的15
1.4 组织和管理的因素16
1.4.1 加强安全意识培训16
1.4.2 特别注意弱密码问题17
1.4.3 明令禁止使用破解版软件18
1.4.4 组建合理的安全组织结构18
1.5 本章小结19
第2章 Linux网络防火墙21
2.1 网络防火墙概述21
2.2 利用iptables构建网络防火墙23
2.2.1 理解iptables表和链23
2.2.2 实际生产中的iptables脚本编写25
2.2.3 使用iptables进行网络地址转换27
2.2.4 禁用iptables的连接追踪29
2.3 利用Cisco防火墙设置访问控制34
2.4 利用TCP Wrappers构建应用访问控制列表35
2.5 利用DenyHosts防止暴力破解36
2.6 在公有云上实施网络安全防护38
2.6.1 减少公网暴露的云服务器数量39
2.6.2 使用网络安全组防护40
2.7 使用堡垒机增加系统访问的安全性41
2.7.1 开源堡垒机简介43
2.7.2 商业堡垒机简介44
2.8 分布式拒绝服务攻击的防护措施46
2.8.1 直接式分布式拒绝服务攻击46
2.8.2 反射式分布式拒绝服务攻击47
2.8.3 防御的思路48
2.9 局域网中ARP欺骗的防御48
2.10 本章小结50
第3章 虚拟专用网络52
3.1 常见虚拟专用网络构建技术53
3.1.1 PPTP虚拟专用网络的原理53
3.1.2 IPSec虚拟专用网络的原理53
3.1.3 SSL/TLS虚拟专用网络的原理54
3.2 深入理解OpenVPN的特性55
3.3 使用OpenVPN创建点到点的虚拟专用网络55
3.4 使用OpenVPN创建远程访问的虚拟专用网络61
3.5 使用OpenVPN创建站点到站点虚拟专用网络69
3.6 回收OpenVPN客户端的证书70
3.7 使用OpenVPN提供的各种script功能71
3.8 OpenVPN的排错步骤73
3.9 本章小结77
第4章 网络流量分析工具79
4.1 理解tcpdump工作原理80
4.1.1 tcpdump的实现机制80
4.1.2 tcpdump与iptables的关系82
4.1.3 tcpdump的简要安装步骤82
4.1.4 学习tcpdump的5个参数和过滤器83
4.1.5 学习tcpdump的过滤器83
4.2 使用RawCap抓取回环端口的数据84
4.3 熟悉Wireshark的最佳配置项85
4.3.1 Wireshark安装过程的注意事项85
4.3.2 Wireshark的关键配置项86
4.3.3 使用追踪数据流功能89
4.4 使用libpcap进行自动化分析90
4.5 案例1:定位非正常发包问题91
4.6 案例2:分析运营商劫持问题94
4.6.1 中小运营商的网络现状94
4.6.2 基于下载文件的缓存劫持95
4.6.3 基于页面的iframe广告嵌入劫持99
4.6.4 基于伪造DNS响应的劫持100
4.6.5 网卡混杂模式与raw socket技术100
4.7 本章小结103
第5章 Linux用户管理105
5.1 Linux用户管理的重要性105
5.2 Linux用户管理的基本操作107
5.2.1 增加用户108
5.2.2 为用户设置密码108
5.2.3 删除用户109
5.2.4 修改用户属性109
5.3 存储Linux用户信息的关键文件详解110
5.3.1 passwd文件说明110
5.3.2 shadow文件说明111
5.4 Linux用户密码管理112
5.4.1 密码复杂度设置112
5.4.2 生成复杂密码的方法113
5.4.3 弱密码检查方法116
5.5 用户特权管理118
5.5.1 限定可以使用su的用户118
5.5.2 安全地配置sudo118
5.6 关键环境变量和日志管理119
5.6.1 关键环境变量设置只读119
5.6.2 记录日志执行时间戳119
5.7 本章小结120
第6章 Linux软件包管理122
6.1 RPM概述122
6.2 使用RPM安装和移除软件123
6.2.1 使用RPM安装和升级软件123
6.2.2 使用RPM移除软件124
6.3 获取软件包的信息125
6.3.1 列出系统中已安装的所有RPM包125
6.3.2 软件包的详细信息查询125
6.3.3 查询哪个软件包含有指定文件126
6.3.4 列出软件包中的所有文件126
6.3.5 列出软件包中的配置文件127
6.3.6 解压软件包内容127
6.3.7 检查文件完整性127
6.4 Yum及Yum源的安全管理129
6.4.1 Yum简介129
6.4.2 Yum源的安全管理130
6.5 自启动服务管理130
6.6 本章小结131
第7章 Linux文件系统管理133
7.1 Linux文件系统概述133
7.1.1 Inode134
7.1.2 文件的权限135
7.2 SUID和SGID可执行文件136
7.2.1 SUID和SGID可执行文件概述136
7.2.2 使用sXid监控SUID和SGID文件变化137
7.3 Linux文件系统管理的常用工具137
7.3.1 使用chattr对关键文件加锁137
7.3.2 使用extundelete恢复已删除文件138
7.3.3 使用srm和dd安全擦除敏感文件的方法141
7.4 案例:使用Python编写敏感文件扫描程序141
7.5 本章小结143
第8章 Linux应用安全145
8.1 简化的网站架构和数据流向145
8.2 主要网站漏洞解析146
8.2.1 注入漏洞147
8.2.2 跨站脚本漏洞148
8.2.3 信息泄露149
8.2.4 文件解析漏洞150
8.3 Apache安全152
8.3.1 使用HTTPS加密网站153
8.3.2 使用ModSecurity加固Web154
8.3.3 关注Apache漏洞情报158
8.4 Nginx安全158
8.4.1 使用HTTPS加密网站158
8.4.2 使用NAXSI加固Web159
8.4.3 关注Nginx漏洞情报160
8.5 PHP安全160
8.5.1 PHP配置的安全选项160
8.5.2 PHP开发框架的安全162
8.6 Tomcat安全163
8.7 Memcached安全165
8.8 Redis安全165
8.9 MySQL安全166
8.10 使用公有云上的WAF服务167
8.11 本章小结168
第9章 Linux数据备份与恢复170
9.1 数据备份和恢复中的关键指标171
9.2 Linux下的定时任务172
9.2.1 本地定时任务172
9.2.2 分布式定时任务系统174
9.3 备份存储位置的选择175
9.3.1 本地备份存储175
9.3.2 远程备份存储176
9.3.3 离线备份177
9.4 数据备份178
9.4.1 文件备份178
9.4.2 数据库备份179
9.5 备份加密181
9.6 数据库恢复182
9.7 生产环境中的大规模备份系统案例182
9.8 本章小结184
第10章 Linux安全扫描工具186
10.1 需要重点关注的敏感端口列表186
10.2 扫描工具nmap188
10.2.1 使用源码安装nmap188
10.2.2 使用nmap进行主机发现189
10.2.3 使用nmap进行TCP端口扫描190
10.2.4 使用nmap进行UDP端口扫描192
10.2.5 使用nmap识别应用192
10.3 扫描工具masscan193
10.3.1 安装masscan193
10.3.2 masscan用法示例193
10.3.3 联合使用masscan和nmap194
10.4 开源Web漏洞扫描工具195
10.4.1 Nikto2195
10.4.2 OpenVAS196
10.4.3 SQLMap198
10.5 商业Web漏洞扫描工具199
10.5.1 Nessus199
10.5.2 Acunetix Web Vulnerability Scanner201
10.6 本章小结202
第11章 入侵检测系统204
11.1 IDS与IPS204
11.2 开源HIDS OSSEC部署实践205
11.3 商业主机入侵检测系统214
11.3.1 青藤云215
11.3.2 安全狗215
11.3.3 安骑士215
11.4 Linux Prelink对文件完整性检查的影响217
11.5 利用Kippo搭建SSH蜜罐218
11.5.1 Kippo简介218
11.5.2 Kippo安装219
11.5.3 Kippo捕获入侵案例分析220
11.6 本章小结221
第12章 Linux Rootkit与病毒木马检查223
12.1 Rootkit分类和原理223
12.2 可加载内核模块225
12.3 利用Chkrootkit检查Rootkit226
12.3.1 Chkrootkit安装227
12.3.2 执行Chkrootkit227
12.4 利用Rkhunter检查Rootkit228
12.4.1 Rkhunter安装228
12.4.2 执行Rkhunter228
12.5 利用ClamAV扫描病毒木马229
12.6 可疑文件的在线病毒木马检查230
12.6.1 VirusTotal231
12.6.2 VirSCAN231
12.6.3 Jotti232
12.7 Webshell检测232
12.7.1 D盾233
12.7.2 LMD检查Webshell234
12.8 本章小结235
第13章 日志与审计237
13.1 搭建远程日志收集系统237
13.1.1 Syslog-ng server搭建238
13.1.2 Rsyslog/Syslog client配置239
13.2 利用Audit审计系统行为239
13.2.1 审计目标239
13.2.2 组件240
13.2.3 安装241
13.2.4 配置241
13.2.5 转换系统调用242
13.2.6 审计Linux的进程243
13.2.7 按照用户来审计文件访问244
13.3 利用unhide审计隐藏进程244
13.4 利用lsof审计进程打开文件245
13.5 利用netstat审计网络连接246
13.6 本章小结246
第14章 威胁情报248
14.1 威胁情报的概况248
14.2 主流威胁情报介绍249
14.2.1 微步在线威胁情报社区249
14.2.2 360威胁情报中心252
14.2.3 IBM威胁情报中心253
14.3 利用威胁情报提高攻击检测与防御能力254
14.4 本章小结255
附录A 网站安全开发的原则257
附录B Linux系统被入侵后的排查过程273
· · · · · · (收起)
读后感
用户评价
这本书的排版和图表质量,对于一本技术书籍来说,起着决定性的作用。我发现这本书的图文排版做到了极佳的平衡。技术图谱往往是最难处理的部分,但这里的架构图不仅清晰标注了组件间的依赖关系,还用颜色区分了不同安全层级的职能,一目了然。尤其是在解释复杂安全机制时,比如入侵检测系统(IDS/IPS)如何解析网络流量并触发告警,书中使用的流程图逻辑严密,步骤分明,完全避免了文字描述可能带来的歧义。这种对细节的关注,体现了出版团队的专业素养。如果章节之间的跳转能够设计得更平滑一些,例如在介绍完主机安全后,自然而然地过渡到网络边界防御,而不是生硬地换个话题,那么整体的阅读连贯性会更强。总体而言,视觉信息的有效传达,极大地提升了对复杂知识的吸收效率。
阅读体验上,这本书的文字组织方式给我留下了深刻的印象。它的叙事节奏把握得相当到位,没有那种纯粹技术手册特有的干涩和枯燥。作者似乎深谙如何将晦涩难懂的安全协议和底层机制,通过生动的比喻和清晰的结构图解展现出来。比如,在讨论网络协议栈安全时,它没有直接堆砌 RFC 文档的术语,而是从一个数据包在内核中流转的“旅程”视角去分析潜在的攻击点,这种具象化的描述极大地降低了学习门槛。我尤其欣赏它对“安全思维”培养的重视,书中反复强调“纵深防御”不仅仅是堆砌工具,更是一种设计理念。它引导读者思考攻击者可能的每一步行动,从而提前设置多重屏障。如果书中能再多一些对“思维定势”的打破,比如指出哪些流行的安全配置反而可能成为新的弱点,那就更完美了。总而言之,这种寓教于乐又不失深度的写作风格,让我在阅读过程中保持了高度的专注力,感觉自己像是在与一位经验丰富的导师进行深入的交流。
我对这本书在“实战性”方面的深度非常好奇。理论知识固然重要,但在瞬息万变的网络攻防领域,工具和技术的更新速度令人咋舌。我关注的一个重点是,书中介绍的扫描和检测技术是否紧跟最新的威胁情报。例如,在系统基线核查部分,是否涵盖了对容器化技术(如 Docker/Kubernetes)的特定安全检查项?毕竟现代 Linux 部署越来越多地依赖这些技术栈。更进一步说,如果书中能够提供一套完整的 CI/CD 流程中的安全门禁实践,例如如何集成静态代码分析或运行时监控到自动化部署管道中,那就证明了作者站在了行业前沿。我希望看到的不是过时的 Nmap 脚本教学,而是如何构建一个可持续、可自动化的安全审计框架。如果这本书能提供一些真实的“红蓝对抗”案例分析,展示如何通过部署特定的检测手段来捕获模拟的入侵行为,那将是极大的加分项,因为它直接关联到我们日常工作中“发现问题”的能力。
这本书的封面设计非常引人注目,那种深邃的蓝色调和锐利的字体给人一种专业且充满力量的感觉,光是看着就让人对其中的内容充满了期待。我最初被这本书吸引,是因为它承诺会深入探讨一个在当前技术环境中至关重要的话题——操作系统安全。我一直认为,Linux作为应用最广泛的服务器操作系统之一,其安全防护体系的构建是每一个系统管理员和安全工程师的必修课。我希望这本书能提供一套系统化的学习路径,不仅仅是停留在理论层面,而是能提供大量实战案例和可操作的配置指南。例如,在用户权限管理和内核模块加固方面,我期待能看到不同发行版之间的最佳实践差异对比,以及如何利用 SELinux 或 AppArmor 这样的强制访问控制机制来构建更深层次的防御体系。此外,对于系统服务的安全加固,比如 SSH、Web 服务器(如 Nginx/Apache)的配置优化,这本书是否能提供“安全基线”的模板供我们参考和落地,这将极大地提升我对这本书的评价。如果它能做到详略得当,将复杂的安全概念用清晰的逻辑串联起来,我相信它会成为我工具箱里不可或缺的一本参考手册。
作为一个已经工作多年的系统工程师,我更看重书籍提供的解决问题的能力和对未来趋势的预判。我期望这本书不仅是回顾过去的安全实践,更能指向未来。例如,在入侵检测部分,是否探讨了如何利用机器学习或行为分析技术来识别零日攻击或“合法用户异常行为”?传统的基于签名的检测方法在面对高级持续性威胁(APT)时往往力不从心,如果这本书能提供一些关于如何构建基于异常检测模型的初步思路和实践框架,那就具有非常高的前瞻价值。此外,我期待书中能对“安全合规性”的实现路径有所着墨,比如如何根据主流的安全标准(如 CIS Benchmarks)来量化系统的安全成熟度。这本书如果能帮助我们从“修补漏洞”的被动状态,转变为“主动构建弹性安全架构”的战略高度,那么它的价值就远远超出了普通的技术指南,而成为了指导我们长期安全战略的灯塔。
拿到书后,如饥似渴的读了起来。内容写的很好,从安全的用户管理到软件管理、Masscan/Nmap扫描工具的使用、开源入侵检测工具OSSEC的部署安全,非常详尽。希望这本书助我早日成为Linux安全大牛。
胥峰老师在Linux和运维领域大名鼎鼎,书如其人,一个字,牛!
适合新书入门,也适合有一定工作经验的安全从业人员阅读。纵览这本书,让人收获很多。首先它不是简单的说教,也不是长篇大论的理论分析,而是以案例为入口,贴近实战。其次,每章都有清晰的知识脑图,非常有助于读者把握各章内容的关联关系,也非常方便读者快速记忆核心知识点。作为一个安全工程师,我推荐这本书。
看完目录决定入手,收到后惊喜地发现每一章还附赠一章思维导图,方便回顾和记忆,这就很贴心,哈哈~
贵行业出书的门槛也太低了吧