大型网站技术架构(八)安全

大型网站技术架构核心原理与案例分析 读书笔记

安全架构

网站应用攻击与防御

XSS攻击

  • 一种是反射型,攻击者诱使用户点击指向恶意脚本的链接;
  • 另一种是持久型,通过表单提交恶意脚本到服务器。

主要防御手段是HTML代码转义。

CSRF攻击

攻击者盗用用户身份、以用户名义向服务器发请求。

防御手段:

  • Cookie中设置HttpOnly
  • 表单Token
  • 验证码(体验不好、应仅在必要时使用)
  • Referer check(可以用于防盗链,只允许本站内跳转).

注入攻击

分为SQL注入和OS注入攻击。攻击者一般需要了解服务器数据库结构,可以通过开源、错误回显(500回显到浏览器页面)来猜测数据库结构。盲注,攻击者根据页面变化猜测数据库表结构。

防御手段:消毒。使用正则表达式校验参数,过滤可能出现的SQL攻击,如drop table等语句。使用预编译PreparedStatement.

其他注入:注入恶意系统命令、编程语言代码等。

其他攻击和漏洞的防御

  • 错误代码页不要显示在浏览器页面中,应使用专门的错误页面,避免向攻击者暴露信息。
  • HTML注释。程序最终发布前需要进行review.
  • 文件上传。设置白名单,修改文件名,使用专门存储等手段。
  • 路径遍历。攻击者使用相对路径,遍历系统未开放的目录和文件。防御方法是将JS, CSS等资源文件部署在独立服务器、使用独立域名、其他文件不使用静态URL访问、动态参数不包含文件路径信息。

Web应用防火墙

  • 开源产品 ModeSecurity
  • 商业产品 NEC的SiteShell

你可能感兴趣的:(大型网站技术架构(八)安全)