配色: 字号:
Web服务器(全文)
2021-11-11 | 阅:  转:  |  分享 
  
Web服务器(全文)

胡经国



本文根据大量在网上公开发表的有关资料编写而成,仅供读者进一步了解和研究参考。特此说明。



一、概述

公开资料指出,Web服务器ebServer),也称为WWWWorldWideWeb,万维网)服务器,主要功能是提供网上信息浏览服务。

Web服务器也称为Internet上的服务器是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。

Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上附带的信息会告诉浏览器如何查看该文件即文件类型。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流这就是人们常把它们称为HTTP服务器的原因。

Web服务器一般指网站服务器,可以向浏览器等Web客户端提供文档。你可以放置网站文件,让全世界浏览可以放置数据文件,让全世界下载。

Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。

资料显示,现在,Web服务器成为Internet上最大的计算机群Web文档之多、链接的网络之广,令人难以想象。在选择使用W服务器应考虑本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等FTP

?FTP(FileTransferProtocol,文件传输协议使得主机间可以共享文件。FTP使用TCPTransmissionControlProtocol,传输控制协议生成一个虚拟连接用于控制信息然后再生成一个单独的TCP连接用于数据传输。控制连接使用类似T协议在主机间交换命令和消息。文件传输协议是TCP/IP网络上两台计算机传送文件的协议。FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录。Telnet协议

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用elnet程序,用它连接到服务器。终端使用者可以在elnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个elnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。TCP/IP

TCP/IP(TransmissionControlProtocol/InternetProtocol,传输控制协议/互联网协议),是Internet最基本的协议。在Internet没有形成之前,世界各地已经建立了很多小型网络。但是,这些网络存在不同的网络结构和数据传输规则。要将它们连接起来互相通信,就好比要让使用不同语言的人们交流一样,需要建立一种大家都听得懂的语言,而TCP/IP就能实现这个功能。它就好比Internet上的“世界语”。

1983年1月1日,在因特网的前身(ARPA网)中,TCP/IP协议取代了旧的网络控制协议(NCP,NetworkControlProtocol),从而成为今天互联网的基石。二、原理

公开资料对Web服务器的原理作了以下介绍:

通俗的讲,Web服务器传送页面使浏览器可以浏览然而应用程序服务器提供的是客户端应用程序可以调用的方法。确切一点,你可以说Web服务器专门处理HTTP请求但是应用程序服务器是通过很多协议来为应用程序提供商业逻辑(BusinessLogic)。

Web服务器可以解析HTTP协议。当Web服务器接收到了一个HTTP请求,就会返回一个HTTP响应,例如送回一个HTML页面。为了处理这一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSPJavaServerPages)脚本,ervlets,ASPActiveServerPages)脚本,服务器端JavaScript,或者一些其它的服务器端技术。无论它们(译者注:脚本)的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。

要知道,Web服务器的代理模型(elegationModel)非常简单。当一个请求被送到Web服务器里来时,它只单纯把请求传递给可以很好处理请求的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端程序和返回(程序所产生的)响应的环境,而不会超出职能范围。服务器端程序通常具有事务处理(TransactionProcessing)数据库连接(DatabaseConnectivity)和消息(Messaging)等功能。

虽然Web服务器不支持事务处理或数据库连接,但它可以配置各种策略来实现容错性(FaultTolerance)和可扩展性(Scalability),例如负载平衡(LoadBalancing),缓冲(Caching)。集群特征(ClusteringFeatures)经常被误认为仅仅是应用程序服务器专有的特征。ervlets

Servlet(ServerApplet,全称JavaServlet,未有中文译文是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。从实现上讲,Servlet可以响应任何类型的请求但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。JavaScript

JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。



Web服务器应用程序服务器应用程序服务器(TheApplicationServer

根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP把商业逻辑暴露客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。商业逻辑

商业逻辑(BusinessLogic)企业运行并实现其商业目标的内在规律。一般是指网络编程三层或者多层模型中,介于用户界面层、数据库层之间的商业逻辑层,主要包括一些对提取出的数据进行处理和运算的算法在里面。应用程序服务器的客户端(包含有图形用户界面GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(programlogic)。正是由于这种逻辑取得了数据和方法调用的形式而不是静态HTML,因而客户端才可以随心所欲使用这种被暴露的商业逻辑。程序逻辑

程序逻辑是描述和论证程序行为的逻辑,又称霍尔逻辑。程序和逻辑有着本质的联系。如果把程序看成一个执行过程,程序逻辑的基本方法是先给出建立程序和逻辑间联系的形式化方法,然后建立程序逻辑系统,并在此系统中研究程序的各种性质。在大多数情形下,应用程序服务器是通过组件的应用程序接口API)把商业逻辑暴露给客户端应用程序的例如基于J2EEJava2PlatformEnterpriseEdition,Java2平台企业版)应用程序服务器的EJBEnterpriseJavaBean)组件模型。此外,应用程序服务器可以管理自己的资源例如看大门的工作(gate-keepingduties)”包括安全,事务处理,资源池和消息。就象Web服务器一样,应用程序服务器配置了多种可扩展和容错技术。EJB

EJB是EnterpriseJavaBean的缩写,直译企业JavaBean。一个Bean扮演着应用程序素材的角色。

JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组合可以快速的生成新的应用程序。对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重大的意义。

在J2EE里,EJB称为Java企业Bean,是Java的核心代码,分别是会话BeanSessionBean),实体BeanEntityBean)和消息驱动BeanMessageDrivenBean)。不带应用程序服务器的Web服务器

例如,设想一个在线商店(网站)提供实时定价和有效性信息。这个站点很可能会提供一个表单让你来选择产品。当你提交查询后,网站会进行查找并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器的情景和一个使用应用程序服务器的情景。观察一下这两情景的不同会有助于你了解应用程序服务器的功能。情景1:不带应用程序服务器的Web服务器

在种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求,然后发送给服务器端可以处理请求的程序。此程序从数据库或文本文件中查找定价信息。一旦找到,服务器端程序把结果信息表示成HTML形式,最后Web服务器会它发送到你的Web浏览器。简而言之,Web服务器只是简单地通过响应HTML页面来处理HTTP请求。情景2:带应用程序服务器的Web服务器

情景2和情景1相同的是Web服务器还是把响应的产生委托给脚本(译者注:服务器端程序)。然而,你可以把查找定价的商业逻辑放到应用程序服务器上。由于这种变化,此脚本只是简单调用应用程序服务器的查找服务,而不是已经知道如何查找数据然后表示为一个响应。这时当该脚本程序产生HTML响应时就可以使用该服务的返回结果了。

在此情景之中,应用程序服务器提供了用于查询产品的定价信息的商业逻辑。服务器的这种功能没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务时,此服务只是简单查找并返回结果给客户端。

通过从响应产生HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。

总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求而应用程序服务器则是通过处理定价和有效性请求来提供应用程序逻辑的

3、包含与独立配置

现在大多数应用程序服务器也包含了Web服务器这就意味着可以把Web服务器当作是应用程序服务器的一个子集。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署成这种功能(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。

相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求就不会影响应用程序服务器了)分开配置专门的Web服务器集群等等而且给最佳产品的选取留有余地。Web服务器和应用服务器的区别

通俗的讲,Web服务器传送页面使浏览器可以浏览而应用程序服务器提供的是客户端应用程序可以调用的方法。确切一点可以说,Web服务器专门处理HTTP请求应用程序服务器通过很多协议来为应用程序提供商业逻辑。下面,详细说明:Web型

Web服务器WebServer)可以解析HTTP协议。当Web服务器接收到一个HTTP请求,会返回一个HTTP响应,例如送回一个HTML页面。为了处理一个请求,Web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一些其它的程序例如CGI脚本,JSPJavaServerPages)脚本,ervlets,ASP(ActiveServerPages)脚本,服务器端JavaScript或者一些其它的服务器端技术。无论它们译者注:脚本的目的如何,这些服务器端程序通常产生一个HTML超文本标记语言的响应来让浏览器可以浏览。

企业W服务器是面向企业网络用户的信息交流平台Web服务器在企业生产管理过程中的应用越来越多是信息化应用的入口,一些应用系统都集成在W服务器上。要知道,Web服务器的代理模型非常简单。当一个请求被送到Web服务器里来时,它只单纯把请求传递给可以很好处理请求的程序译者注:服务器端脚本。Web服务器仅仅提供一个可以执行服务器端程序和返回程序所产生的响应的环境,而不会超出职能范围。服务器端程序通常具有事务处理数据库连接和消息等功能。

虽然Web服务器不支持事务处理或数据库连接,但它可以配置各种策略来实现容错性和可扩展性,例如负载平衡,缓冲。集群特征经常被误认为仅仅是应用程序服务器专有的特征。应用程序型

根据定义,作为应用程序服务器TheApplicationServer),它通过各种协议,可以包括HTTP把商业逻辑暴露给客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就像你调用对象的一个方法或过程语言中的一个函数一样。

应用程序服务器的客户端包含有图形用户界面GUI)的可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑。正是由于这种逻辑取得了数据和方法调用的形式而不是静态HTML客户端才可以随心所欲使用这种被暴露的商业逻辑。

在大多数情形下,应用程序服务器是通过组件的应用程序接口API)把商业逻辑暴露给客户端应用程序的,例如基于J2EEJava2Platform,EnterpriseEdition)应用程序服务器的EJBEnterpriseJavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如“看大门的工作gate-keepingduties)”包括安全事务处理资源池和消息。就象Web服务器一样,应用程序服务器配置了多种可扩展和容错技术。

四、Web文档分类

公开资料对“Web文档分类”作了以下介绍:

通常,根据确定文档内容的时间,所有Web文档可以划分为下三类静态Web文档

静态Web文档是一个存储于Web服务器的文件。静态文档的作者在写作的时候确定文档的内容。由于文档内容不会变化,对静态文档的每次访问都返回相同结果。

静态文档的主要优点在于简单、可靠性和性能。由于静态文档是直接指定格式它可以由不懂编程的人创建。更重要的是,在已经创建和测试之后,静态文档永远是正确的。最后,浏览器可以快速存取文档同时通过把文档放在本地盘上的缓冲区内以加快以后对这些文档的访问速度。

静态文档的主要缺点是不灵活当信息变化时文档必须重新设计。另外,改变是很耗费时间的,因为它需要人工修改文件。因此,静态文档不适合频繁变化的报告信息。动态eb文档

动态eb文档不是以一个预先定义的格式存在,而是在浏览器访问eb服务器时创建。当一个请求到达时,eb服务器运行一个应用程序创建动态文档,服务器返回程序的输出作为应答。由于每次访问都要创建新的文档,动态文档的内容是变化的。

动态文档的主要优点是它报告当前信息的能力。例如,一个动态文档可以用来报告股市行情、天气预报或音乐会售票情况等内容。当浏览器申请信息的时候,服务器运行一个应用程序,访问所需要的信息,并创建一个文档,服务器于是将该文档返回给浏览器。动态文档把任务放在服务器一端,浏览器采用和静态文档同样的方法访问动态文档。实际上,从浏览器的角度来看动态文档和静态文档是无区别的。由于动态文档和静态文档都采用HTML编写,浏览器不知道服务器是从一个磁盘文件还是计算机程序中取得文档。

动态文档的主要缺点是增加成本和不能显示变化的信息。和静态文档类似,动态文档在浏览器取得文档后不会再改变。因此在信息发送给浏览器之后,文档就开始过时。例如,一个报告股市信息的动态文档,由于股市信息变化迅速,当用户访问时文档很快就过时。动态文档的创建和访问成本比静态文档昂贵。创建动态文档的代价较高,因为动态文档的创建者必须懂得如何写程序。另外,程序必须仔细编写和广泛测试,以保证输出的合法性。验证这样一个程序的正确性是很困难的,因为输入可以包含不同来源的多种数据。动态文档除了创建成本高,所需的硬件成本也较高,因为服务器端需要更强大的计算机。最后取出动态文档需要的时间稍多些,因为服务器需要额外的时间去运行程序创建文档。尽管在申请到达时动态文档才创建,但信息可能很快过时。活动eb文档

一个活动文档不完全由服务器一端说明,而是包括一个计算并显示值的程序。当浏览器访问活动文档时,服务器返回一个浏览器可以本地执行的程序。当该程序运行时,它可以和用户交互执行并不停地改变显示。这样,活动文档的内容是不固定的只要用户让程序保持运行,它总是在不停地变化。

活动文档相对于动态文档的主要优点在于它持续更改信息的能力。例如,只有活动文档能够快速改变显示以显示动画。更重要的是,活动文档能够直接访问信息源并连续更改显示。例如,一个显示股市行情的活动文档可以连续读取股市信息,并且不需要用户干预而自动修改显示。

活动文档的主要缺点是创建和运行这种文档所需的额外费用,同时缺少安全性。首先,活动文档的显示需要更复杂的浏览器软件和一个强有力的计算机运行浏览器。另外,写正确的活动文档比写其他画面需要更多的编程技巧,所得到的结果文档更难于测试。而且,由于活动文档必须运行在客户端而不是服务器端,程序必须解决在不同客户上的兼容性问题最后,活动文档存在着潜在的安全性问题,因为文档既输入信息又输出信息。概括

Web文档根据文档内信息改变的时间可分为三类。静态文档的信息只有当作者修改时才会改变动态文档的信息在服务器端收到文档申请时改变活动文档显示的信息在文档下载到浏览器一端运行后改变。由于创建动态文档的责任在管理文档的服务器一端,支持动态文档也只需修改服务器。实际上,变化意味着扩展,管理动态文档的服务器也包含了处理静态文档的代码。

处理动态文档的Web服务器需要三个特性

首先,服务器程序必须扩展当每次请求到达时,能够执行一个单独的创建文档的应用程序。服务器必须编成能够捕获应用程序的输出,并且将该文档返回给浏览器。

其次,必须为每个动态文档写一个单独的应用程序。

最后,服务器必须配置成能够知道哪一个URL对应于动态文档和哪一个URL对应于静态文档。对每个动态文档,配置时必须说明产生文档的应用程序。每个申请包含着一个对应动态或静态文档的URL,服务器使用配置信息和收到的请求中的URL决定如何处理。如果配置信息说明申请中的URL对应着一个静态文档,服务器就跟往常一样取出文件。如果申请中的URL对应着动态文档,服务器选择生成该文档的应用程序,运行程序,并且把程序的输出作为文档返回给浏览器。URL

URL(UniformResourceLocator,统一资源定位符)是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。Web服务器

六、Web服务器安全安全防护

盗用账号、缓冲区溢出以及执行任意命令是Web服务器比较常见的安全漏洞。黑客攻击、蠕虫病毒以及木马是因特网比较常见的安全漏洞。口令攻击、拒绝服务攻击以及IP欺骗是黑客攻击比较常见的类型。随着网络技术的不断发展,Web服务器面临着许多安全威胁,直接影响到Web服务器的安全。因此,加强Web服务器的安全防护是一项迫切需要的解决的时代课题。者结合多年的工作实践,认为可从以下个方面入手来加强Web服务器的安全防护。加强Web服务器的安全设置

以Linux为操作平台的Web服务器的安全设置策略,能够有效降低服务器的安全隐患,以确保Web服务器的安全性主要包括:登录有户名与密码的安全设置、系统口令的安全设置、BIOS的安全设置、使用SSL通信协议、命令存储的修改设置、隐藏系统信息、启用日志记录功能以及设置Web服务器有关目录的权限等。BIOS

BIOS(BasicInputOutputSystem,基本输入输出系统其实,它是一组固化计算机内主板上一个ROMRead-OnlyMemory,只读存储器芯片上的程序,它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序它可从CMOS中读写系统设置的具体信息。其主要功能是为计算机提供最底层的、最直接的硬件设置和控制。

当今,此系统已成为一些病毒木马的目标。一旦此系统被破坏,其后果不堪设想。CMOS

CMOS(ComplementaryMetalOxideSemiconductor,互补金属氧化物半导体)是指制造大规模集成电路芯片用的一种技术或用这种技术制造出来的芯片。是电脑主板上的一块可读写的RAM芯片。因为可读写的特性,所以在电脑主板上用来保存BIOS设置完电脑硬件参数后的数据这个芯片仅仅是用来存放数据的。加强互联网的安全防范

Web服务器需要对外提供服务,它既有域名又有公网的网址,显然存在一些安全隐患。所以,可给予Web服务器分配私有的地址,并且运用防火墙来做NATNetworkAddressTranslation,网络地址转换可将其进行隐藏

同时因为一些攻击来源于内网的攻击,比如把内网计算机和Web服务器存放在相同的局域网之内,则在一定程度上会增加很多安全隐患所以必须把它划分为不同的虚拟局域网,运用防火墙的地址转换来提供相互间的访问这样就大大提高了Web服务器的安全性和可靠性

把Web服务器连接至防火墙的DMZemilitarizedZone,隔离区非军事化区端口,将不适宜对外公布的重要信息的服务器放于内部网络,进而在提供对外的服务的同时,可以最大限度地保护好内部网络。加强网络日常安全维护与管理

要对管理员用户名与密码定期修改要对Web服务器系统的新增用户情况进行定时核对,并且需要认真仔细了解网络用户的各种功能要及时给予更新Web服务器系统的杀毒软件以及病毒库,必要时可针对比较特殊的病毒给予安装专门杀毒程序同时要定期查杀Web服务器的系统病毒,定期查看CPU的正常工作使用状态、后台工作进程以及应用程序假若发现异常情况需要及时给予妥当处理因为很多木马与病毒均是运用系统漏洞来进行攻击的,所以需要不断自动更新Web服务器系统,以及定期扫描Web服务器系统的漏洞。

Web服务器现在已经成为了病毒、木马的重灾区。不但企业的门户网站被篡改、资料被窃取,而且还成为了病毒与木马的传播者。有些Web管理员采取了一些措施,虽然可以保证门户网站的主页不被篡改,但是却很难避免自己的网站被当作肉鸡,来传播病毒、恶意插件、木马等等。这很大一部分原因是管理员在Web安全防护上太被动。他们只是被动的防御。为了彻底提高Web服务器的安全,Web安全要主动出击。漏洞测试

现在的企业网站做的越来越复杂、功能越来越强。不过这些都不是凭空而来的,是通过代码堆积起来的。如果这个代码只供企业内部使用,那么不会带来多大的安全隐患。但是如果放在互联网上使用的话,这些为实现特定功能的代码就有可能成为攻击者的目标。天眼举一个简单的例子。在网页中可以嵌入SQL代码。而攻击者就可以利用这些SQL代码来发动攻击,来获取管理员的密码等等破坏性的动作。有时候访问某些网站还需要有某些特定的控件。用户在安装这些控件时,其实就有可能在安装一个木马(可能访问者与被访问者都没有意识到)。

为此在为网站某个特定功能编写代码时,就要主动出击。从编码的设计到编写、到测试,都需要认识到是否存在着安全的漏洞。天眼在日常过程中,在这方面对于员工提出了很高的要求。各个员工必须对自己所开发的功能负责。至少现在已知的病毒、木马不能够在你所开发的插件中有机可乘。通过这层层把关,就可以提高代码编写的安全性。

3、持续监控

冰冻三尺、非一日之寒。这就好像人生病一样,都有一个过程。病毒、木马等等在攻击Web服务器时,也需要一个过程。或者说,在攻击取得成功之前,他们会有一些试探性的动作。如对于一个采取了一定安全措施的Web服务器,从攻击开始到取得成果,至少要有半天的时间。如果Web管理员对服务器进行了全天候的监控在发现有异常行为时,及早采取措施,将病毒与木马阻挡在门户之外。这种主动出击的方式,就可以大大提高Web服务器的安全性。

现在维护的Web服务器有好几十个。现在专门有一个小组,来全天候监控服务器的访问。平均每分钟都可以监测到一些试探性的攻击行为。其中99%以上的攻击行为,由于服务器已经采取了对应的安全措施,都无功而返。不过每天仍然会遇到一些攻击行为。这些攻击行为可能是针对新的漏洞,或者采取了新的攻击方式。在服务器上原先没有采取对应的安全措施。如果没有及时的发现这种行为,那么他们就很有可能最终实现他们的非法目的。相反,现在及早的发现他们的攻击手段,那么我们就可以在他们采取进一步行动之前,就在服务器上关掉这扇门,补上这个漏洞。

在这里也建议,企业用户在选择互联网Web服务器提供商的时候,除了考虑性能等因素之外,还要评估服务提供商能否提供全天候的监控机制。在Web安全上主动出击,及时发现攻击者的攻击行为。在他们采取进一步攻击措施之前,就他们消除在萌芽状态。

4、设置“蜜罐”服务器

在军队中,有时候会给军人一些伪装,让敌人分不清真伪。其实在跟病毒、木马打交道时,本身就是一场无硝烟的战争。为此对于Web服务器采取一些伪装,也能够将攻击者引向错误的方向。等到者发现自己的目标错误时,管理员已经锁定了攻击者,从而可以及早的采取相应的措施。天眼有时候将这种主动出击的行为叫做蜜罐效应。简单的说,就是设置两个服务器其中一个是真正的服务器另外一个是蜜罐。现在需要做的是,如何将真正的服务器伪装起来,而将“蜜罐”推向公众。让攻击者认为“蜜罐”服务器才是真正的服务器。要做到这一点的话,可能需要从下几个方面出发。

⑴、一是有真有假,难以区分

如果要瞒过攻击者的眼睛,那么蜜罐服务器就不能够做太假。天眼在做蜜罐服务器的时候,80%以上的内容都是跟真的服务器相同的。只有一些比较机密的信息没有在蜜罐服务器上。而且蜜罐服务器所采取的安全措施跟真的服务器事完全相同。这不但可以提高蜜罐服务器的真实性,而且也可以用来评估真实服务器的安全性一举两得。二是需要有意无意将攻击者引向蜜罐服务器

攻击者在判断一个Web服务器是否值得攻击时,会进行评估。如评估这个网站的流量是否比较高。如果网站的流量不高,那么即使被攻破了,也没有多大的实用价值。攻击者如果没有有利可图的话,不会花这么大的精力在这个网站服务器上面。如果要将攻击者引向这个蜜罐服务器的话,那么就需要提高这个蜜罐服务器的访问量。其实要做到这一点也非常的容易。现在有很多用来交互流量的团队。只要花一点比较小的投资就可以做到这一点。三是可以故意开一些后门让攻击者来钻

作为Web服务器的管理者,不仅关心自己的服务器是否安全,还要知道自己的服务器有没有被人家盯上。或者说,有没有被攻击的价值。此时管理者就需要知道,自己的服务器一天被攻击了多少次。如果攻击的频率比较高,管理者就高兴、又忧虑。高兴的是自己的服务器价值还蛮大的,被这么多人惦记着忧虑的是自己的服务器成为了众人攻击的目标。就应该抽取更多的力量来关注服务器的安全。

5、攻防测试

俗话说,靠人不如靠自己。在Web服务器的攻防战上,这一个原则也适用。天眼建议,如果企业对于Web服务的安全比较高,如网站服务器上有电子商务交易平台,此时最好设置一个专业的团队。他们充当攻击者的角色,对服务器进行安全性的测试。这个专业团队主要执行如下几个任务测试Web管理团队对攻击行为的反应速度如可以采用一些现在比较流行的攻击手段,对自己的Web服务器发动攻击。当然这个时间是随机的。预先Web管理团队并不知道。现在要评估的是,Web管理团队在多少时间之内能够发现这种攻击行为。这也是考验管理团队全天候跟踪的能力。一般来说,这个时间越短越好。应该将这个时间控制在可控的范围之内。即使攻击最后没有成功,Web管理团队也应该及早的发现攻击行为。毕竟有没有发现、与最终有没有取得成功,是两个不同的概念。测试服务器的漏洞是否补上

毕竟大部分攻击行为,都是针对服务器现有的漏洞所产生的。现在这个专业团队要做的就是,这些已发现的漏洞是否都已经打上了安全补丁或者采取了对应的安全措施。有时候我们都没有发现的漏洞是无能为力,但是对于这些已经存在的漏洞不能够放过。否则的话,也太便宜那些攻击者了。宕机

公开资料对“宕机

1、概述什么叫做服务器宕机?

宕机(dangji)就是我们通常说的当机、死机。

宕机是台湾计算机术语,在大陆就叫当机,就是通常说的死机之所以叫宕机,应该是从英文音译过来的,即英文down”,就直接叫宕机了。通常这个时候网站是不能访问的,也就是说服务器出了问题。

宕机有两种不同的含义需要区别对待计算机主机死机

一般情况下指计算机主机出现意外故障而死机。服务器机

一些服务器例如数据库死锁也可以称为机一切服务器的某些服务挂掉了,就可以这么说。香港、台湾那边的人都叫当机,就是死机。比如2008年9月12日所说的MSN昨晚当机影响900万用户登陆原因仍不明其中当机就指的是MSN服务器维修等故障导致不能登录使用。这个是前中的当机的含义是完全不同的。服务器为什么会宕机?由操作员意向操作的重启——用于维护或更新服务器、部署机房或特殊情况等等。、非操作员本身意愿造成的重启——如供电欠压过载波动、震动、硬件质量热稳定性热敏度和抗干扰能力、资源冲突、DirectX文件的损坏、系统不完善或瓶颈问题、病毒、灰尘、散热不良等等原因而造成重启。.、由于用户访问量过大,造成资源耗尽,或者网站的数据超出空间限制范围大小也会出现宕机。重启服务器的好处

一般来说,如果是正常的重启是没有什么坏处相反,对于操作系统而言反而有好处。重启服务器可以清除内存碎片,重新优化软件调用级别,中断无用的网络端口等。、重启服务器对于服务器的保养有一定的作用,释放内存,缓解CPU压力。服务器运行时间长,会造成很多冗余的DLL程序,导致系统运行速度较慢。系统重启会使电脑恢复到默认加载状态,也就是说在还未重启时的很多应用程序进程都驻留在内存中,会使电脑变慢,重启后它们就没了。、还有就是有的一些对电脑的配置要重新启动后才能生效。、重启服务器可以使有些程序可以得到更新。重启服务器的危害、正在进行写硬盘操作时即硬盘灯在不停地闪动时断电或者强制重启,对硬盘的伤害最大。、热启动CTRL+ALT+DEL),对硬件上不会有损伤软件上有时会发生程序非法中止导致数据丢失的问题如果是冷启动直接开关电源,就会对硬件尤其是硬盘造成伤害。除非无法正常关机可以考虑热启动。、重启的突然来电会有大量电流涌入电源,反复进行会使机器寿命大大降低而且在硬盘正在读写的时候突然地断电也非常容易引起硬盘出现坏道从而损失数据。

系统管理员必须肩负起分析和判断Web服务器宕机原因的责任。需要解决如下的问题:是否是断电,发电机测试以及其他类似问题影响了整体物理环境?和Web服务器的通信是否已经完全被阻断,还是某些IP段依旧可以使用是否还可以管理服务器?日志中是否有异常记录?

这些只是少部分管理员们需要立即回答的问题在深入诊断问题之前,先解决上述问题。

有很多时候会陷入诊断高级问题的误区,分析各种可能的技术问题和疑难杂症。而实际上,退一步想,从宏观角度思考问题,可能解决已花费无数工时和成本却还未攻克的技术难题。例如,主机通电了吗,或者是否有人无意间碰掉了电源线?如果机器确实已经通电,但没有任何网络连接,需要检查网线或者光纤是否没有接上或者松动。是的,这些看似明显低级错误的解决方法,认为都不可能发生,但任何有经验的系统管理员会告诉你,这些状况的发生频率远比的要多多。

现在,已经检查了所有电缆和其他外围设备,可以试着使用ping命令来探测设备状况。幸运的是,ping命令是所有平台通用的,也是最简单的。如果可以在局域网内ping通服务器,接着可以试试从局域网外ping服务器进行检测。这样做可以迅速判断问题是否产生在交换和路由层面,而不是服务器级别。此外,如果Web服务器已经虚拟化,试着ping物理服务器自己的真实IP。这样可以帮助进一步隔离问题。如果完全无法ping服务器,而且也已经确定完全检查了网络连接,那么就需要进行更深入的分析了。ping命令

ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用ping命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格式ing空格IP地址。该命令还可以加许多参数使用,具体是键入ping按回车即可看到详细说明。服务器依然宕机

已经检查过网线。也试过了ping服务器,依旧无法访问服务器。好消息是,已经可以将问题定位到物理服务器或操作系统本身了。换句话说,已经可以开始集中对现存的问题进行排查。

接下来,才去从底层到高层的方式来逐层检查问题

首先检查网络接口和本地网络配置是否正常。DHCPDynamicHostConfigurationProtocol,动态主机配置协议是否启动?Web服务器是否指向正确的DNSDomainNameSystem,域名系统服务器?

如果是这样,那么可以根据使用的操作系统平台,检查Web服务是否正常开启。在Windows环境,需要检查服务器是否具有Web服务的角色。在Linux环境下,检查会更复杂,可以试试查找http相关的文件或服务来确保服务器是否正在运行。

如果以上方法都不奏效,检查日志并尝试查明在Web服务器宕机时日志中记录的那些信息。将这些信息发给在故障处理和解决领域更有经验的专业人士,可能会获得更多的帮助。同样,如果已经确认网络连接不是问题,就可以使用Wireshark抓包工具对网络中传输的数据进行抓取分析,以此协助处理问题。

总而言之,服务器宕机的原因多种多样。断电、配置错误、防火墙设置错误、甚至是来自互联网的恶意流量,都可能引发源站宕机并让系统管理员们抓狂。所有这些问题都足以让企业决策者对冗余解决方案的设计和实施加以重视同样的针对故障处理流程的设计和制定,还需要根据企业自身网络的实际情况为依据。

15







献花(0)
+1
(本文系胡经国原创)