通过在文件/目录、端口、日志、身份、堆栈、程序、服务、进程、注册表以及应用程序中采取预防措施,人们可以有效防止服务器资源被非法入侵,阻止针对主机发起的攻击,保障业务服务器正常运行。这里需要说明的是,文中所指的主机通常是指基于Windows或Unix的服务器。
提防溢出漏洞
自第一个溢出漏洞被利用以来,已经过去15年了,但是直到今天,溢出漏洞引发的安全事件还时常发生,并不断增加。根据权威机构发布的统计报告,溢出漏洞已占据所有已知安全漏洞的20%。SQL Slammer和MS Blaster都是利用缓冲区溢出漏洞进行攻击的典型。堆栈溢出保护工具可以防止大部分利用缓冲区溢出漏洞发起的攻击,防止攻击者在服务器上执行任意指令。
由于从安全漏洞被发现到被黑客所利用的时间间隔越来越短,所以及时修补漏洞和采取堆栈保护措施就成为人们防范这种攻击的关键,这还需要用户能够从设备厂商那里及时得到有关补丁程序的详细信息。
严格访问控制
当漏洞被利用时,其目标是获得超级用户特权或者系统访问权。对于人们来说,最大的威胁来自已知或未知的特权用户或者进程,即拥有进入系统VIP通行证的访问者或进程。
在分布式系统中,Windows的管理员以及Unix/Linux的根目录通常具有服务器的全面控制权,他们可以启动和终止进程和应用,添加、删除或者修改文件和账户。人们必须将超级用户对服务器的影响减少到最低程度,规定任何人都不能任意删除审计文件或关闭Web服务器,即使超级用户也不能对服务器进行任意操作。制定细粒度的访问控制规则可以防止有意或无意的服务器滥用,保障关键业务正常运行。
分布式平台的主机普遍缺少细粒度的访问控制。利用操作系统本身的安全性,人们很难实现以下细粒度的访问控制:某人只能在工作时间,使用某一终端访问职工工资文件,即使是超级用户请求访问该文件,也会检查该用户是否具有规定权限。这种访问规则可以保护关键文件、进程和应用,让得到授权的用户和进程获得使用系统的权利。市场上的访问控制工具能够提供细粒度的访问控制,帮助分布式平台的主机提高安全水平。
按照业务功能,服务器被分成Web服务器、数据库服务器、应用服务器以及其他类型。对主机采取预防性措施能够确保不同功能的服务器正常地提供网络服务。实现这一目标的办法就是规定服务器配置和执行程序不能被轻易改动,制定阻止安装未知软件的规则。目前大多数操作系统都没有提供这种水平的控制规则,人们可以利用辅助性访问控制工具建立和维护这种控制。
避免脆弱口令
打开大门的最快途径就是得到钥匙。如果钥匙很容易得到,大门就不会关闭很久。口令就好比是进入系统的钥匙,强有力的口令政策能够保护系统的安全性。一项好的口令政策包括长度要求、字符要求、有效期、历史清单和目录检查。正确管理、部署和执行口令政策是实现口令安全的最佳途径。此外,认证目录、多因素认证等技术也有助于保障口令安全。
总之,通过了解IT资产、业务价值,尤其是了解主机的安全状况并及时采取措施,人们可以防范大部分安全威胁。