网站安全攻防秘笈:防御黑客和保护用户的100条超级策略

第一部分:准备战场

  • 第一章 网站驻防 列举了必须的步骤,以实现攻击识别告警,与管理适当的web交互审计日志。你也会学到如何构建统一数据存储以在企业中实现攻击情报共享。
  • 第二章 漏洞检测与修复 介绍了主动发现网站中漏洞的关键方法,以及在漏洞被发现之后,如何用一种叫“虚拟补丁”的方式修复漏洞。
  • 第三章 给黑客的陷阱 介绍了几种在网站中构建陷阱的方法来快速而准确地识别恶意用户

第二部分: 非对称战争

在网站上线提供给真实用户之后,第二部分的安全策略将派上用场。这些安全策略都用于分析网站的执行,寻找恶意的行为

  • 第四章 信用度与第三方信息关联 描述了如何通过第三方的地理信息与IP地址黑名单来识别一些已知的恶意来源并限制访问
  • 第五章 请求数据分析 描述了多种防御,用户获取、规整化与分析入浏览量的HTTP请求;也会谈到如何识别构造出来的常见畸形请求
  • 第六章 响应数据分析 会讲解与第5章类似的技术,不过这次是分析出流量的HTTP响应数据。该章介绍的安全策略识别出来的异常通常意味着程序错误或者攻击已经成功
  • 第七章 身份验证防护 介绍了如何识别暴力破解用户凭证、追踪成功与失败的认证尝试、追踪用户操作等
  • 第八章 防护会话状态 展示了会话管理相关的安全问题,会讨论cookie污染和会话劫持等攻击
  • 第九章 防止应用层攻击 关注接受外部用户输入但又没有进行任何校验而引发的问题;这里会提供应对如SQL注入攻击、远程文件包含、系统命令执行等攻击的防护手段
  • 第十章 防止客户端攻击 把视线转移到保护用户免受诸如跨站脚本、CSRF与点击劫持的攻击。同时也会关注如何对抗如Zeus等银行木马。还会介绍你的网站与浏览器如何协同实施安全策略
  • 第十一章 文件上传功能防护 描述了黑客是如何利用你提供给用户的上传文件功能,来把恶意代码注入到你的站点。这里介绍的安全策略会介绍如何分析上传的附件来阻断恶意的数据
  • 第十二章 限制访问速率及程序交互流程 介绍如何通过关联客户端请求的多个属性来识别出异常请求频率、异常交互流程与非常规使用方式

第三部分: 战略反攻

一旦你发现在网站上出现了恶意的行为,下一步就是如何应对这些攻击。本书的最后一部分主要关注怎样高效地使用不同的响应方式来应对攻击

  • 第十三章 被动的响应动作 介绍了对最终用户透明的应用程序的快速修改,如增加系统日志等
  • 第十四章 主动的响应动作 关注更主动地干扰针对最终用户的攻击。其中包括终端连接,暂时把IP加入黑名单,或让用户强制退出等
  • 第十五章 侵入式响应动作 介绍注入一些信息到客户端web浏览器来执行防御或者获取攻击源的更多信息

第四部分 策略100条

网站驻防

  • 策略 1-1:实时网站请求分析
  • 策略 1-2:使用加密的哈希值来避免数据篡改
  • 策略 1-3:安装OWASP的Modsecurity核心规则集(CRS)
  • 策略 1-4:集成入侵检测系统的特征
  • 策略 1-5:使用贝叶斯分析方法检测攻击数据
  • 策略 1-6:打开全量HTTP审计日志
  • 策略 1-7:只记录有意义的请求
  • 策略 1-8:忽略静态资源的请求
  • 策略 1-9:在日志中屏蔽敏感数据
  • 策略 1-10:使用Syslog把告警发送到中央日志服务器
  • 策略 1-11:使用Modsecurity AuditConsole

漏洞检测与修复

  • 策略 2-1:被动地识别漏洞
  • 策略 2-2:主动地识别漏洞
  • 策略 2-3:手动转换漏洞扫描结果
  • 策略 2-4:扫描结果自动转换
  • 策略 2-5:实时资源评估与虚拟补丁修复

给黑客的陷阱

  • 策略 3-1:添加蜜罐端口
  • 策略 3-2:添加假的robots.txt的Disallow条目
  • 策略 3-3:添加假的HTML注释
  • 策略 3-4:添加假的表单隐藏字段
  • 策略 3-5:添加假的 cookie

信用度与第三方信息关联

  • 策略 4-1:分析用户的地理位置信息
  • 策略 4-2:识别使用了代理的可疑客户端
  • 策略 4-3:使用实时黑名单查找(RBL)
  • 策略 4-4:运行自己的RBL
  • 策略 4-5:检测恶意的链接

请求数据分析

  • 策略 5-1:访问请求体的内容
  • 策略 5-2:识别畸形请求体
  • 策略 5-3:规范化 Unicode 编码
  • 策略 5-4:识别是否进行多次编码
  • 策略 5-5:识别编码异常
  • 策略 5-6:检测异常的请求方法
  • 策略 5-7:检测非法的URI数据
  • 策略 5-8:检测异常的请求头部
  • 策略 5-9:检测多余的参数
  • 策略 5-10:检测缺失的参数
  • 策略 5-11:检测重复的参数名
  • 策略 5-12:检测异常的参数长度
  • 策略 5-13:检测异常的参数字符集

响应数据分析

  • 策略 6-1:检测异常的响应头部
  • 策略 6-2:检测响应头部的信息泄露
  • 策略 6-3:访问响应体的内容
  • 策略 6-4:检测变更的页面标题
  • 策略 6-5:检测响应页面大小偏差
  • 策略 6-6:检测动态内容的变更
  • 策略 6-7:检测源代码泄露
  • 策略 6-8:检测技术数据泄露
  • 策略 6-9:检测异常的响应延时
  • 策略 6-10:检测是否有敏感数据泄露
  • 策略 6-11:检测木马、后门及webshell的访问尝试

身份验证防护

  • 策略 7-1:检测是否提交了通用的或默认的用户名
  • 策略 7-2:检测是否提交了多个用户名
  • 策略 7-3:检测失败的身份验证尝试
  • 策略 7-4:检测高频率的身份验证尝试
  • 策略 7-5:规范化身份验证失败的信息提示
  • 策略 7-6:强制提高密码的复杂度
  • 策略 7-7:把用户名和SessionID进行关联

防护会话状态

  • 策略 8-1:检测非法的cookie
  • 策略 8-2:检测cookie的篡改
  • 策略 8-3:强制会话过期
  • 策略 8-4:检测客户端源位置在会话有效期内是否变更
  • 策略 8-5:检测在会话中浏览器标识是否变更

防止应用层攻击

  • 策略 9-1:阻断非ASCII字符的请求
  • 策略 9-2:防止路径遍历攻击
  • 策略 9-3:防止暴力浏览攻击
  • 策略 9-4:防止SQL注入攻击
  • 策略 9-5:防止远程文件包含(RFI)攻击
  • 策略 9-6:防止OS命令攻击
  • 策略 9-7:防止HTTP请求偷渡攻击
  • 策略 9-8:防止HTTP响应分割攻击
  • 策略 9-9:防止XML攻击

防止客户端攻击

  • 策略 10-1:实现内容安全策略(CSP)
  • 策略 10-2:防止跨站脚本(XSS)攻击
  • 策略 10-3:防止跨站请求伪造(CSRF)攻击
  • 策略 10-4:防止UI伪装(点击劫持)攻击
  • 策略 10-5:检测银行木马(浏览器中的木马)攻击

文件上传功能防护

  • 策略 11-1:检测文件大小
  • 策略 11-2:检测是否上传了大量文件
  • 策略 11-3:检测文件附件是否有恶意程序

限制访问速率及程序交互流程

  • 策略 12-1:检测高速的应用访问速率
  • 策略 12-2:检测请求/响应延迟攻击
  • 策略 12-3:识别异常的请求间隔时间
  • 策略 12-4:识别异常的请求流程
  • 策略 12-5:识别显著增加的资源使用

被动的响应动作

  • 策略 13-1:追踪异常权值
  • 策略 13-2:陷阱与追踪审计日志
  • 策略 13-3:发送E-mail告警
  • 策略 13-4:使用请求头部标记来共享数据

主动的响应动作

  • 策略 14-1:跳转到错误页面
  • 策略 14-2:断开连接
  • 策略 14-3:阻断客户端的源地址
  • 策略 14-4:通过变更防护条件(DefCon)级别来限制地理位置访问
  • 策略 14-5:强制请求延迟
  • 策略 14-6:假装被成功攻破
  • 策略 14-7:把流量重定向到蜜罐
  • 策略 14-8:强制退出网站
  • 策略 14-9:临时限制账户访问

侵入式响应动作

  • 策略 15-1:JavaScript cookie 测试
  • 策略 15-2:通过验证码测试来确认用户
  • 策略 15-3:通过BeFF来hook恶意用户

下载地址: https://pan.baidu.com/s/16RGb9c_2EJaXsoB-_BS7ZQ

你可能感兴趣的:(开发,渗透)