网络服务和经认证的数据
选择服务和协议的类型可能是一项十分艰巨的任务。一种简单的方法是先允许所有类型的服务和协议,然后再根据需要加以禁止。这种策略实施起来方便,因为所需要做的只是启动所有的服务并允许所有的协议在网络间通行。当出现安全漏洞时,就在主机或网络层上限制出现漏洞的服务或为服务添加补丁。
这种方法相当简单,但它同时也容易遭受大多数网络攻击。一种更安全的方法是先拒绝所有类型的服务和协议。然后根据需要允许一些服务。按照这种方法,先关闭所有服务,然后有选择地启动需要的服务。全部拒绝模式通常要比全部允许模式安全,可是要成功地实施却需要更多的工作。同时要求对各种服务作更深入的了解。最理想的情况是:只允许已知的服务类型,就可以更好地分析特定的服务或协议,并且可以设计适合站点安全等级的安全机制。安全措施的复杂性会随着所提供服务个数的增加而呈指数增长。因此应该以怀疑的态度评估所有新增的服务,以保证添加的服务是必需的。
为确保合理数据完整性,应该验证大多数跨越网络的信息流。另外,为了保证网络基础设施的完善性,对安全基础设施进行操作(如路由更新)的信息流也应该通过验证。
假如不对路由更新验证,则未授权或恶意的路由更新报文就会危及信息流安全。因为如果敌对团队故意改变信息流的方向或对信息流进行分析,就会对网络安全构成威胁。例如,未经授权的路由器可以向网络中某个路由器发送伪造的路由更新信息,使该路由器把信息流发往错误的目的地址,通过分析这个被转向的信息流就可以掌握发送该报文组织的机密信息。
即使入侵者能够直接访问物理网络,校验和(checksum,一种依据封包内容计算出来的值)仍然可以阻止向网络注入伪造的报文分组。如果再与序号或其他惟一标识符相结合使用,校验和甚至还能组织重放攻击。重放攻击指入侵者或发生故障的路由器重新发送旧的(但曾经是正确的)路由更新信息。对有序号或有其他唯一标识的路由器更新进行完全加密就能保证大部分的安全性。这种方法能够阻止入侵者发现网络的拓扑。加密方法的不足是在于增加看更新过程的系统开销。