安全
一、Web攻击手段
Web攻击手段 | 原理 | 防范 |
---|---|---|
XSS攻击 | 在输入框里输入脚本程序,恶意攻击用户 | 对用户输入的数据进行HTML转义处理 |
CRSF攻击 | 用户C登录了受信任站点A,在本地产生Cookie;用户C在没有登出(清除站点A的cookie)站点A的情况下,访问恶意站点B;恶意站点B获取cookie,访问站点A,以用户C的身份进行操作 | 将cookie设置为HttpOnly;增加token;通过refer识别 |
SQL注入攻击 | 把SQL命令伪装成正常的HTTP请求参数,传递到服务器,欺骗服务器最终执行恶意的SQL命令 | 使用预编译语句;使用ORM框架;避免密码明文存放;处理好相应异常 |
文件上传漏洞 | 上传可执行的文件或脚本,通过脚本获得服务器上相应的权利 | 对上传的文件类型进行白名单校验,限制上传文件的大小,对上传的文件进行重命名 |
DDos攻击 | 借助公共网络,将数量庞大的计算机设备联合起来作为攻击平台,对一个或多个目标进行攻击,从而达到瘫痪目标主机的目的 |
二、安全算法
类型 | 内容 |
---|---|
数字摘要 | MD5,SHA,Hash算法 |
对称加密算法 | DES算法,3DES算法,AES算法 |
非对称加密算法 | RSA |
通过非对称加密技术与数字摘要技术,可以进行签名认证。
常见的数字签名算法包括MD5withRSA、SHA1withRSA等。
三、认证
认证 | 原理 |
---|---|
摘要认证 | 针对每次请求,将请求参数进行排序,再将参数名称和值经过一定的策略组织起来,加上一个密钥secret,通过约定的摘要算法生成数字摘要,传递给服务端 |
签名认证 | 针对每次请求,将请求参数进行排序,再将参数名称和值经过一定的策略组织起来,通过约定的摘要算法生成数字摘要,使用客户端私钥对数字摘要进行加密,将加密的密文传递给服务端 |
四、协议
协议 | 原理 |
---|---|
HTTPS | 在HTTP协议与TCP协议之间增加一层安全层,所有请求和响应数据在经过网络传输之前,都会进行加密,然后再进行传输 |
OAuth | 对第三方软件厂商(LSV)进行授权,使用第三方软件厂商能够使用平台上的部分数据,对用户提供服务 |
稳定
一、在线日志分析
日志中包含了程序在遇到异常情况所包含的详细信息,通过下列信息参数,可以知道相应的程序信息。
信息参数 | 作用 |
---|---|
异常堆栈 | 定位到产生问题的程序bug的行 |
访问IP和请求URL参数 | 排查是否遭到攻击和攻击的形式 |
应用的响应时间、垃圾回收,系统load | 判断系统负载,是否需要增加机器 |
线程dump | 判断是否死锁及线程阻塞的原因 |
应用的GC日志 | 减少GC次数和stop the world时间,优化应用响应时间 |
二、集群监控
监控指标:load,CPU利用率,磁盘剩余空间,网络traffic,磁盘I/O,内存使用,每秒查询数(qps),请求响应时间(rt),数据库每秒处理的select语句的数量(select/ps),update/ps,delete/ps,GC。
心跳检测:ping
三、流量控制
流量控制措施:
- 对系统的总并发请求数进行限制
- 限制单位时间内的请求次数
- 通过白名单机制来限制每一个接入系统调用的频率
- 通过单机内存队列来进行有限的等待
四、性能优化
性能优化措施:
(1)前端性能优化
- 减少页面的HTTP请求数量
- 使用CDN网络
- 使用压缩
(2)java程序优化
- 单例
- Future模式
- 使用线程池
- 选择就绪
- 减少上下文切换
- 降低锁竞争
(3)压缩
(4)结果缓存
(5)数据库查询优化
(6)GC优化
(7)硬件提升