网站的安全架构

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: <div class="markdown_views"><h2 id="网站安全攻防战">网站安全攻防战</h2><h3 id="xss攻击">XSS攻击</h3><p><img src="http://img.blog.csdn.net/20151111104911741" alt="这里写图片描述" title=""><br>防御手段: <br> - 消毒

网站安全攻防战

XSS攻击

这里写图片描述
防御手段:
- 消毒。 因为恶意脚本中有一些特殊字符,可以通过转义的方式来进行防范
- HttpOnly 对cookie添加httpOnly属性则脚本不能修改cookie。就能防止恶意脚本篡改cookie

注入攻击

SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者获取数据库表结构方式:

- 开源, 如果使用开源软件搭建,则数据库是公开的
- 错误回显, 把数据库错误抛到页面上
- 盲注。 主要是根据页面变化来做的
通常防止的办法有:
- 消毒, 对drop等关键字进行过滤
- 参数绑定 就是预编译

CSRF 攻击

跨站请求伪造
要求有两个条件就能进行攻击。

  1. 用户使用浏览器登陆了授信网站并且没有退出,生成了本地token
  2. 用户访问攻击者网站,攻击者通过302等让用户带一定的攻击参数再次访问授信网站
    因为浏览器发送请求自带token,因此授信网站不知道请求来源于用户自己还是攻击者,这样就会有问题了。
    防止办法:

    • 页面随机数。 每次页面请求生成一个随机数,然后在后台进行校验
    • 验证码。 比如手机验证码。 比较麻烦,可以在支付页上请求一下
    • Referer check HTTP请求头的Referer域zh录着请求来源,可通过检查请求来源验证是否合法。 很多网站使用这个功能实现图片防盗链

其他攻击方法和漏洞

  • 直接异常信息,会给攻击者以提示。 可以使用mvc中的工具,把错误码异常等进行封装
  • HTML注释, 会暴露功能,方便攻击。 上线时去除注释
  • 文件上传, 如果本身功能就是上传文件去执行,那么就有可能执行非常危险的命令。 解决方式是,设置文件白名单,限制文件类型,另外还可以重新命名文件,改名为不可执行的
  • 路径遍历, 使用相对路径来遍历未开放的目录。 方式是将JS,CSS部署在独立的服务器,使用独立域名。 其他文件不使用静态URL访问,动态参数不包含文件路径信息。

WEB应用防火墙

ModSecurity 统一拦截请求,过滤恶意参数,自动消毒,添加token。并且能够自动升级。
分成了处理逻辑和攻击规则集合 两个部分,有点像策略模式, 处理逻辑负责过滤请求识别攻击方式, 然后去找对应的攻击规则执行他来确定对应的防御手段。

网站安全漏洞扫描

有开源和商用的安全漏洞扫描工具

信息加密技术及密钥安全管理

CSDN被拖库,居然明文保存用户名密码。

单项三散列加密

就是MD5,这种,无法反转的。 但是因为固定的字符加密后是一样的,因此可以加点随机盐来增加破解难度

对称加密

DES算法。 用同一个密钥进行加密和解密
适用于信息交换的场合,比如Cookie啊,数据啊等等。
加解密效率高。但是要防止密钥丢失

非对称加密

加密解密使用不同的钥匙。 对外界公开的是公钥, 用公钥加密的信息,用私钥才能解开(https),反之也成立(数字签名)。
用在https, 和数字签名的场合。
这样能保证及时公钥被知悉,以及传输数据被窃取了仍然无法破解数据信息。

密钥安全管理

上面的几种方式都会涉及到密钥的管理。
通常有如下的办法:

  • 建立密钥服务器 减少接触密钥的人。 但是可能会成为瓶颈
  • 将密钥算法放在应用系统中,密钥放在单独的服务器中。 这样就兼顾了安全和性能。
    这里写图片描述
    应用调用密钥管理服务进行加解密。 该服务提供了多种算法,并且可扩展。 密钥服务从密钥服务器获取密钥,并缓存一定期限。 密钥服务器存储密钥的时候分片存储。

信息过滤与反垃圾

文本匹配

使用敏感词过滤。
简单的可以使用正则表达式
但是并发较高的网站可以使用Trie树的变种算法。
还有一种比较简单的办法是构造多级hash表。如:
这里写图片描述
这可过滤树,可以建立多级hash表,可能会浪费一定的内存
另外一些手段可以绕过敏感词检查,比如阿波 这样的需要降噪处理

分类算法

对广告贴,垃圾邮件等使用分类算法。
先输入正常邮件和垃圾邮件通过分类算法训练进行分类模型创建,然后利用分类模型来处理对邮件的识别。
常用的算法有贝叶斯(基于统计概率论)的算法合Association RuleClustering System.

黑名单

黑名单可以通过hash表实现,但是这样会占用太多的内存。
另外有一个稍微好点的办法是使用布隆过滤器。 2G内存,映射为16个big.
然后一个邮箱随机映射到0-16g中的一个范围设置为1. 判断的时候就看为不为1.这种只有1/8的空间。但是效果上差不多。

电子商务风险控制

风险

  • 账户风险 被盗
  • 买家风险 买家恶意下单占用库存进行不正当竞争,黄牛抢购低价,良品拒收等等
  • 买家风险 假货,违禁商品等
  • 交易风险 信用卡盗刷,洗钱等

风控

一般风控风味自动和人工两种。 通常是机器自动识别高风险然后交给人工去审核。 主要有两种手段:规则引擎和统计模型。

  • 规则引擎
    这里写图片描述
    不可能在代码里写死规则,所以就搞成这个模式的。可以随时修改业务规则。 业务执行部分逻辑不变只变规则。其实跟密钥管理的模型很想
  • 统计模型
    规则引擎会变得难以维护,性能差。
    会使用分类算法或者其他机器学习的算法进行智能统计。 根据历史交易欺诈信息训练分类算法。然后进行加工得到交易风险分值。 可以有一定的模糊识别,会有一定预判性。并且性能更好。
    这里写图片描述
相关文章
|
1月前
|
监控 安全 Cloud Native
云原生安全:Istio在微服务架构中的安全策略与实践
【10月更文挑战第26天】随着云计算的发展,云原生架构成为企业数字化转型的关键。微服务作为其核心组件,虽具备灵活性和可扩展性,但也带来安全挑战。Istio作为开源服务网格,通过双向TLS加密、细粒度访问控制和强大的审计监控功能,有效保障微服务间的通信安全,成为云原生安全的重要工具。
47 2
|
2月前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
63 8
|
4月前
|
存储 监控 安全
大数据架构设计原则:构建高效、可扩展与安全的数据生态系统
【8月更文挑战第23天】大数据架构设计是一个复杂而系统的工程,需要综合考虑业务需求、技术选型、安全合规等多个方面。遵循上述设计原则,可以帮助企业构建出既高效又安全的大数据生态系统,为业务创新和决策支持提供强有力的支撑。随着技术的不断发展和业务需求的不断变化,持续优化和调整大数据架构也将成为一项持续的工作。
|
4月前
|
Kubernetes 安全 微服务
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
在5G电信领域,Kubernetes集群中部署微服务至关重要,但也带来了重大的安全挑战。Istio作为一个强大的开源服务网格,能有效地管理这些微服务间的通信,通过其控制平面自动将Sidecar代理注入到各微服务Pod中,确保了安全且高效的通信。Istio的架构由数据平面和控制平面组成,其中Sidecar代理作为Envoy代理运行在每个Pod中,拦截并管理网络流量。此外,Istio支持多种Kubernetes发行版和服务,如EKS等,不仅增强了安全性,还提高了应用性能和可观测性。
83 0
使用 Istio 缓解电信 5G IoT 微服务 Pod 架构的安全挑战
|
4月前
|
存储 监控 安全
|
4月前
|
机器学习/深度学习 架构师 数据库
20年老架构师,劝我多看看这几个网站
20年老架构师,劝我多看看这几个网站
|
4月前
|
存储 安全 关系型数据库
"揭秘!如何设计数据库架构,让信息系统心脏强健无比?一场关于数据效率、安全与可扩展性的深度探索"
【8月更文挑战第19天】数据库架构是信息系统的核心,关乎数据存储效率与安全及应用性能和扩展性。优秀设计需综合考量业务需求、数据模型选择、查询优化、事务处理、安全性和扩展性。首先,深刻理解业务需求,如电商系统需高效处理并增长商品、订单等数据。其次,基于需求选择合适的数据模型,如关系型或非关系型数据库。再者,优化查询性能与索引策略以平衡读写负载。同时,考虑事务处理和并发控制以保证数据一致性和完整性。最后,加强安全性措施和备份恢复策略以防数据风险。通过这些步骤,可以构建稳健高效的数据库架构,支持系统的稳定运行。
50 0
|
5月前
|
弹性计算 负载均衡 关系型数据库
使用资源编排 ROS 轻松部署高可用架构网站——以 WordPress 为例
WordPress 是流行的开源 CMS,阿里云的资源编排服务 (ROS) 提供 IaC 功能,简化云上资源自动化部署,如创建 VPC、ECS、SLB、RDS 和弹性伸缩等。通过 ROS 模板(JSON/YAML),用户能快速部署高可用的 WordPress 环境,包括负载均衡、多可用区的 ECS 服务器集群、高可用 RDS 数据库等。模板定义了资源、参数和输出,用户在 ROS 控制台配置参数后一键部署。ROS 提升了部署效率,便于跨地域复制相同架构。
使用资源编排 ROS 轻松部署高可用架构网站——以 WordPress 为例
|
5月前
|
安全 Java 数据安全/隐私保护
Spring Boot中的微服务安全架构
Spring Boot中的微服务安全架构
|
6月前
|
SQL 监控 安全
Java中的安全架构设计与实现
Java中的安全架构设计与实现