大型网站技术架构核心原理与案例分析 读书笔记
安全架构
网站应用攻击与防御
XSS攻击
- 一种是反射型,攻击者诱使用户点击指向恶意脚本的链接;
- 另一种是持久型,通过表单提交恶意脚本到服务器。
主要防御手段是HTML代码转义。
CSRF攻击
攻击者盗用用户身份、以用户名义向服务器发请求。
防御手段:
- Cookie中设置HttpOnly
- 表单Token
- 验证码(体验不好、应仅在必要时使用)
- Referer check(可以用于防盗链,只允许本站内跳转).
注入攻击
分为SQL注入和OS注入攻击。攻击者一般需要了解服务器数据库结构,可以通过开源、错误回显(500回显到浏览器页面)来猜测数据库结构。盲注,攻击者根据页面变化猜测数据库表结构。
防御手段:消毒。使用正则表达式校验参数,过滤可能出现的SQL攻击,如drop table等语句。使用预编译PreparedStatement.
其他注入:注入恶意系统命令、编程语言代码等。
其他攻击和漏洞的防御
- 错误代码页不要显示在浏览器页面中,应使用专门的错误页面,避免向攻击者暴露信息。
- HTML注释。程序最终发布前需要进行review.
- 文件上传。设置白名单,修改文件名,使用专门存储等手段。
- 路径遍历。攻击者使用相对路径,遍历系统未开放的目录和文件。防御方法是将JS, CSS等资源文件部署在独立服务器、使用独立域名、其他文件不使用静态URL访问、动态参数不包含文件路径信息。
Web应用防火墙
- 开源产品 ModeSecurity
- 商业产品 NEC的SiteShell
网友评论