“安全”是一个涵盖很宽泛的概念,工具和方法,没有哪个是万用的。在其中做出选择,需要确切的知道你的目标是什么。保护系统从回答几个问题开始。急匆匆的实施随机的工具会把安全风险转移到错误的方向。
因此,首要的事情是确定目标。从下面的问题开始,是逐渐确定目标的好方法:
什么 是要保护的?要保护计算机还是要保护数据,其策略是不同的。如果是后者,还要知道保护哪些数据。
我们试图防止什么?机密数据泄露?意外数据丢失?服务中断而导致的收入损失?
同样,试图防止谁?防范正常用户的输入和防止有预谋的攻击者,其安全措施是大不相同的。
术语“风险”通常用来涉及这三个因素的综合:保护什么,防止发生什么,谁会让它发生。三个问题的答案就塑造了风险。针对这种风险模型,就可以构建安全策略,并通过具体行动实施策略。
额外的限制也值得考虑,它们可以限制可用策略的范围。我们想要在多大程度上保护一个系统?这个问题会对实施策略产生重大影响。答案常常仅仅以金钱成本来定义,但是也应该考虑其他因素,例如强加给系统用户的不便或者性能降低程度。
一旦风险成型,就可以考虑开始设计实际的风险策略了。
多数情况下,信息系统可以分割成一致独立的子系统。每个子系统有自身的需求和限制,这样可以单独评估每个风险和设计安全策略。一个需要谨记的原则是简短明晰的周界要比漫长而曲折的前沿容易定义。网络结构也应相应设计:敏感服务应集中在少数几个机器上,而且这些机器只能通过极少数检查点访问;保护这些检查点要比隔离所有敏感机器与外部世界简单。在这些点上,网络过滤器(包括防火墙)的作用就显而易见了。过滤器可以用专门的硬件,但是更为简单和复杂的解决方案是使用软件防火墙,例如在 Linux 内核中集成的。