Web应用服务弱点:不可靠的默认值
在Web应用程序设计时,为了提高用户的输入效率,会设置比较多的默认值。但是这些默认值是把双刃剑。即可以提高用户输入的速度,但是也会影响Web应用程序的安全性。举一个简单的例子。Web服务器的默认端口是什么?80。正确。这个信息只要稍微有点Web 知识的人都知道。
现在的问题是,大家都知道这个信息,那么攻击者就可以轻而易举的通过这个端口来进行攻击。如可以利用工具扫描80端口是否开启来判断服务器是否启用了Web服务。为此如果Web服务没有改变这个默认的端口值,那么就将导致很多安全问题。
再如,有些管理员在设置用户名与密码的时候,可能给用户的默认用户名为空或者跟管理员帐户相同的名字。虽然他们可能提醒用户需要尽快的去更改密码。但是根据笔者的经验,不少用户都没有这个安全意识。
可见,为Web应用程序设置默认值时,并不怎么可靠。为此笔者建议,对于一些关键的应用,如端口、管理员帐户名、密码等信息最好不要采用默认值。这会降低Web应用程序的安全性能。
Web应用服务弱点:关键信息没有采取加密处理
笔者以前研究过一款Compiere的ERP系统,其有B/S与C/S两种架构。在登陆的时候,需要用户输入用户名与密码。在输入这个信息的时候,密码采用了掩码的形式,这确实可以起到一定的保护效果。但是用户名在后台数据库中存储的,以及从网页客户端传输到应用服务器、数据库服务器的过程中,采用的都是明码的形式。
这也就是说,只要攻击者采用一些嗅探工具、或者攻破了数据库,那么对于这个应用来说,攻击者就可以畅通无阻的进行一些破坏行为。相反,如果我们对于这些关键信息都采取了加密处理。那么即使攻击者有了这些数据,对于他们来说,也是没用任何用处。
无论是在数据库服务器,还是在客户端的Cookies中,不直接存储没有加密的挂念信息(如密码或者其他私有数据),这是提高数据安全性的一个首要的原则。如果这些数据暴露了,但是所采用的加密方案将防止暴露用户的密码。
了解这个基本的原则之后,那么管理人员就需要关注,该选择使用哪种加密技术。选择的加密技术的不同,直接影响到Web服务的安全性。但是需要注意的是,加密技术也是一把双刃剑。一般来说,在同等条件下,加密级别越高,其需要的资源开销也就越大。简单的说,加密的级别与系统的性能是成反向变动的。
Web应用服务的弱点本文就为大家先介绍两个,更多的内容我们还会继续总结,与大家分享。欢迎大家阅读:解析Web应用服务弱点 下篇
【编辑推荐】