墨守之道 Web服务安全架构与实践

墨守之道 Web服务安全架构与实践

赞助商:FreeBuf官方

价格:15金币

已售:5剩余:94

产品描述

内容提要:  

近年来,信息技术的广泛应用极大地促进了社会进步,也方便了人们的工作和生活,随之而来的网络安全问题日益突显。如何构建安全可靠的网络环境,如何与时俱进地把新技术纳入网络安全防护的实践当中,成为网络安全工作者的重要课题。 本书聚焦于 Web 服务常用的安全技术,以案例形式展示 Web 服务所面临的威胁,并给出了丰富多样的解决方案。本书由浅入深地介绍了 Web 安全的相关主题,包括 Web 应用程序基础理论、Web服务器与负载均衡、HTTPS和CDN的安全问题、Web服务的安全因素、如何保护Web服务、WAF原理与实践、Web日志审计、蜜罐技术、大数据时代的Web安全、网络安全解决方案等内容。 本书适合网络安全领域的研发人员、运维人员、高校师生、培训机构等群体阅读参考。  




作者简介:  

盛洋,新浪网*级安全与开发工程师,长期从事企业信息系统开发与嵌入式系统开发。在进入互联网信息安全领域之后,他将企业级信息安全工程方法与对嵌入式系统高性能的要求融入互联网安全信息系统的开发实践中,深度参与了互联网企业云服务防护实践和安全信息系统的构建。他还是《安全客》季刊的作者,FreeBuf安全智库指导专家顾问及“年度作者”。他也是一名活跃的技术博主,运营公众号“糖果的实验室”。 李华峰,信息安全顾问和自由撰稿人,FreeBuf安全智库指导专家顾问,多年来一直从事网络安全渗透测试方面的研究工作,在网络安全部署、网络攻击与防御以及社会工程学等方面有十分丰富的教学和实践经验。他还是一位高产的技术作者,已出版多本原创著作和译著,为学界和业界的网络安全教学和实践提供了助力。他经常通过公众号“邪灵工作室”给大家分享图书相关的资料和实用的技术指南。  


目录:  

第 1章 初探门径 ——Web应用程序基础理论 1  

1.1 Web应用程序是怎样炼成的 1  

1.2 程序员是如何开发Web应用程序的 6  

1.2.1 Web程序的分层结构 7  

1.2.2 各司其职的程序员 8  

1.3 研究Web应用程序的“利器” 11  

1.3.1 黑盒测试类工具 11  

1.3.2 白盒测试类工具 13  

1.4 小结 14  


第 2章 登堂入室 ——Web服务器与负载均衡 15  

2.1 罗马不是*天建成的 15  

2.2 众人拾柴火焰高——集群技术 17  

2.2.1 集群技术的核心——负载均衡算法 18  

2.2.2 实现负载均衡的设备 19  

2.2.3 集群的高可用性 21  

2.2.4 负载均衡设备的部署 22  

2.2.5 集群扩展实例 23  

2.3 用LVS实现负载均衡 25  

2.3.1 DR模式 26  

2.3.2 TUN模式 26  

2.3.3 NAT模式 27  

2.3.4 FULL NAT模式 28  

2.4 保证负载均衡设备的高可用性 28  

2.5 基于OpenResty的负载均衡方案 32  

2.6 使用TOA溯源真实IP 33  

2.7 小结 34  


第3章 祸起萧墙 ——HTTPS和CDN的安全问题 35  

3.1 服务器与浏览器沟通的桥梁——HTTP 35  

3.1.1 HTTP的工作原理 36  

3.1.2 HTTP的缺陷 37  

3.2 以安全为目标的HTTPS 38  

3.2.1 HTTPS的工作原理 38  

3.2.2 针对HTTPS的攻击 39  

3.2.3 HSTS的工作原理 40  

3.2.4 针对HSTS的攻击 41  

3.3 CDN相关的概念 43  

3.3.1 HTTP范围请求 45  

3.3.2 DDoS攻击 47  

3.3.3 放大攻击 47  

3.4 RangeAmp攻击 48  

3.4.1 小字节范围(SBR)攻击 49  

3.4.2 重叠字节范围(OBR)攻击 50  

3.5 小结 52  


第4章 四战之地 ——Web服务的安全因素 53  

4.1 Web服务所面临的威胁 53  

4.2 Web服务安全的外部环境因素 54  

4.2.1 操作系统的漏洞 55  

4.2.2 服务器应用程序的漏洞 66  

4.2.3 Docker的缺陷 69  

4.3 Web服务安全的内部代码因素 71  

4.3.1 常见的Web程序漏洞 71  

4.3.2 Web漏洞测试程序(以PHP DVWA为例) 73  

4.3.3 命令注入(Shell Injection)的成因与分析 76  

4.3.4 文件包含漏洞的分析与利用 82  

4.3.5 上传漏洞的分析与利用 88  

4.3.6 跨站请求伪造漏洞的分析与利用 92  

4.3.7 XSS的分析与利用 96  

4.4 Web服务安全检测工具(静态代码审计和动态检测) 100  

4.4.1 信息搜集工具 100  

4.4.2 漏洞扫描工具 102  

4.4.3 Web安全扫描工具 103  

4.4.4 代码审计工具 104  

4.5 小结 105  


第5章 道高一尺 ——如何保护Web服务 106  

5.1 WAF基础知识 107  

5.1.1 WAF简介 107  

5.1.2 反向代理机制 108  

5.1.3 DDoS防护与WAF的区别 110  

5.1.4 反爬虫防护与WAF的区别 110  

5.1.5 WAF的工作原理 110  

5.2 Lua语言基础 115  

5.2.1 Lua保留字 115  

5.2.2 变量与数据结构 115  

5.2.3 控制结构 116  

5.2.4 函数声明与调用 117  

5.2.5 正则表达式 121  

5.3 WAF的规则编写 122  

5.3.1 XSS攻击拦截正则 122  

5.3.2 SQL注入拦截正则 123  

5.4 *级拦截过滤规则 124  

5.5 WAF的日志分析技术 126  

5.5.1 C模块日志扩展模块 126  

5.5.2 Lua的UDP日志发送 129  

5.5.3 Kafka日志收集 130  

5.5.4 在Conf中配置Syslog日志输出 130  

5.5.5 基于log_by_lua阶段实现日志转发 131  

5.6 网关型WAF系统 132  

5.6.1 安装OpenResty 133  

5.6.2 安装Lapis 133  

5.6.3 创建Lua Web应用 133  

5.6.4 Lor框架 135  

5.6.5 Orange网关 136  

5.6.6 在云环境中部署Orange 140  

5.6.7 Apache APISIX网关 144  

5.7 流量镜像与请求调度 147  

5.7.1 流量镜像与蜜罐系统的联系 147  

5.7.2 配置逻辑 148  

5.7.3 动态切换上游(蜜罐) 149  

5.8 动态跟踪技术 151  

5.8.1 保证网关的安全性 151  

5.8.2 动态跟踪技术 152  

5.9 小结 153  


第6章 魔高一丈 ——WAF可以让我们高枕无忧吗 154  

6.1 入侵者如何检测WAF 154  

6.1.1 网站有无WAF保护的区别 154  

6.1.2 检测目标网站是否使用WAF 155  

6.1.3 检测目标网站使用的WAF产品 158  

6.2 入侵者如何绕过云WAF 161  

6.3 常见的WAF绕过方法 163  

6.3.1 利用WAF的检查范围 164  

6.3.2 WAF与操作系统的解析差异 165  

6.3.3 利用WAF与服务器应用程序的解析差异 170  

6.3.4 编解码技术的差异 172  

6.3.5 其他常用方法 175  

6.4 小结 176  


第7章 有迹可循 ——Web日志审计 177  

7.1 Web服务的日志聚合 178  

7.1.1 KafkaCat安装 178  

7.1.2 Nginx和OpenResty日志配置 179  

7.1.3 用KafkaCat发送日志 180  

7.2 Kafka数据队列服务安装 180  

7.2.1 Kafka安装与配置 180  

7.2.2 Zookeeper安装与配置 184  

7.2.3 创建索引并测试 186  

7.3 NxLog 187  

7.3.1 NxLog安装 187  

7.3.2 NxLog配置 187  

7.4 Graylog 189  

7.5 日志自动化取证分析 198  

7.6 小结 204  


第8章 太公钓鱼,愿者上钩 ——蜜罐技术 205  

8.1 蜜罐技术简介 205  

8.2 蜜罐的部署 208  

8.2.1 Python环境安装 208  

8.2.2 安装PIP 208  

8.2.3 安装VirtualEnv 208  

8.2.4 创建Python虚拟环境 208  

8.2.5 安装OpenCanary 209  

8.2.6 蜜罐系统配置管理 209  

8.2.7 蜜罐服务分析 209  

8.2.8 启动蜜罐系统 214  

8.3 常见的蜜罐服务 215  

8.3.1 HTTP 216  

8.3.2 FTP 217  

8.3.3 SSH 218  

8.3.4 Telnet 218  

8.3.5 MySQL 219  

8.3.6 Git 219  

8.3.7 NTP 220  

8.3.8 Redis 220  

8.3.9 TCP 221  

8.3.10 VNC 221  

8.3.11 RDP 222  

8.3.12 SIP 223  

8.3.13 SNMP 223  

8.3.14 Nmap 224  

8.3.15 SYN探测 225  

8.3.16 FIN 225  

8.3.17 XmasTree 226  

8.3.18 Null 227  

8.3.19 MSSQL 228  

8.3.20 HTTPProxy 228  

8.4 虚拟蜜罐技术与扩展 229  

8.5 蜜罐运维管理 234  

8.6 蜜罐流量监听技术与实现 236  

8.6.1 基于C与Pcap实现的流量分析工具 236  

8.6.2 创建蜜罐监听 237  

8.6.3 编写Makefile 239  

8.6.4 核心API解析 239  

8.6.5 数据源插件 243  

8.6.6 过滤插件 245  

8.6.7 日志输出插件 246  

8.7 用交换机端口聚合技术实现蜜罐部署 247  

8.7.1 交换机端口聚合与蜜罐VLAN划分 247  

8.7.2 单物理网卡与多IP蜜罐实例监听 248  

8.7.3 案例1:捕获内网服务发起的扫描行为 248  

8.7.4 案例2:勒索病毒软件监控 249  

8.7.5 收集攻击payload数据 249  

8.7.6 日志中心与威胁报警 250  

8.7.7 蜜罐系统的监控与运维 251  

8.8 小结 252  


第9章 众擎易举 ——大数据时代的Web安全 253  

9.1 正常URL与恶意URL 254  

9.2 传统的恶意URL检测方法 256  

9.3 当URL检测遇上机器学习 257  

9.4 深度学习框架 258  

9.5 URL的向量表示 259  

9.6 基于LSTM的恶意URL识别模型 261  

9.7 URL识别模型与WAF的结合 264  

9.7.1 自动威胁日志采集 265  

9.7.2 Sklearn大数据环境 267  

9.7.3 大数据建模实践 269  

9.8 小结 271  


第 10章 步步为营 ——网络安全解决方案 272  

10.1 通过命令注入漏洞进行渗透 273  

10.1.1 攻防系统结构 273  

10.1.2 DVWA的反弹Shell操作 275  

10.1.3 日志与数据中心 276  

10.2 基于DSL的拦截检查防御 278  

10.2.1 DSL与小语言OpenResty EdgeLang 278  

10.2.2 基于OpenResty EdgeLang的拦截检查 280  

10.3 基于语义分析库的威胁攻击分析 282  

10.3.1 语义分析原理 282  

10.3.2 libInjection语义分析库 283  

10.3.3 开源语义分析库的局限 283  

10.4 基于神经网络的威胁建模手段 284  

10.4.1 规则泛化 284  

10.4.2 数据神经网络 284  

10.5 跟踪Shell反弹执行进程 285  

10.5.1 System动态跟踪技术 285  

10.5.2 OpenResty YLang语言 287  

10.5.3 火焰图与动态跟踪 289  

10.5.4 OpenResty YSQL语言 290  

10.6 小结 292