到底是买苹果笔记本还是thinkpad到今天为止还没有一个合适的定论,暂时先这样吧,暂时先不买吧
安全工程师的核心竞争力不在于他能拥有多少个 0day,掌握多少种安全技术,而是在于他对安全理解的深度,以及由此引申的看待安全问题的角度和高度。
黑客精神所代表的 Open、Free、Share。
第九章
一、关于设置密码和用户密码的保存建议
储存在数据库中的密码应该为= 设置密码的复杂度+多因素认证+不可逆加密算法+salt盐值
1、设置密码复杂度
密码长度为6位或者8位以上
密码区分大小写
密码为大写字母、小写字母、数字、特殊符号中两种以上组合
不要有连续性的组合例如12345 abcdef
尽量避免重复的自服务aaaa 11111
2、多因素认证
一个凭证被用于认证则是“单因素认证”
两个或者两个以上的凭证被用于认证则称为“多因素认证”
手机动态口令、数字证书、宝令、支付盾、第三方证书都可以
3、不可逆加密算法
MD5
SHA-1
4、salt盐值
为了避免哈希值被彩虹表破解,在明文密码增加一个字符串盐值
salt应保存在项目的配置文件中
二、sessionID
每次用户登录后服务器端通常会建立一个session已跟踪用户的状态,每个session对应一个标识符sessionID
sessionID可以保存在cookie中也可以保存在URL中,作为请求的一个参数。
在生成SESSIONID时,要保证足够的随机性,可以使用框架中的足够强的伪随机数生成算法。
当浏览器访问网站时会自动的带上cookie
如果用户的IP或者userAgent发生变化时,服务器强制销毁session并要求用户重新登录
三、单点登录
sso:single sign on只需要用户登录一次就可以访问所有的系统。目前互联网最开放和流行的单点登录系统是openID。
第十章
一、垂直权限管理
基于角色的访问控制Role-Based Access Control(RBAC)
二、水平权限管理
基于数据的访问控制
三、OAuth管理
OAuth是一个在不提供用户名和密码的情况下,授权第三方应用访问Web资源的安全协议
OAuth1.0在2007年12月公布,并迅速成为了行业标准(解决不同网站之间互通的的问题)
OAuth和OpenID都致力于让互联网更加的开放。OpenID是解决认证的问题,OAuth更注重的是授权的问题
OAuth委员会实际上是从OpenID委员会中分离出来的(2006年12月),OAuth的设计本来是想弥补openID中的一些缺陷和不方便的地方后来发现需要设计一个全新的协议
OAuth中涉及诸多的加密算法、伪随机数算法。
2011年年底OAuth2.0为OAuth较为稳定的一个版本。需要用到OAuth的地方有桌面应用、手机设备、web应用但是OAuth1.0只提供对web应用的支持所有OAuth2.0应运而生
四、最小权限原则是权限管理的黄金法则
第12章
一、设计出安全完美的方案