无论你现在使用的操作系统是什么,总有一些通用的加强系统安全的建议可以参考。如果你想加固你的系统来阻止未经授权的访问和不幸的灾难的发生,以下预防措施肯定会对你有很大帮助。
1、使用安全系数高的密码
提高安全性的最简单有效的方法之一就是使用一个不会轻易被暴力攻击所猜到的密码。
图1、暴力破解密码
什么是暴力攻击?攻击者使用一个自动化系统来尽可能快的猜测密码,以希望不久可以发现正确的密码。使用包含特殊字符和空格,同时使用大小写字母,避免使用从字典中能找到的单词,不要使用纯数字密码,这种密码破解起来比你使用母亲的名字或你的生日作为密码要困难的多。
另外,你要记住,每使你的密码长度增加一位,就会以倍数级别增加由你的密码字符所构成的组合。一半来说,小于8个字符的密码被认为是很容易被破解的。可以用10个、12个字符作为密码,16个当然更好了。在不会因为过长而难于键入的情况下,让你的密码尽可能的更长会更加安全。
2、做好边界防护
并不是所有的安全问题都发生在系统桌面上。使用外部防火墙/路由器来帮助保护你的计算机是一个好想法,哪怕你只有一台计算机。
图2、防火墙为你做好边界防护
如果从低端考虑,你可以购买一个宽带路由器设备,例如从网上就可以购买到的Linksys、D-Link和Netgear路由器等。如果从高端考虑,你可以使用来自诸如思科、Foundry等企业级厂商的可网管交换机、路由器和防火墙等安全设备。当然,你也可以使用预先封装的防火墙/路由器安装程序,来自己动手打造自己的防护设备,例如使用m0n0wall和IPCoP。代理服务器、防病毒网关和垃圾邮件过滤网关也都有助于实现非常强大的边界安全。
请记住,通常来说,在安全性方面,可网管交换机比集线器强,而具有地址转换的路由器要比交换机强,而硬件防火墙是第一选择。
3、升级您的软件
在很多情况下,在安装部署生产性应用软件之前,对系统进行补丁测试工作是至关重要的,最终安全补丁必须安装到你的系统中。如果很长时间没有进行安全升级,可能会导致你使用的计算机非常容易成为不道德黑客的攻击目标。因此,不要把软件安装在长期没有进行安全补丁更新的计算机上。
图3、升级Windows
同样的情况也适用于任何基于特征码的恶意软件保护工具,诸如防病毒应用程序,如果它不进行及时的更新,从而不能得到当前的恶意软件特征定义,防护效果会大打折扣。
4、关闭没有使用的服务
多数情况下,很多计算机用户甚至不知道他们的系统上运行着哪些可以通过网络访问的服务,这是一个非常危险的情况。
图4、关闭不需要的服务
Telnet和FTP是两个常见的问题服务,如果你的计算机不需要运行它们的话,请立即关闭它们。确保你了解每一个运行在你的计算机上的每一个服务究竟是做什么的,并且知道为什么它要运行。
在某些情况下,这可能要求你了解哪些服务对你是非常重要的,这样你才不会犯下诸如在一个微软Windows计算机上关闭RPC服务这样的错误。不过,关闭你实际不用的服务总是一个正确的想法。
5、使用数据加密
对于那些有安全意识的计算机用户或系统管理员来说,有不同级别的数据加密范围可以使用,根据需要选择正确级别的加密通常是根据具体情况来决定的。
数据加密的范围很广,从使用密码工具来逐一对文件进行加密,到文件系统加密,最后到整个磁盘加密。通常来说,这些加密级别都不会包括对boot分区进行加密,因为那样需要来自专门硬件的解密帮助,但是如果你的秘密足够重要而值得花费这部分钱的话,也可以实现这种对整个系统的加密。除了boot分区加密之外,还有许多种解决方案可以满足每一个加密级别的需要,这其中既包括商业化的专有系统,也包括可以在每一个主流桌面操作系统上进行整盘加密的开源系统。
6、通过备份保护你的数据
备份你的数据,这是你可以保护自己在面对灾难的时候把损失降到最低的重要方法之一。数据冗余策略既可以包括简单、基本的定期拷贝数据到CD上,也包括复杂的定期自动备份到一个服务器上。
对于那些必须保持连续在线服务不宕机的系统来说,RAID可提供自动出错冗余,以防其中一个磁盘出现故障。
诸如rsync和Bacula等免费备份工具可以把任意复杂级别的自动备份方案整合在一起。诸如Subversion之类的版本控制工具可以提供灵活的数据管理,因此你不仅能够在另一台计算机上进行备份工作,而且你能够不用费事的让多台计算机的系统可以对同一个数据保持同步。通过这种方式来使用subversion,让我在2004年我的工作笔记本的硬盘损坏的情况下,数据幸免于难,这也说明了对关键数据进行定期备份的重要性。
7、加密敏感通信
用于保护通信免遭窃听的密码系统是非常常见的。针对电子邮件的支持OpenPGP协议的软件,针对即时通信客户端的Off The Record插件,还有使用诸如SSH和SSL等安全协议维持通信的加密通道软件,以及许多其他工具,都可以被用来轻松的确保数据在传输过程中不会被威胁。
当然,在个人对个人的通信中,有时候很难说服另一方来使用加密软件来保护通信,但是有的时候,这种保护是非常重要的。
8、不要信任外部网络
在一个开放的无线网络中,例如在你本地具有无线网络的咖啡店中,这个理念是非常重要的。如果你对安全非常谨慎和足够警惕的话,没有理由说在一个咖啡店或一些其他非信任的外部网络中,你就不能使用这个无线网络。但是,关键是你必须通过自己的系统来确保安全,不要相信外部网络和自己的私有网络一样安全。
举个例子来说,在一个开放的无线网络中,使用加密措施来保护你的敏感通信是非常必要的,包括在连接到一个网站时,你可能会使用一个登录会话cookie来自动进行认证,或者输入一个用户名和密码进行认证。还有,确信不要运行那些不是必须的网络服务,因为如果存在未修补的漏洞的话,它们就可以被利用来威胁你的系统。这个原则适用于诸如NFS或微软的CIFS之类的网络文件系统软件、SSH服务器、活动目录服务和其他许多可能的服务。
从内部和外部两方面入手检查你的系统,判断有什么机会可以被恶意安全破坏者利用来威胁你的计算机的安全,确保这些切入点要尽可能的被关闭。在某些方面,这只是关闭不需要的服务和加密敏感通信这两种安全建议的延伸,在使用外部网络的时候,你需要变得更加谨慎。很多时候,要想在一个外部非信任网络中保护自己,实际上会要求你对系统的安全配置重新设定。
9、使用不间断电源支持
如果仅仅是为了在停电的时候不丢失文件,你可能不想去选择购买UPS。实际上之所以推荐你使用UPS,还有更重要的原因,例如功率调节和避免文件系统损坏。由于这种原因,确保使你的操作系统能够提醒你它什么时候将关闭,以免当电源用尽的时候你却不在家中,还要确保确保一个提供功率调节和电池备份的UPS。
一个简单的浪涌保护器还不足以保护你的系统免遭“脏电”的毁坏。记住,对于保护你的硬件和你的数据,UPS都起着非常关键的作用。
10、监控系统的安全是否被威胁和侵入
永远不要认为:因为你已经采取了一系列安全防护措施,你的系统就一定不会遭到安全破坏者的入侵。你应该搭建起一些类型的监控程序来确保可疑事件可以迅速引起你的注意,并能够允许你跟踪判断是安全入侵还是安全威胁。我们不仅要监控本地网络,还要进行完整性审核,以及使用一些其他本地系统安全监视技术。
根据你使用的操作系统不同,还有很多其他的安全预防措施。有的操作系统因为设计的原因,存在的安全问题要大一些。而有的操作系统可以让有经验的系统管理员来大大提高系统安全性。不过,无论你的使用的是像微软的Windows和苹果的Mac OSX,还是使用的像Linux、FreeBSD等开源操作系统,当你在加固它们的安全的时候,以上建议都是必须牢记心头的。