安全
web 安全
XSS
CSRF
SQL 注入
Hash Dos
- 《邪恶的JAVA HASH DOS攻击》
- 利用JsonObjet 上传大Json,JsonObject 底层使用HashMap;不同的数据产生相同的hash值,使得构建Hash速度变慢,耗尽CPU。
- 《一种高级的DoS攻击-Hash碰撞攻击》
- 《关于Hash Collision DoS漏洞:解析与解决方案》
脚本注入
漏洞扫描工具
验证码
- 《验证码原理分析及实现》
- 《详解滑动验证码的实现原理》
- 滑动验证码是根据人在滑动滑块的响应时间,拖拽速度,时间,位置,轨迹,重试次数等来评估风险。
- 《淘宝滑动验证码研究》
DDoS 防范
用户隐私信息保护
- 用户密码非明文保存,加动态salt。
- 身份证号,手机号如果要显示,用 “*” 替代部分字符。
- 联系方式在的显示与否由用户自己控制。
- TODO
序列化漏洞
加密解密
对称加密
- 《常见对称加密算法》
- DES、3DES、Blowfish、AES
- DES 采用 56位秘钥,Blowfish 采用1到448位变长秘钥,AES 128,192和256位长度的秘钥。
- DES 秘钥太短(只有56位)算法目前已经被 AES 取代,并且 AES 有硬件加速,性能很好。
哈希算法
- 《常用的哈希算法》
- MD5 和 SHA-1 已经不再安全,已被弃用。
- 目前 SHA-256 是比较安全的。
- 《基于Hash摘要签名的公网URL签名验证设计方案》
非对称加密
-
-
RSA、DSA、ECDSA(螺旋曲线加密算法)
-
和 RSA 不同的是 DSA 仅能用于数字签名,不能进行数据加密解密,其安全性和RSA相当,但其性能要比RSA快。
-
256位的ECC秘钥的安全性等同于3072位的RSA秘钥。
-
服务器安全
数据安全
数据备份
TODO
网络隔离
内外网分离
TODO
登录跳板机
在内外环境中通过跳板机登录到线上主机。
授权、认证
RBAC
OAuth2.0
双因素认证(2FA)
2FA - Two-factor authentication,用于加强登录验证
常用做法是 登录密码 + 手机验证码(或者令牌Key,类似于与网银的 USB key)
- 【《双因素认证(2FA)教程》】(http://www.ruanyifeng.com/blog/2017/11/2fa-tutorial.html)