web服务器有哪些?
常见的WEB服务器有:
1、ApacheApache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
2、IIS是英文InternetInformationServer的缩写,译成中文就是\"Internet信息服务\"的意思。
它是微软公司主推的服务器,最新的版本是Windows2008里面包含的IIS7,IIS与WindowServer完全集成在一起,因而用户能够利用WindowsServer和NTFS(NTFileSystem,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
3、GFEGoogle的web服务器,用户数量激增。目前紧逼iis。
4、Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
5、Lighttpd
是由德国人JanKneschke领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。
Lighttpd是众多OpenSource轻量级的webserver中较为优秀的一个。支持FastCGI,CGI,Auth,输出压缩(outputcompress),URL重写,Alias等重要功能。
6、Zeus是一个运行于Unix下的非常优秀的WebServer,据说性能超过Apache,是效率最高的WebServer之一。
7、Sun的Java系统Web服务器也就是以前的SunONEWebServer。主要出现在那些运行Sun的Solaris操作系统的关键任务级Web服务器上。
它最新的版本号是61,可以支持x86版本Solaris,RedHatLinux,HP-UX11i,IBMAIX,甚至可以支持Windows,但它的大多数用户都选择了SPARC版本的Solaris操作系统。
8、Resin提供了最快的jsp/servlets运行平台。在java和javascript的支持下,Resin可以为任务灵活选用合适的开发语言。Resin的一种先进的语言XSL(XMLstylesheetlanguage)可以使得形式和内容相分离。
扩展资料:
1、Apache服务器优缺点:
优点:小巧,灵活,可扩展,稳定;
缺点:软件开源,所以很多的漏洞可能很容易被人查找到。
2、Nginx服务器优缺点:
优点:压缩率高,支持负载均衡,速度快;
缺点:需要掌握熟练的Linux命令才能应用;
3、IIS服务器优缺点:
优点:安装配置简单,学习起来容易;
缺点:平台适用性单一,安全性有待提高。
4、WebLogic服务器优缺点:
优点:安全性高,专业性强,耦合度低;
缺点:不容易掌握,需要有一定的专业积累才能熟练应用。
第一步:选择系统平台
1 这里推荐 Windows Server 2003/32位,原因:该版操作系统成熟可靠,可用软件丰富,能支持超大内存;
2 安装操作系统时,请不要安装网上下载的Ghost版或精简版,不能安装有病毒的系统,否则可能前功尽弃。
第二步:部署所需环境
1 安装操作系统后,顺便安装好IIS和FTP,方便建立WEB和FTP用。(如果没有安装IIS,可以下载IIS组件自行安装);
2 如果需要ASP环境,请开启ASP运行条件;
3 如果需要SQL Server数据库,请安装对应软件,建议SQL Server 2005,根据自己的系统要求进行选择。
4 如果需要Net环境,请下载对应的Net安装包版本安装。
5 安装其他软件,如入侵防护系统,杀毒软件等。
第三步:配置所需安全
1 所需环境部署后,需要设置系统安全,包括磁盘权限和数据库,以及其他组件,这里2 设置磁盘权限,包括系统盘和其他磁盘;
3 变更系统账户,如将 Administrator 重命名,尽可能设置复杂密码。
第四步:配置管理工具
1 安装主机管理系统,建议安装免费,方便开设站点,并可方便备份和恢复的主机管理系统;
2 用主机系统开设站点,绑定域名,部署网页文件,测试能否正常访问;
3 安装其他主机管理软件,比如一些被控端,但注意做好权限设置工作。
第五步:部署运营监控
1 部署远程监控系统,如:代维系统,方便统一监控服务器状况,如IO、CPU、内存、带宽等使用情况,及时预警;
2 查杀网页木马,找出原来存在的网页木马文件,可以用:云查杀系统或入侵防护系统扫描,发现木马文件妥善处理;
3 入侵防护系统可以实时监控网页木马、畸形文件、远程登录、用户提权、防注入、进程限制、防篡改限制、非法内容生成控制等,推荐;
4 如果数据重要,建议安装安全套装,提高安全系数。
第六步:注意事项
1 不建议开启服务器上软件的自动升级功能,比如杀毒软件/输入法等,因为很可能破坏系统的安全体系;
2 不要在服务器安装不必要的软件,比如QQ,以及有些杀毒软件,特别消耗资源;
3 不要轻易在服务器上打开未知软件和客户网站,否则可能造成中毒;
4 其他影响服务器安全的事项。
众所周知,WebService访问API是公开的,知道其URL者均可以研究与调用。那么,在只允许注册用户的WebService应用中,如何确保API访问和通信的安全性呢?本文所指的访问与通信安全性包括:
访问安全性:当前访问者是注册合法用户
通信安全性:客户端与服务器之间的消息即使被第三方窃取也不能解密
本文安全的基本思路是:
注册用户登录时使用RSA加密
Web API调用参数使用DES加密(速度快)
Web API调用中包含一个身份票据Ticket
Web服务器保存当前Ticket的Session,包括:Ticket、DES加密矢量、注册用户基本信息
1 WebService身份验证
确保注册用户的访问安全,需要如下步骤:1)产生一个当前客户端机器票据(Ticket);2)请求服务器RSA公钥(RSAPublicKey);3)使用RSA加密登录口令及发布DES加密矢量(DESCipherVector)。
11 产生客户端机器票据Ticket
一般而言,可以由客户端机器根据自己的MAC、CPU序列号等唯一标识产生一个本机器的Ticket字符串票据,其目的是:唯一标识当前客户端,防止其它机器模仿本客户端行为。
12 请求服务器公钥RSAPublicKey
客户端携带票据Ticket向服务器请求RSA公钥RSAPublicKey。在服务器端,一般采取如下策略产生RSA加密钥匙:
Application_Start时产生一个1024或更长的RSA加密钥匙对。如果服务器需要长久运行,那么Application_Start产生的RSA可能被破解,替代方案是在当前Session_Start时产生RSA加密钥匙对
保存当前票据对应的客户帐号对象,即:Session[Ticket] = AccountObject,在确认身份后在填写AccountObject具体内容:帐号、RSA加密钥匙对、DES加密矢量
完成上述步骤后,服务器将RSAPublicKey传回给客户端。
13 加密登录口令及DES加密矢量
客户端获得RSAPulbicKey后,产生自己的DES加密矢量DESCipherVector(至少要8位及以上,该加密矢量用于以后的常规通信消息加密,因为其速度比RSA快)。接着,客户端使用RSAPublicKey加密登录帐号、口令及DESCipherVector,连同Ticket,发送到服务器并请求身份验证。登录API格式如下:
public void Login(string Ticket, string cipherLongID, string cipherPassword);
如果验证成功,服务器将当前帐号信息、RSA钥匙、DESCipherVector等保存到会话Session[Ticket]中。
2 WebService通信安全性
21 加密WebService API参数
身份确认后,在客户端调用的WebService API中,必须包括参数Ticket,其它参数则均使用DESCipherVector加密。服务器端返回的消息也同样处理。例如,提交一个修改email的函数定义为:
public void ModifyEmail(string Ticket, string cipherEmai);
22 客户端解密消息
客户端接收到服务器返回消息后,先做解密操作,如果成功则进入下步处理。否则抛出加密信息异常。
23 服务器端解密消息
服务器接收到客户提交的API请求后,首先验证Ticket的合法性,即查找Session中是否有该票据以验证客户身份。然后,解密调用参数。如果成功则进入下不操作,否则返回操作异常消息给客户端。
需要指出,如果第三方截获全部会话消息,并保留其Ticket,此时服务器端仍然认可这个第三方消息。但是,第三方不能浏览,也不能修改调用API的参数内容,此时解密参数时将抛出异常。
上面探讨了一个基于加密的WebService访问与通信安全方法,即使第三方获取消息,不能查看原始内容,也不能修改内容,保证了WebService API的安全性。
0条评论