安全的三要素:
Confidentiality:保密
Integrity:一致
Availibility:可用
对于Confidentiality和Integrity,可用的手段很明确,就是加密和验证;但是对availibility,有什么好
办法哪?
能够想到的,rudundency(冗余),cluster(集群),resource limit(资源限制),等等。手段
很多,但是有用的是哪个?可用性的目标也不好描述,什么样的系统是达到了它可用的目标?比如对
系统的访问已经超出了系统的capacity,那么新的访问就无法满足,这样能够说系统的可用性不高吗?
显然是不能。所以可用性至少与下面几个因素相关
1:系统的设计容量
2:单点故障,也就说系统本身会成为单点故障
3:正常访问和非正常访问
常见的对可用性的攻击是DoS或者DDoS。它们的特点是
1:消耗系统资源,使之无法服务正常访问。也就是说,攻击已经达到了系统的设计容量。
2:非正常访问,也就是说服务是能够区分这种访问是非正常的,但是中间的防护设备却没有这样的知识
3:防护设备会成为瓶颈
对于可用性,正确的方法应该是增加系统的容量,比如一个负载均衡系统里面,整个系统的容量足够抗衡
攻击流量;按需增加容量,比如云计算所做的事情;资源限制,避免系统失去响应,导致调试和查看失效。