当前位置:主页 > 书籍配套资源 > Web防火墙配套资源
《从实践中学习Web防火墙构建》源代码

《从实践中学习Web防火墙构建》源代码

  • 更新:2022-01-23
  • 大小:5.74 MB
  • 类别:Web防火墙
  • 作者:张博
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书是一本全面介绍Nginx及其相关模块的技术书籍,是国内首本深入介绍Web防火墙原理和架构的书籍。本书的编写版本为Nginx 1.11和Naxsi 0.56。本书共13章。第1章介绍了iptables的基本知识;第2章介绍了IP标头和TCP段结构,以及网络层的攻击与防御;第3章介绍了传输层的攻击与防御;第4章介绍了应用层的攻击与防御;第5章介绍了Web防火墙的发展史及WAF种类;第6章介绍了Naxsi模块;第7章介绍了动态限流模块ngx_dynamic_limit_req_module的原理及具体应用;第8章介绍了RedisPushIptables模块;第9章构建自己定制的Web防火墙;第10章介绍了Nginx的开发;第11章介绍了Nginx模块config文件的编写及调试;第12章介绍了Redis模块的开发及RedisPushIptables的代码拆解;第13章介绍了逆向分析的思路及Rootkit攻击示范。

市面上介绍网络安全技术的图书很多,有些过于基础,有些又过于理论化,实操价值不高。本书理论结合实践,从Nginx生态的整体视角阐述和解决问题,很实用,也非常有价值,填补了国内构建WAF类图书市场的空白。贤弟长期在一线参与实际项目,其作品是他多年实战经验的总结,强烈推荐网络安全行业的从业者阅读。
——昆明天问科技CEO 杨家宝

本书是一部由浅入深地讲述如何构建Web防火墙的佳作。书中循序渐进地介绍了TCP/IP和OSI模型中的网络层、传输层和应用层的安全和防御知识。书中讲解的关于Nginx的实战案例,符合大多数安全人员的需要,非常值得阅读。
——同盾科技高级数据开发工程师 程万胜

本书由资深运维安全专家打造,系统地介绍了网络安全的相关知识。本书特别注重对读者的动手能力和学习能力的培养,讲解时不但剖析了相关的理论知识,而且还给出了多个实践案例,真正做到了“授人以渔”,非常值得安全技术爱好者阅读。
——杭州九狮科技CEO 周宗章

本书结合作者多年的网络安全和系统安全从业经验,深入浅出地讲述了WAF的理论基础与实践流程,相信会对读者在Web防火墙构建方面有所启发和帮助。
——阿里前开发工程师/昆明雷脉科技CEO 雷加洪

互联网时代,数据安全是所有企业都要面临的一个巨大挑战。如果企业不能适应这个挑战,不能保障企业用户数据的安全,那么用户又如何相信企业呢?本书从Web防火墙构建的角度,全方位地解决企业的网络安全问题,值得每一位网络安全从业者阅读。
——全球时刻CTO/IBM前Java资深专家 喻立久

封面图

目录

  • 赞誉
  • 前言
  • 第1章 iptables使用简介1
  • 1.1 iptables防火墙1
  • 1.2 基本概念1
  • 1.2.1 iptables包含表3
  • 1.2.2 iptables包含链3
  • 1.2.3 连接状态4
  • 1.2.4 iptables规则4
  • 1.2.5 具体目标5
  • 1.2.6 iptables扩展模块5
  • 1.3 安装iptables5
  • 1.3.1 内核设置5
  • 1.3.2 iptables安装方式6
  • 1.4 配置和使用8
  • 1.4.1 nftables防火墙8
  • 1.4.2 iptables的缺点8
  • 1.4.3 nftables与iptables的主要区别9
  • 1.4.4 从iptables迁移到nftables10
  • 1.4.5 iptables语法11
  • 1.4.6 显示当前规则16
  • 1.4.7 重置规则16
  • 1.4.8 编辑规则16
  • 1.4.9 保存和恢复规则17
  • 1.4.10 实例应用17
  • 第2章 网络层的安全与防御20
  • 2.1 IP标头和TCP段结构20
  • 2.1.1 IPv4标头结构20
  • 2.1.2 IPv6标头结构24
  • 2.1.3 TCP段结构25
  • 2.1.4 TCP协议操作27
  • 2.1.5 TCP连接建立28
  • 2.1.6 TCP连接终止28
  • 2.1.7 TCP资源使用29
  • 2.1.8 TCP数据传输29
  • 2.2 记录IP标头信息34
  • 2.2.1 使用tshark记录标头信息34
  • 2.2.2 使用iptables记录标头信息35
  • 2.3 网络层攻击定义36
  • 2.4 网络层攻击37
  • 2.5 网络层防御41
  • 第3章 传输层的安全与防御42
  • 3.1 记录传输层标头信息42
  • 3.1.1 使用iptables记录TCP标头42
  • 3.1.2 使用tshark记录TCP标头43
  • 3.1.3 使用iptables记录UDP标头43
  • 3.1.4 使用tshark记录UDP标头44
  • 3.1.5 UDP属性44
  • 3.2 传输层攻击定义45
  • 3.3 传输层攻击类型45
  • 3.3.1 TCP攻击45
  • 3.3.2 UDP攻击48
  • 3.3.3 信息收集50
  • 3.4 传输层防御手段52
  • 第4章 应用层的安全与防御55
  • 4.1 iptables字符串匹配模块55
  • 4.2 应用层攻击定义56
  • 4.3 应用层攻击类型56
  • 4.3.1 缓冲区溢出攻击57
  • 4.3.2 钓鱼式攻击57
  • 4.3.3 后门攻击57
  • 4.3.4 Web攻击58
  • 4.3.5 应用层DDoS61
  • 4.3.6 嗅探攻击61
  • 4.4 应用层防御手段62
  • 4.4.1 缓冲区溢出63
  • 4.4.2 钓鱼式63
  • 4.4.3 后门63
  • 4.4.4 Web攻击64
  • 4.4.5 应用层DDoS64
  • 4.4.6 网络嗅探65
  • 第5章 Web防火墙类型66
  • 5.1 Web防火墙简介66
  • 5.2 Web防火墙历史67
  • 5.3 WAF与常规防火墙的区别68
  • 5.4 部署方式68
  • 5.5 Web防火墙的类型71
  • 5.6 各类防火墙的优缺点72
  • 第6章 Naxsi Web防火墙73
  • 6.1 Naxsi简介73
  • 6.2 Naxsi安装73
  • 6.2.1 编译Naxsi73
  • 6.2.2 基本配置74
  • 6.3 Naxsi配置指令76
  • 6.3.1 白名单76
  • 6.3.2 规则77
  • 6.3.3 CheckRule79
  • 6.3.4 请求拒绝80
  • 6.3.5 指令索引80
  • 6.3.6 匹配规则82
  • 6.4 Naxsi基础使用84
  • 6.5 Naxsi格式解析91
  • 6.5.1 Raw_body91
  • 6.5.2 libinjection92
  • 6.5.3 JSON格式93
  • 6.5.4 运行时修饰符94
  • 6.6 示例95
  • 6.6.1 白名单示例95
  • 6.6.2 规则示例97
  • 6.7 Naxsi深入探索98
  • 6.7.1 Naxsi日志98
  • 6.7.2 内部规则100
  • 6.7.3 与Fail2Ban整合102
  • 第7章 ngx_dynamic_limit_req_module动态限流104
  • 7.1 实现原理104
  • 7.1.1 限流算法104
  • 7.1.2 应用场景106
  • 7.1.3 安装107
  • 7.2 功能108
  • 7.2.1 CC防卸108
  • 7.2.2 暴力破解108
  • 7.2.3 恶意刷接口108
  • 7.2.4 分布式代理恶意请求109
  • 7.2.5 动态定时拦截109
  • 7.2.6 黑名单和白名单110
  • 7.3 配置指令110
  • 7.3.1 dynamic_limit_req_zone 设置区域参数111
  • 7.3.2 dynamic_limit_req设置队列114
  • 7.3.3 dynamic_limit_req_log_level设置日志级别114
  • 7.3.4 dynamic_limit_req_status设置响应状态115
  • 7.3.5 black-and-white-list设置黑名单和白名单115
  • 7.4 扩展功能115
  • 7.4.1 API实时计数、PV、UV统计115
  • 7.4.2 API阈值通知116
  • 第8章 RedisPushIptables模块120
  • 8.1 RedisPushIptables简介120
  • 8.2 RedisPushIptables与Fail2Ban比较120
  • 8.2.1 Fail2Ban的特征120
  • 8.2.2 RedisPushIptables的特征121
  • 8.3 安装RedisPushIptables122
  • 8.4 动态删除配置124
  • 8.5 RedisPushIptables指令125
  • 8.6 客户端API示例125
  • 8.6.1 C语言编程125
  • 8.6.2 Python语言编程126
  • 8.6.3 Bash语言编程128
  • 8.6.4 Lua语言编程128
  • 第9章 构建自己的WAF130
  • 9.1 安装所需软件130
  • 9.2 参数配置131
  • 9.3 白名单生成133
  • 9.4 白名单自动化生成138
  • 9.5 整合Fail2ban144
  • 9.6 定制开发Naxsi146
  • 9.7 Naxsi已知漏洞151
  • 9.8 多层防御整合后对比156
  • 9.9 可能存在的瓶颈157
  • 9.10 恶意IP库157
  • 第10章 Nginx开发指南158
  • 10.1 基本概念158
  • 10.1.1 源码目录158
  • 10.1.2 引用头文件159
  • 10.1.3 整型封装160
  • 10.1.4 函数返回值160
  • 10.1.5 错误处理161
  • 10.2 字符串161
  • 10.2.1 字符串操作162
  • 10.2.2 格式化字符串163
  • 10.2.3 数字转换函数164
  • 10.2.4 正则表达式165
  • 10.3 日志时间格式166
  • 10.4 数据结构167
  • 10.4.1 数组167
  • 10.4.2 单向链表168
  • 10.4.3 双向链表170
  • 10.4.4 红黑树171
  • 10.4.5 散列表171
  • 10.5 内存管理173
  • 10.5.1 堆173
  • 10.5.2 池174
  • 10.5.3 共享内存175
  • 10.6 日志记录177
  • 10.7 结构体178
  • 10.7.1 ngx_cycle_t循环结构体178
  • 10.7.2 ngx_buf_t缓冲区结构体179
  • 10.7.3 ngx_connection_t连接结构体180
  • 10.7.4 ngx_event_t结构体182
  • 10.8 事件183
  • 10.8.1 I/O事件183
  • 10.8.2 定时器事件184
  • 10.8.3 发布事件184
  • 10.8.4 事件循环186
  • 10.9 进程186
  • 10.10 线程188
  • 10.11 模块189
  • 10.11.1 添加模块189
  • 10.11.2 核心模块190
  • 10.11.3 配置指令193
  • 10.12 HTTP框架195
  • 10.12.1 连接195
  • 10.12.2 请求196
  • 10.12.3 配置200
  • 10.12.4 请求阶段202
  • 10.13 HTTP框架执行流程203
  • 10.13.1 请求重定向203
  • 10.13.2 子请求204
  • 10.13.3 请求最终确定206
  • 10.13.4 请求的主体208
  • 10.13.5 响应210
  • 10.13.6 响应头210
  • 10.13.7 响应的主体211
  • 10.14 变量212
  • 10.14.1 简单变量212
  • 10.14.2 复杂变量215
  • 10.15 负载均衡216
  • 第11章 Nginx高级主题220
  • 11.1 模块转换220
  • 11.1.1 先决条件220
  • 11.1.2 编译动态模块220
  • 11.1.3 加载动态模块221
  • 11.1.4 转换config文件221
  • 11.2 模块编译222
  • 11.3 config文件222
  • 11.3.1 新的config文件222
  • 11.3.2 旧的config文件223
  • 11.4 Nginx调试224
  • 11.4.1 调试日志224
  • 11.4.2 核心转储225
  • 11.4.3 套接字泄露225
  • 11.5 示例226
  • 第12章 Redis模块编写231
  • 12.1 模块简介231
  • 12.1.1 加载模块231
  • 12.1.2 最简单的模块232
  • 12.1.3 模块初始化232
  • 12.2 模块API233
  • 12.3 RedisPushIptables代码拆解235
  • 第13章 后门分析与监测244
  • 13.1 溯源步骤和攻击示例244
  • 13.1.1 溯源思路244
  • 13.1.2 后门类型245
  • 13.1.3 逆向分析245
  • 13.1.4 网络监测245
  • 13.1.5 用户空间Rootkit示例246
  • 13.1.6 内核空间Rootkit示例249
  • 13.2 修补漏洞253
  • 13.2.1 虚拟补丁253
  • 13.2.2 补丁253
  • 13.3 监测主机异常253
  • 13.3.1 静态编译检测工具254
  • 13.3.2 流量异常254
  • 13.3.3 磁盘I/O异常、CPU异常和MEM异常255
  • 13.3.4 主动连接监视256

资源下载

资源下载地址1:https://pan.baidu.com/s/1wBQgPVfnQF-aifOtGSzynQ

网友留言