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