1、 身份标识(你是谁)-认证(怎么证明)-授权(能做什么)-审计(做过什么)
2、账号可被管理, 反面例子后门账号
3、 账号锁定策略:手动锁定,手动解锁,有效期,自动锁定
4、 人机账号(无需在客户端保存)和机机账号分离
5、 密码: 包含字符集越多越好,4种字符集,大写,小写,数字,特殊字符
6、 12306丢失用户账号事件,怀疑是撞库
7、不需要还原铭文口令场景下的口令加密算法: PBKDF2,
如果对性能有要求,用HMAC算法
8、需要还原明文口令场景下使用CBC模式的AES128算法加密。IV每次随机生成
9、案例:XX产品客户端软件内存中长期保存加密口令
设计要求,
场景1:非业务必须保存密码场景:客户端口令用完立即清理,
场景2:业务必须保存密码场景:保存口令尽量用不可还原的算法,保存口令的时间尽量短
10、密码传输: 首选安全通道,其次是加密传输。
案例:
A、密码hash存储,服务器
11、认证: 他知道的内容(密码), 他持有的证明(智能卡),他就是这个人(指纹)
12、认证设计:
认证场景:人机接口,跨信任网络的的机机接口
认证方法:采用标准协议规定的 认证方法
案例:
A、用IP地址认证(IP可以伪造),
B、明文hash代替明文口令(HASH加密不安全,容易被彩虹表)
C、SSL客户端默认不认证SSL服务端
D、对证书校验不严格
认证接口的安全管理,审计
13、中间人攻击:同时和服务端和客户端交互
14、重放攻击, 预防方式:加入时变参数
15、反射攻击:双方主动发起认证的场景
预防:认证双方消息加入ID,不同字符串
16、安全通道: SSL,SSH,IPSec,标准的安全加密传输通道中传输口令
17、对称加密算法(AES256)和密码校验函数(HMAC)的比较
对称加密算法: 消息机密性好,性能差
密码校验函数:性能好,消息机密性差
18、时变参数:时间戳(见14,适用短连接),序列号(适用短连接),随机数(适用长连接)
19、数字证书是一段包含用户身份信息,用户公钥信息以及身份证机构数字签名的数据,是设备,用户或者应用在数字世界的身份证。 支持证书的标准认证协议:参加的有TLS/SSL,ipsec, kerberos等
20,华为有统一的证书签发网站
21、强身份认证(多种认证方式,比如双因素认证)
22、登录接口的口令防暴力破解:锁账号,锁IP,登录延迟,验证码
23、认证失败提示:不能太详细
24、授权原则:权限最小化,权限分离,默认安全
25、授权模型:
RBAC基于角色访问权限管理
26、 账号权限管理: 限制敏感访问
低权限用户通过sudo可执行高风险命令且未限制其命令的参数
设计要求:对于类unix系统,需要限制普通用户通过sudo执行的命令及命令参数
27、权限管理操作授权给新的角色
28、系统默认权限最小化: 禁止使用root账号远程登录
29、案例:
私钥文件,命名最好用随机名称
密码明文存储在配置文件,配置文件加密。 不安全
windows程序安全目录,安装到D盘,普通用户也可以访问,然后执行删除,修改动作。
需要安装在 普通用户没有权限修改的地方,比如programfiles
30、应用权限最小化:尽量不要用root账号
案例: X系统有两个问题:SQL注入,用root账户运行数据库
如果非用root不可,解决方案: sudo命令,setupid()函数,设置capablity
应用系统权限分离:操作系统权限和用户访问权限分离
禁止越权运行
横向越权:A,B都是普通用户
纵向越权,A,B,权限提升了,B管理员,A普通用户
网友评论