web服务器主要面向互联网。所以它是企业众多信息化应用中最脆弱的。如今,企业中的WEB应用越来越多,尤其是逐渐成为其他信息应用的入口。比如作者所在的企业,将oa系统和邮件系统的入口绑定到WEB服务器上。所以WEB服务器的安全是作者众多作品中最重要的。
有许多方法可以提高WEB服务器的安全性。在这里,我给大家推荐三种方法。当然,仅仅靠这三种方法来保证WEB服务器的安全是远远不够的。但是,如果企业信息管理人员忽视了这三个方面,就很难保证WEB服务器的安全。
工具1:为WEB应用建立独立的服务器。
因为WEB服务器可能被攻击,概率远高于erp系统、办公自动化系统等应用服务器。因此,如果将这些应用放在WEB应用的同一个服务器上,薄弱的WEB服务器就会受到攻击,很有可能影响到erp等关键应用。
虽然OA系统的接口与企业中的WEB服务器绑定,但是OA系统和WEB应用仍然在不同的应用服务器上。这主要是为了方便员工从企业外部访问OA系统。这样做的好处是,当WEB服务被攻击无法使用时,大部分员工无法从企业外部访问OA系统;而不影响企业内员工的正常出入。
但是,作者以前也犯过类似的错误。当时由于资金短缺,企业将WEB服务器和ERP系统服务器部署在同一个服务器上。突然有一天,企业的WEB服务器遭到了不明人士的攻击。可能他们只是为了好玩,并没有对WEB服务器造成太大的伤害。只是CPU和内存利用率居高不下。当WEB服务器从外部网络断开时,它将恢复正常。但是,这使得同一服务器上的ERP应用程序无法工作。员工每输入一个销售订单,需要从原来的3分钟增加到30分钟。这么慢的速度显然是不能接受的。从这个事件中,笔者学到了一个道理,把企业内部应用放在WEB服务器上是非常不明智的做法。因为WEB服务器面向互联网,很容易被别人攻击。被攻击后,即使是企业内部的应用服务也会受到牵连。
所以首先要提醒大家的是,在部署服务器的时候,要确保WEB等面向互联网的应用服务和其他面向内部的应用服务部署在不同的服务器上。这不仅保证了WEB服务器的安全性,也提高了企业中其他应用服务的安全性。
工具二:事务日志,让你对WEB的运行状态了如指掌。
其实只要WEB服务器采取一定的保护措施,攻击是需要一个过程的,不是说短时间就能完成的。通常这种攻击的过程往往会在WEB服务器的事务日志中留下蛛丝马迹。例如,当非法攻击者通过密码字典破解工具尝试网站管理员的密码和口令时,会在web服务器的日志中留下记录。如果我们在事务审计中设置了用户密码输入错误的最大次数,当超过此最大次数时,服务器将在自己的日志中记录此信息。这时,如果网站管理员能够看到这条消息,就可以及时采取措施,比如修改复杂的密码,提高服务器的安全性。
因此,每个WEB服务器管理员都必须重视事务日志的重要性。同时,为了让事务日志发挥更大的作用,往往需要启用审计功能。通过将审计事件与系统日志相结合,日志服务器可以记录一些常见的攻击。从而为企业安全人员提供参考。否则,企业安全人员不会知道它是在哪里受到攻击的,因此无法及时做出反应。
但是,在攻击企业WEB服务之后,一些专家不会在事务日志上留下任何痕迹。这并不是说事务日志不起作用。但是因为他们会在组合攻击后修改交易日志的信息。例如,攻击者窃取管理员的用户和密码,然后访问企业网站中的机密信息。一般情况下,该访问记录会显示在事务日志中。但是,有些专家会在启动前修改交易日志。删除这些访问信息,或者更改访问者。使企业安全管理人员无法检查。为了防止他们更改事务日志文件,最好的方法是更改事务日志文件的路径并及时备份。因为我们不知道路径的确切位置,所以非法攻击者不可能通过攻击和修改日志来及时隐藏自己的踪迹。
我现在做的是改变WEB服务器日志的默认路径。并且每三个小时在不同的地方备份一次事务日志。同时,结合事件审计功能,当日志服务器捕捉到一些异常信息时,比如一个用户一直试图登录WEB服务器的管理站,它会将这个异常信息提交给企业管理者。通过对日志的管理,我们可以及时告知管理者WEB服务器的一些安全隐患。
所以在这里我要推荐给大家的第二个武器就是WEB服务器的日志管理。为了提高日志的安全性,管理员应该修改服务器日志的默认路径,并定期异地备份。同时结合其他功能,如安全审计、账号安全策略等,可以起到事半功倍的效果。
利器:代码,影响WEB服务器安全的最大杀手。
对于WEB服务器来说,代码是其安全性的最大杀手之一。许多WEB服务器已经被攻破,主要是由于不正确的代码设计。因此,管理WEB服务器的代码是确保WEB服务器安全的首要任务。
为了提高代码的安全性,网站开发者应该养成一些良好的代码编写习惯。
第一,不要直接使用网络上的代码。
有些开发者为了工作方便,会直接复制其他网友提供的代码。但是,不幸的是,天下没有免费的午餐。有些人免费提供这些代码,往往有着不可告人的秘密。比如现在网络上提供的一些电商平台和网站论坛代码,代码提供者很可能在代码中预留了后门。当他觉得有必要的时候,他很容易利用这个后门攻击他。因此,如果企业想在WEB服务器上实现一些关键应用,比如客户在线下订单,最好不要采用网络上现成的代码。只能借鉴,不能照搬。顶多自己开发。
第二种是添加新功能,而不是在WEB服务中。
随着企业的发展,WEB应用也在逐步完善。市场会提出一些新的需求。当开发人员在开发一个功能时,最好不要直接在WEB服务器上测试它。有条件的企业,最好配置专门的测试服务器,方便程序开发人员测试新功能。尤其是你把这个程序的开发外包给外面的企业,你不能为了方便直接让对方在现有的WEB服务器上测试。俗话说,人知面不知心。很可能对方会在你不知情的情况下植入木马。所以,防人不可少。企业新功能的开发和测试还是小心为好。
第三,尽量不要使用不安全的控件。
企业WEB应用不同于娱乐网站。企业门户强调快速性、稳定性和安全性;娱乐网站强调美、美、特效。娱乐网站为了吸引眼球,提高点击率,往往会使用更多的特效。出于这个原因,他们会在WEB服务上使用更多的控件来达到这种效果。然而,这些控件通常存在安全漏洞,这与WEB服务器的安全性背道而驰。例如闪光控制等。针对这种控制的攻击每天都可能在互联网上发生。也许有一天会落到企业头上。所以企业网站只追求稳定和安全,没必要用太多控件来达到特殊效果。
我推荐给你的第三个武器是做好代码安全设计,尽量减少不安全控件的使用。企业要追求稳定性,反映速度等等。过度采用控制与这两个目标背道而驰。