Web应用安全保障“六要素”(二)

  要素五:远程管理安全

  今天的大多数应用程序提供远程管理作为其功能的一部分, 关键它是安全的。如果攻击者设法渗透到管理设施,其他安全措施可以被破坏或绕过。各种原因证实需要远程管理:

  转移服务器:管理员需要一个接口来管理所有的转移Web服务器(那些属于组织系统的电脑,实际位于ISP)。

  外包服务:管理安全产品需要一些组织不具备的知识,所以他们经常将他们的整个安全管理外包给专门从事该领域的公司。为了节约成本,该公司需要通过互联网来管理所有的安全产品。

  物理距离:管理员可能需要管理组织中大量的计算机。有些组织跨越几栋建筑(或城市)进入计算机 ,是一个繁琐而耗时的任务。此外,物理访问可以被限制为实际的数据中心。

  使用Web界面进行远程管理

  使用Web界面来远程管理应用程序或计算机有许多的优点,但它也有成本,以及一些优缺点。以下为远程Web管理的一些优点:

  快速的开发时间:在开发,调试和部署方面,开发一个web界面比开发一个GUI客户端快。

  操作系统支持:可以通过浏览器从所有主要的操作系统访问Web接口(除非开发人员使用的特定操作系统解决方案,如ActiveX ,这只能在Windows上运行)。

  可访问性:一个Web界面可以从Internet上的任何位置进行访问。即使管理员不在办公室也可以进行管理。

  用户的学习曲线:管理员知道如何使用浏览器,因此管理员学习曲线会更短。

  虽然远程Web管理有一些缺点,但对于大多数管理员他们都微不足道。但还是应当注意:

  可访问性:因为Web管理可以从任何地方访问,因此黑客想要攻击也是可以的。

  浏览器控制:由于浏览器控制接口,攻击者不需要设计特殊的产品来控制GUI (可能很难逾越的) 。

  支持:基于Web的应用程序通常更易于支持和维护。

  验证基于Web的远程管理

  当连接到远程web管理界面,第一关要明确的是认证过程。如果验证较弱,攻击者可以绕过它控制应用程序或计算机。

  HTTP身份验证方法

  深入研究远程管理的问题,通过现有可用来验证HTTP连接目前的方法是非常重要的:

  基本身份验证:当一个页面需要基本身份验证,它回复到浏览器的错误代码为401 (未授权) ,并指定基本身份验证是必需的。浏览器使用BASE64的编码用户名和密码编码,并将其发送回服务器。如果登录成功,服务器返回代码200 ,这意味着一切顺利 。如果登录失败,则回复和以前相同的401错误代码。

  简要身份验证:简要身份验证通过由Web服务器提供的一个挑战,用MD5分解用户名和密码。

  安全套接层(SSL ): SSL可以被配置为要求提供客户端证书(可选),当他们有一个已知的证书的时候验证用户身份。

  加密的基本身份验证:基本身份验证可以与常规的SSL(安全套接层)结合起来使用。由此对包括BASE64编码(这是一种非常薄弱的编码,很容易被解码因此不是加密)的用户名及密码在内的整个会话进行加密。

  验证码:这是一个比较流行的方法用来验证人的另一端是一个人类。它通过展示一个被扭曲的人体图像的字母和数字,要求用户正确输入以达到验证目的。

  保护网络层面的远程管理

  安全登录到网络管理的服务器的最佳解决方案是要么使用常规SSL或者是加密的基本身份验证,其中常规SSL可以检查客户端证书(SSL同时还可以针对第三方证书权威机构来验证这个服务器是否就是你想要连接的那一个)。另一个选择是使用安全的自定义登陆(需要与服务器脚本一起实施),但这可能包含网络攻击。

  自定义远程管理

  网管会用GUI(图形用户界面)或者应用程序控制台来对一些程序进程远程控制,这种类型的程序包括SQL(数据库)服务器、交换服务器、防火墙和入侵检测系统(IDS)等等。一个应用也可能用探头控制客户端,一个IDS就可以做到。专有网络连接有一些安全问题需要解决(网络连接就是其中一个)。与网络远程管理一样,自定义远程管理也是既有优点也有缺点。

  自定义远程管理的优点:

  复杂的图形:有时控制台需要呈现的复杂图形在普通的网络管理界面中无法显示

  身份验证和加密:应用程序可以使用一个更强大验证方法或更强的加密方法来确保会话的安全(比如使用SSL不支持的更大的密钥长度)

  可用性:这种应用只能被专门的GUI来控制,攻击者必须要将这种专门的GUI安装在自己的电脑上(而进入和安装这种GUI都不一定能实现)

  虽然自定义的远程管理也有一些缺点,但他们对大多数管理员来说通常不是特别重要。然而,它们也值得注意:

  特定的操作系统:一些供应商要求用特定的OS来运行控制GUI,如果这种特定的OS没有被安装,管理者必须要自己安装(如果操作系统不是免费,管理者还需要花费额外的成本)。

  不可用性:只有装有GUI的电脑才可以管理该应用,如果管理员不在办公室,那么很有可能没有办法在其他电脑上管理该应用。

  要素六:会话安全

  客户端(GUI或者控制台)与应用程序之间的会话安全十分重要,否则,攻击者可能能够获取信息,窃取凭据,甚至进行重放攻击。如果会话被称为是不安全的,管理员可以很容易地通过VPN或安全隧道(SSH)将其传递到安全位置。

  有些应用程序使用操作系统的网络服务,如远程过程调用(RPC)或分布式组件对象模型(DCOM),它允许管理员添加数据的完整性,加密和身份验证。如果你不信任的操作系统安全的措施,你可以通过VPN连接来打通网络连接的通道。

  总的来说,就像Web应用程序的连接,如果是应用程序不支持的选项,我们不能强迫其安全通信。解决的办法是要么使用VPN或者通过一个安全会话(SSH)打通数据会话的通道。

 

上一篇:安卓防火墙 PS DroidWall

下一篇:Web应用安全保障“六要素”(一)