保护通用操作系统安全的十大方法

不管你使用的是哪一种操作系统平台,系统安全方面的一些重要考虑因素总归是适用的。如果你想保护系统,从而远离未经授权的访问以及不幸的灾难,应当始终要考虑下列防范措施:
  
    一、使用强密码
  
    要提高安全性,最简单的方法之一就是使用不会被蛮力攻击轻易猜到的密码。蛮力攻击是指这样一种攻击:攻击者使用自动系统来尽快猜中密码,希望不用多久就能找出正确的密码。
  
    密码应当包含特殊字符和空格、使用大小写字母,避免单纯的数字以及能在字典中找到的单词;破解这种密码比破解你家人的姓名或者你的周年纪念日期组成的密码要难的多。另外要记住:密码长度每增加一个字符,可能出现的密码字符组合就会成倍增加。一般来说,不到8个字符的任何密码都被认为太容易被破解。10个、12个甚至16个字符作为密码来得比较安全。但也不要把密码设得过长,以免记不住,或者输入起来太麻烦。
  
    二、做好边界防御
  
    不是所有的安全问题都发生在桌面系统上。使用外部防火墙/路由器来帮助保护你的计算机是个好想法,哪怕你只有一台计算机。如果考虑低端产品,可以购买一个零售路由器设备,比如Linksys、D-Link和Netgear等厂商的路由器,可以从当地的电子产品商店买到。如果考虑比较高端的产品,可以向思科、Vyatta和Foundry Networks等企业级厂商购买管理型交换机、路由器和防火墙。
  
    你也可以另辟蹊径,“从头开始”自行组装防火墙;或者使用预先封装的防火墙/路由器安装程序来自行组建防火墙,比如m0n0wall和IPCoP,完全能做到功能与各大企业级厂商的解决方案不相上下。代理服务器、防病毒网关和垃圾邮件过滤网关也都有助于提高边界的安全性。请记住:一般来说,交换机的安全功能胜过集线器;使用网络地址转换(NAT)协议的路由器胜过交换机;防火墙绝对是必不可少的设备。

三、更新软件
  
    尽管在很多情况下,把补丁部署到生产系统之前先进行测试之类的问题可能极其重要,但安全补丁最终还是必须部署到系统上。如果长时间没有更新安全补丁,可能会导致你使用的计算机很容易成为肆无忌惮的攻击者的下手目标。
  
    别让安装在计算机上的软件迟迟没有打上最新的安全补丁。同样的情况适用于任何基于特征码的恶意软件保护软件,比如反病毒软件(如果你的系统需要它们):只有它们处于最新版本状态,添加了最新的恶意软件特征码,才能发挥最佳的保护效果。
  
    四、关闭没有使用的服务
  
    计算机用户常常甚至不知道自己的系统上运行着哪些可以通过网络访问的服务。Telnet和FTP是两种经常会带来问题的服务:如果你的计算机不需要这两种服务,就应当关闭。确保你了解在计算机上运行的每一种服务,并且知道它为什么要运行。在某些情况下,这可能需要弄清楚该服务对你特定需要的重要性,以便不会犯在微软Windows计算机上关闭远程过程调用(RPC)服务这样的错误,而且不会禁用登录,不过关闭实际上没有使用的服务始终是个好想法。

 

五、使用数据加密
  
    对关注安全的计算机用户或者系统管理员来说,有不同级别的数据加密方法可供使用;选择合理的加密级别以满足自己的需要,这必须根本实际情况来决定。数据加密方法有很多,从使用密码工具对文件逐个加密,到文件系统加密,直到整个磁盘的加密。
  
    上述加密方法通常不包括引导分区,因为那样需要专门硬件帮助解密;但是如果非常需要加密引导分区以确保隐私、有必要投入这笔开支,也可以获得这种整个系统的加密。针对除了引导分区加密外的任何应用,每一种所需的加密级别都有许多种解决方案,包括可在各大桌面操作系统上实现整个磁盘加密的商业化专有系统和开源系统。
  
    六、通过备份保护数据
  
      对数据进行备份是你用来保护自己、避免灾难的最重要的方法之一。确保数据冗余的策略有很多,既有像定期把数据拷贝到光盘上这样简单、基本的策略,也有像定期自动备份到服务器上这样复杂的策略。如果系统必须维持不断运行、服务又不得中断,冗余廉价磁盘阵列(RAID)可以提供故障自动切换的冗余机制,以免磁盘出现故障。

    像rsync和Bacula这些免费的备份工具可以把不管多么复杂的自动备份方案组合起来。像Subversion这些版本控制系统可以提供灵活的数据管理功能,那样不但可以在另一台计算机上进行备份;而且不用吹灰之力,就可以让多台桌面机或者笔记本电脑拥有同样的最新数据。几年前,我用来办公的那台笔记本电脑遇到了致命的硬盘故障,结果用这种方式使用subversion帮了大忙,这突出了定期备份关键数据的重要性。

七、加密敏感通信
  
    用于保护通信、避免被人窃听的密码系统极其普遍。针对电子邮件的支持OpenPGP协议的软件,针对即时通信(IM)客户软件的Off The Record插件,针对使用像SSH和SSL这些安全协议的持续通信的加密隧道软件,以及许多其他工具,都用来确保数据在传输过程中没有受到破坏。当然,在个人对个人的通信中,有时很难说服另一方使用加密软件来保护通信,但有时候这种保护至关重要。
  
    八、不要信任外来网络
  
    对于像本地咖啡店里面的无线网络这样的开放无线网络,这一点显得尤其重要。就因为你在安全方面非常谨慎,所以无法在咖啡店或者另外某个不可信任的外来网络上使用无线网络,这是没有道理的。但关键是你必须通过自己的系统来确保安全;不要相信外来网络很安全、远离不怀好意的攻击者。比如说在开放的无线网络上,使用加密措施来保护敏感通信极其重要,包括连接到这样的网站:使用登录会话cookie来自动验证身份,或者输入用户名和密码。
  
    不太明显的一方面是,你要确保没有在运行并不完全必要的任何网络服务;因为如果存在没有打上相应补丁的漏洞,这些服务就会被人利用。这适用于像NFS或者微软CIFS这些网络文件系统软件、SSH服务器、活动目录服务以及其他众多可能使用的服务。里里外外检查一下自己的系统,查明不怀好意的攻击者可能会借助怎样的机会来企图闯入你的计算机,并确保这些入口点采取尽可能合理的措施严加保护起来。在某些方面,这只是关闭不需要的服务、加密敏感通信这两个安全方法的一种延伸;只不过在对待外来网络时,你在允许系统上运行的服务以及自认为“敏感”的通信方面必须格外谨慎。
  
    在不可信任的外来网络上保护自己,实际上需要重新全面评估系统的安全状况。

九、使用不间断电源(UPS)
  
    UPS的作用不仅仅是停电时可以避免丢失文件。使用UPS还有更重要的原因,比如功率调节、避免文件系统受到损坏。由于这个原因,就要确保购买的UPS能够与操作系统协同运行,以便通知操作系统什么时候UPS需要关闭,免得电源用尽时你不在家;还要确保购买的UPS可提供电池供电和功率调节功能。浪涌保护器根本不足以保护你的系统免遭“脏”电源的破坏。记住:UPS对保护你的硬件和数据而言都很关键。
  
    十、监控系统、查找安全威胁和漏洞
  
    千万不要想当然地认为:就因为已经采取了一系列安全防备措施,系统就肯定不会遭到攻击者的破坏。你应该总是要建立某种日常监控机制,确保可疑事件会迅速引起你的注意;可以针对可能的安全漏洞或者安全威胁采取相应措施。我们不但需要把这种注意力放在网络监控上,还要放在完整性审查以及/或者其他的本地系统安全监控技术上。
  
    其他的安全防范措施可能适用,这要看你具体使用哪一种操作系统。有些操作系统由于设计上的特点,导致安全状况不尽如这意,这就带来了另外的安全挑战;而有些操作系统为有经验的系统管理员赋予了提高安全性的功能。无论你用的是像微软Windows和Apple Mac OS X这样的专有系统,还是像Linux发行版、FreeBSD、NetBSD、甚至非常注重安全的OpenBSD这样的开源系统,在保护系统安全时都要牢记上面这几点。
  
    你选择的操作系统采用了默认的安装方法,没有进一步考虑保护系统安全,却足够安全,这样的情况只是极个别现象。不管你用的是什么操作系统,都要从上面提到的几个方面开始入手,然后考虑操作系统平台的特定安全要求。系统安全的完整性不能靠运气来保证。