基于IIS的信息安全策略
目录
一、 引言
二、 ISAPI Filter的作用机制
三、 ISAPI过滤器实现信息存储安全
四、 SSL实现信息传输安全
五、 结束语
正文
一、 引言
信息安全包括防止系统存储和传输的信息被故意或偶然地非授权泄露、更改、破坏或被非法的系统辩识和控制确保信息的保密性和可控性。 目前信息传输的途径主要是网络随着网络的开放性、互连性
和共享性程度的扩大使得网络的安全问题变得更加突出成为信息安全的重要环节[1]
在以Windows NT(包括Windows NT4.0 Windows 2000 Server系列 windows Server2003)为操作系统的服务器上通过Internet信息服务器(Internet Information Server IIS)程序为客户的请求提供服务。维护I IS信息安全的方法包括公共网关接口(Common GatewayInterface CGI) Internet服务应用编程接口(Internet ServerAPI ISAPI)的过滤器(Filter)程序和安全套接字(Security SocketLayer SSL)等。 CGI是最常用的方法可以实现基于IIS的信息存储和传输的安全用CGI编制的程序由IIS调用但运行在自己的进程内所以其运行的速度较慢。 ISAPI Filter主要实现信息存储的安全是以动态链接库的形式封装直接运行在IIS进程内运行速度较快。 SSL可以用于信息传输的安全直接集成在I IS中。将ISAPIFilter和SSL结合即可达到信息存储和传输的安全本文即通过这种方法实现基于IIS的信息安全。
二、 ISAPI Filter的作用机制
ISAPI是微软提供的基于Windows NT(包括Windows NT4.0Windows 2000 Server系列 windows Server2003)的Internet编程接口利用ISAPI编制的应用程序以动态链接库的形式封装直接运行在IIS进程中。 ISAPI实现的应用程序包括扩展和过滤器两种形式I SAP I扩展可以响应客户的请求执行非凡的功能而过滤器可以实现数据压缩、重定向、加密和身份验证等功能[2]
图1过滤器的作用机制
ISAPI过滤器运行在IIS的前端可以处理IIS提供的每一步服务。 ISAPI过滤器的作用机制如图1所示。过滤器在IIS进程启动时装载并运行GetFilterVison函数 GetFilterVison函数的目的是设置过滤器的优先级并将事件通知的关注点注册到过滤器。当系统中存在多个过滤器时需要通过设置优先级确定过滤器的执行顺序而事件通知的关注点是过滤器可以处理的服务。当客户请求服务时 IIS首先启动过滤器程序然后根据过滤器注册的关注点调用过滤器实现的事件处理函数。
三、 ISAPI过滤器实现信息存储安全
通过I SAP I过滤器可以对客户的身份进行验证控制访问的客户从而实现系统存储的信息安全。在I S AP I过滤器中验证客户身份需要注册的事件关注点是SF_AUTHENT I CAT I ON事件相应的事件处理函数是OnAuthenticat ion。客户在提交访问后 IIS启动新的线程为客户提供服务在IIS线程验证客户的身份前会首先查看过滤器中有无S F_AUTHENT I CAT I ON事件关注点若有则执行过滤器的
OnAuthenticat ion函数。所以可以通过OnAuthenticat ion函数在IIS线程前对客户的身份进行验证。
图2身份验证过滤器基本架构
IIS以HTTP的挑战/响应机制结合Windows NT(包括WindowsNT4.0 Windows 2000 Server系列 windows Server2003)的用户数据
库验证客户的身份而Windows NT(包括Windows NT4.0 Windows2000 Server系列 windows Server2003)的用户数目是有限的并且直接以NT用户访问存在着不安全的因素所以在过滤器中引入专用的用户访问数据库数据库中包含客户的密码和用户名以及对应的系统密码和用户名身份验证过滤器的基本结构如图2所示。
客户匿名访问时过滤器直接返回保证客户可以访问非保密的资源。当客户非匿名访问时过滤器查找用户数据库找到对应的系统密码和用户名并替代客户的密码和用户名然后在IIS中用替换的系统密码和用户名对客户的身份进行验证。采用这种方法使得客户输入的密码和用户名并不是系统真正的密码和用户名既保证了客户的数量又保护了系统的安全。
I SAP I身份验证过滤器运行在多线程的I I S进程中每一个线程都将调用过滤器程序而与数据库的连接很占系统的资源 当访问的客户超过一定的数量时可能会导致系统的崩溃。在实现时可以通过一段缓存解决这个问题具体方法是过滤器装载时在内存中开辟一段空间用以保存近来访问服务器的客户的密码和用户名以及对应的系统密码和用户名。在客户访问时过滤器先查找缓存中有无客户的密码和用户名若没有再查找数据库并将查找到的内容写入缓存中 由于查找缓存的时间及占用的资源远远小于对数据库的查找所以可以大大提高过滤器的执行效率。
I SAP I过滤器实现的过程中应注重的问题主要是内存泄漏和多线程。避免的方法在于选择支持多线程的数据库并且保证缓存的单线程访问以及释放占用的内存。
四、 SSL实现信息传输安全
图3 SSL会话过程
在Internet传输的所有数据都暴露于任何网络客户面前任何对通信进行监测的人都可以对通信的数据进行截取和修改。保证数据传输的保密性、完整性和安全性的要害在于防止网络的监听和篡改。 SSL技术为应用层间数据通信提供安全的途径它位于可靠的传输层之上为高层的应用提供透明的服务保证传输信息的隐私性、可靠性和用户的非否认性。
SSL通信分两个阶段连接阶段和数据传输阶段。在连接阶段建立安全连接一旦算法达成协议就交换密钥接着验证身份然后开始数据传输。在数据传输阶段信息传输到SSL时通过加密或解密后向下或向上传输。 SSL要求在客户端与服务器端建立通信渠道通信渠道的建立通过客户与服务器的握手来完成。具体过程如图3所示。
客户和服务器之间通过相互询问确定最终的加密算法。询问信息提供了建立安全渠道的重要信息。服务器端通过证书确定客户的身份然后发出确认和结束信息结束握手阶段开始正常的数据传输。数据在传输过程中被分解为许多信息 同时用会话密钥加密并使用数字签名。接收端在试图解密数据之前首先要验证数字签名[2]
在IIS中可以方便的通过SSL建立数据传输的安全性。服务器建立SSL链接之前必须安装证书。证书可以使用Microsoft CertificateServer生成。新密钥的创建通过IIS密钥治理器完成它会根据向导自动请求服务器上安装的Certificate Server生成证书。在密钥建成后需要通过IIS的控制台配置SSL可以配置的选项包括密钥设置、是否要求客户端证书以及客户端证书映射等。在这些设置完成后就可以实现信息传输的安全性。
五、 结束语
以ISAPI过滤器程序保护系统存储信息安全的方法采用DLL的形式运行在IIS进程中可以通过用户数据库和缓存扩充用户的数量并提高过滤器运行的效率。用SSL保护信息传输的安全是目前常用的也是较好的方法之一。本文将二者结合给出了基于IIS进程的信息安全策略通过作者在实际应用中的检验确定了方案的可行性。
参考文献
[1]罗军舟 《网络信息安全的技术和策略》 《科技进步与学科发展综合学术研讨会论文集》 1999年10月
[2] Lecond bragiki 《IIS4.0使用大全》 中兴业科技公司译人民邮电出版社1998年
易探云怎么样?易探云(yitanyun.com)是一家知名云计算品牌,2017年成立,从业4年之久,目前主要从事出售香港VPS、香港独立服务器、香港站群服务器等,在售VPS线路有三网CN2、CN2 GIA,该公司旗下产品均采用KVM虚拟化架构。目前,易探云推出免备案香港物理机服务器性价比很高,E3-1230 8 核*1/16G DDR3/SATA 1TB/香港BGP线路/20Mbps/不限流量,仅...
inlicloud怎么样?inlicloud(引力主机)主要产品为国内NAT系列VPS,目前主要有:上海联通NAT(200Mbps带宽)、宿州联通NAT(200Mbps带宽)、广州移动NAT(200Mbps带宽)。根据官方的说法国内的NAT系列VPS不要求备案、不要求实名、对中转要求也不严格,但是,禁止任何形式的回国!安徽nat/上海联通/广州移动/江门移动nat云主机,2核1G/200Mbps仅...
CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...