1.旁注:
旁注是一种入侵方法,在字面上解释就是-"从旁注入",利用同一主机上面不同网站的漏洞得到webshell,从而利用主机上的程序或者是服务所暴露的用户所在的物理路径进行入侵。
旁注入侵绝对需要权限的提升作为帮助,如果主机的设置是IIS单用户权限/禁止运行任意CMD命令的话,这样子旁注的入侵就成为了一大难题,没有了CMD的权限就很难进行旁注的信息搜集以及最主要的跨站式(文件夹)的入侵就不可能成功了,所以在得到webshell之后我们首先要确定的条件就是是否存在可执行任意CMD的权限/是否可以有FSO的权限,这两个就是旁注的首要条件。
为了更加清晰列表如下:
1、可执行任意CMD命令
2、可执行FSO
3、是否IIS单用户权限
用户的网站所在物理路径的确定,因为我们旁注的目的是借助其他的网站进入主机内部,得知目标的所在的文件夹路径,从而进入建立新的webshell。所以,我们要找寻目标的网站所在物理路径就必须要借助主机的程序或者是服务提供的信息。以下就是会暴露物理路径的地方:
1、SERV-U的用户配置文件ServUDaemon.ini(暴露用户的FTP密码以及网站的具体地址)
2、诺顿杀毒的日志(会暴露一些存在后门而又被查杀的网站路径)
3、IS的配置文件(整个暴露了主机的IIS设置以及ASP.DLL的问题)
4、黑匣子(整个黑匣子会暴露出很多关于HTTP的敏感信息)
工具:
旁注入侵的工具,要得到同一服务器的其他网站的域名就需要WHOIS(whois是用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。)帮忙,我们可以使用桂林老兵编写的Domain程序或者是whois.网站进行查找,国家级域名是不可以查询的,遇到这些问题可以将IP查找出来之后,直接WHOIS我们刚刚得到的IP地址就可以了。
WEBSHELL,至于如何得到我们需要的webshell,这个就看入侵的对象以及自身的能力来确定了,而webshell的选择可以选择老兵的asp站长助手以及砍客的C/S的ASP木马,进行整个旁注的主要webshell,首先查询主机的所开的服务以及是否禁止CMD/FSO的时候都可以在砍客木马身上得到我们所需要的答案,而老兵的木马因为在编写以及程序的使用都较为直观,特别是CMD的操作是最好的了。
危害:
旁注是一种新生的入侵手法,其杀伤力远远超过系统的漏洞,而且在旁注的过程中可以加插很多的手法,例如:权限的提升,木马的种植等等。但是这里一再的说明的就是旁注就是从旁注入,旁注是利用主机的信息而进行的跨站式入侵,而不是我们所看到所理解的提权,旁注不需要提权,提升权限就已经扭曲了旁注的真正意义,旁注是一种很局限的入侵手法,但是结合其他的入侵手法之后,就会成为其他各种各样的入侵艺术。
旁注的过程:
1.利用工具或者网站WHOIS你所要攻击的目标资料,得到关于网站的域名注册信息以及主机是否是虚拟主机的确定,因为这样子才可以从旁注入。
2.看服务器上面的所有网站程序,要理解熟悉每个程序的编写以及程序的功能(可以整天去源码站看源码,这样子你就会懂得如何去分别程序了)
3.利用现在所流行的所有漏洞来得到webshell
4.查看主机所开放的系统服务(这个办法是为了得到我们所要得到目标网站的路径)例如:Serv-u的用户配置文件(不是用来提升权限)IIS的用户配置文件(会泄漏大量用户路径的)杀毒软件的LOG(这个可是可遇不可求的)
5.在尽量不接触网站服务器的Admin权限下入侵(为了避免造成不必要的麻烦))。
2.C段渗透:
每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意回思就是拿下它同一C段中的其中一台服务器答,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务。
旁注与C段渗透区别:
- 旁注:同服务器不同站点的渗透方案
网站A无法渗透,可以通过旁注查询获取网站B及其他网站地址,渗透其他网站转而渗透A。权限足够的话,直接夸目录写SHELL,权限不够的话,尝试webshell提权获取服务器权限。
- C段:同网段不同服务器的渗透方案
旁注网站失效的情况(独立网站服务器或其他网站也渗透不成功),这时通过C段查询获取同网段上解析的站点进行渗透,再继续webshell提权获取服务器权限,再来进行内网渗透攻击目标网站服务器。
3.负载均衡(Load Balance):
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
分类:
1、软/硬件负载均衡
软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。
软件解决方案缺点也较多,因为每台服务器上安装额外的软件运行会消耗系统不定量的资源,越是功能强大的模块,消耗得越多,所以当连接请求特别大的时候,软件本身会成为服务器工作成败的一个关键;软件可扩展性并不是很好,受到操作系统的限制;由于操作系统本身的Bug,往往会引起安全问题。
硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。
负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。
2、本地/全局负载均衡
负载均衡从其应用的地理结构上分为本地负载均衡(Local Load Balance)和全局负载均衡(Global Load Balance,也叫地域负载均衡),本地负载均衡针对本地范围的服务器群做负载均衡,全局负载均衡针对不同地理位置、不同网络结构的服务器群做负载均衡。
本地负载均衡不需要花费高额成本购置高性能服务器,只需利用现有设备资源,就可有效避免服务器单点故障造成数据流量的损失,通常用来解决数据流量过大、网络负荷过重的问题。同时它拥有形式多样的均衡策略把数据流量合理均衡的分配到各台服务器。如果需要在现在服务器上升级扩充,不需改变现有网络结构、停止现有服务,仅需要在服务群中简单地添加一台新服务器。
全局负载均衡主要解决全球用户只需一个域名或IP地址就能访问到离自己距离最近的服务器获得最快的访问速度,它在多区域都拥有自己的服务器站点,同时也适用于那些子公司站点分布广的大型公司通过企业内部网(Intranet)达到资源合理分配的需求。
全局负载均衡具备的特点:
1、提高服务器响应速度,解决网络拥塞问题,达到高质量的网络访问效果。
2、能够远距离为用户提供完全的透明服务,真正实现与地理位置无关性
3、能够避免各种单点失效,既包括数据中心、服务器等的单点失效,也包括专线故障引起的单点失效。
部署方式:
负载均衡有三种部署方式:路由模式、桥接模式、服务直接返回模式。路由模式部署灵活,约60%的用户采用这种方式部署;桥接模式不改变现有的网络架构;服务直接返回(DSR)比较适合吞吐量大特别是内容分发的网络应用。约30%的用户采用这种模式。
1、路由模式(推荐)
路由模式的部署方式,服务器的网关必须设置成负载均衡机的LAN口地址,且与WAN口分署不同的逻辑网络。因此所有返回的流量也都经过负载均衡。这种方式对网络的改动小,能均衡任何下行流量。
2、桥接模式
桥接模式配置简单,不改变现有网络。负载均衡的WAN口和LAN口分别连接上行设备和下行服务器。LAN口不需要配置IP(WAN口与LAN口是桥连接),所有的服务器与负载均衡均在同一逻辑网络中。
由于这种安装方式容错性差,网络架构缺乏弹性,对广播风暴及其他生成树协议循环相关联的错误敏感,因此一般不推荐这种安装架构。
3、服务直接返回模式
这种安装方式负载均衡的LAN口不使用,WAN口与服务器在同一个网络中,互联网的客户端访问负载均衡的虚IP(VIP),虚IP对应负载均衡机的WAN口,负载均衡根据策略将流量分发到服务器上,服务器直接响应客户端的请求。因此对于客户端而言,响应他的IP不是负载均衡机的虚IP(VIP),而是服务器自身的IP地址。也就是说返回的流量是不经过负载均衡的。因此这种方式适用大流量高带宽要求的服务。
负载均衡算法:
介绍:
现有的负载均衡算法主要分为静态和动态两类。静态负载均衡算法以固定的概率分配任务,不考虑服务器的状态信息,如轮转算法、加权轮转算法等;动态负载均衡算法以服务器的实时负载状态信息来决定任务的分配,如最小连接法、加权最小连接法等。 [2]
分类:
1、轮询法
轮询法,就是将用户的请求轮流分配给服务器,就像是挨个数数,轮流分配。这种算法比较简单,他具有绝对均衡的优点,但是也正是因为绝对均衡它必须付出很大的代价,例如它无法保证分配任务的合理性,无法根据服务器承受能力来分配任务。
2、随机法
随机法,是随机选择一台服务器来分配任务。它保证了请求的分散性达到了均衡的目的。同时它是没有状态的不需要维持上次的选择状态和均衡因子[5]。但是随着任务量的增大,它的效果趋向轮询后也会具有轮询算法的部分缺点。
3、最小连接法
最小连接法,将任务分配给此时具有最小连接数的节点,因此它是动态负载均衡算法。一个节点收到一个任务后连接数就会加1,当节点故障时就将节点权值设置为0,不再给节点分配任务。
最小连接法适用于各个节点处理的性能相似时。任务分发单元会将任务平滑分配给服务器。但当服务器性能差距较大时,就无法达到预期的效果。因为此时连接数并不能准确表明处理能力,连接数小而自身性能很差的服务器可能不及连接数大而自身性能极好的服务器。所以在这个时候就会导致任务无法准确的分配到剩余处理能力强的机器上。
均衡技术:
常见的软件负载均衡技术有以下几种:
1、基于DNS的负载均衡
由于在DNS服务器中,可以为多个不同的地址配置相同的名字,最终查询这个名字的客户机将在解析这个名字时得到其中一个地址,所以这种代理方式是通过DNS服务中的随机名字解析域名和IP来实现负载均衡。
2、反向代理负载均衡(如Apache+JK2+Tomcat这种组合)
该种代理方式与普通的代理方式不同,标准代理方式是客户使用代理访问多个外部Web服务器,之所以被称为反向代理模式是因为这种代理方式是多个客户使用它访问内部Web服务器,而非访问外部服务器。
3、基于NAT(Network Address Translation)的负载均衡技术(如Linux VirtualServer,简称LVS)
该技术通过一个地址转换网关将每个外部连接均匀转换为不同的内部服务器地址,因此外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载均衡的目的。其中网络地址转换网关位于外部地址和内部地址之间,不仅可以实现当外部客户机访问转换网关的某一外部地址时可以转发到某一映射的内部的地址上,还可使内部地址的计算机能访问外部网络。
主要应用:
1、DNS负载均衡 最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。
2、代理服务器负载均衡 使用代理服务器,可以将请求转发给内部的服务器,使用这种加速模式显然可以提升静态网页的访问速度。然而,也可以考虑这样一种技术,使用代理服务器将请求均匀转发给多台服务器,从而达到负载均衡的目的。
3、地址转换网关负载均衡 支持负载均衡的地址转换网关,可以将一个外部IP地址映射为多个内部IP地址,对每次TCP连接请求动态使用其中一个内部地址,达到负载均衡的目的。
4、协议内部支持负载均衡除了这三种负载均衡方式之外,有的协议内部支持与负载均衡相关的功能,例如HTTP协议中的重定向能力等,HTTP运行于TCP连接的最高层。
5、NAT负载均衡NAT(Network Address Translation网络地址转换)简单地说就是将一个IP地址转换为另一个IP地址,一般用于未经注册的内部地址与合法的、已获注册的Internet IP地址间进行转换。适用于解决Internet IP地址紧张、不想让网络外部知道内部网络结构等的场合下。
6、反向代理负载均衡普通代理方式是代理内部网络用户访问internet上服务器的连接请求,客户端必须指定代理服务器,并将本来要直接发送到internet上服务器的连接请求发送给代理服务器处理。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。反向代理负载均衡技术是把将来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。
7、混合型负载均衡在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。将这种方式称之为混合型负载均衡。此种方式有时也用于单台均衡设备的性能不能满足大量连接请求的情况下。
4.反向代理:
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
定义:
随着网络技术与计算机的普及与发展,代理服务成为网上应用较多的形式。代理服务是指内部网络对Internet发出连接请求,需要制定代理服务将原本直接传输至Web服务器的HTTP发送至代理服务器中。换句话来说,代理服务就是网络信息的中转站。代理服务器作为浏览器与Web服务器之间的另一类服务器,配备代理服务器,浏览器无需直接至Web服务器获取网页,只需向代理服务器发出所需的请求,由代理服务器传送给访问者所需的浏览器。普通的Web代理服务器仅支持对内部网络的访问请求,反向代理服务与普通的代理方法并不存在明显冲突。如果一个代理服务器可以代理外部网络主机访问内部网络,这类代理服务模式称之为反向代理服务。因此,系统的防火墙中可以同时配备两种方式,反向代理用来服务外部网络访问,从而提供内部网络访问外部网络的能力。将反向代理功能与拒绝外部访问防火墙软件合理结合,从而构建一种既包含内部网络、也能向外部发布Web信息防火墙系统。反向代理功能可以提供全面的连接记录,从而提供预防、捕获信息的能力。 [2]
反向代理的工作原理是,代理服务器来接受客户端的网络访问连接请求,然后服务器将请求有策略的转发给网络中实际工作的业务服务器,并将从业务服务器处理的结果,返回给网络上发起连接请求的客户端。
工作方式:
通常的代理服务器,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。由于外部网络上的主机并不会配置并使用这个代理服务器,普通代理服务器也被设计为在Internet上搜寻多个不确定的服务器,而不是针对Internet上多个客户机的请求访问某一个固定的服务器,因此普通的Web代理服务器不支持外部对内部网络的访问请求。当一个代理服务器能够代理外部网络上的主机,访问内部网络时,这种代理服务的方式称为反向代理服务。此时代理服务器对外就表现为一个Web服务器,外部网络就可以简单把它当作一个标准的Web服务器而不需要特定的配置。不同之处在于,这个服务器没有保存任何网页的真实数据,所有的静态网页或者CGI程序,都保存在内部的Web服务器上。因此对反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了Web服务器的安全性。
反向代理方式与包过滤方式或普通代理方式并无冲突,因此可以在防火墙设备中同时使用这两种方式,其中反向代理用于外部网络访问内部网络时使用,正向代理或包过滤方式用于拒绝其他外部访问方式并提供内部网络对外部网络的访问能力。因此可以结合这些方式提供最佳的安全访问方式。
优点:
1)提高了内部服务器的安全
外部网络用户通过反向代理访向内部服务器,只能看到反向代理服务器的IP地址和端口号,内部服务器对于外部网络来说是完全不可见。而且反向代理服务器上没有保存任何的信息资源,所有的网页程序都保存在内部服务器上,对反向代理服务器的攻击并不能使真的网页信息系统受到破坏,这样就提高了内部服务器的安全性。
2)加快了对内部服务器的访问速度
在内部服务器前放置两台反向代理服务器,分别连接到教育网和公网,这样公网用户就可以直接通过公网线路访问学校服务器,从而避开了公网和教育网之间拥挤的链路。同时反向代理服务器的缓存功能也加快了用户的访问速度。
3)节约了有限的IP资源
校园网内部服务器除使用教育网地址外,也会采用公网的IP地址对外提供服务,公网分配的IP地址数目是有限的,如果每个服务器有分配-个公网地址,那是不可能的,通过反向代理技术很好的解决了IP地址不足的问题。
代理服务器:
如果您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在外部客户机看来就像是内容服务器。
当客户机向站点提出请求时,请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器(参见图1)。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何 URL,然后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。
这样,代理服务器就在安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的情况相对比,就算是侥幸攻击成功,作恶者充其量也仅限于访问单个事务中所涉及的信息。未经授权的用户无法访问到真正的内容服务器,因为防火墙通路只允许代理服务器有权进行访问。
可以配置防火墙路由器,使其只允许特定端口上的特定服务器(在本例中为其所分配端口上的代理服务器)有权通过防火墙进行访问,而不允许其他任何机器进出。
安全反向代理 当代理服务器与其他机器之间有一个或多个连接使用安全套接字层(SSL) 协议加密数据时,即会进行安全反向代理。
配置方法:
配置安全反向代理服务器的方法有三种:
Secure client to proxy。如果未经授权的用户很少或根本没有机会访问代理服务器与内容服务器之间交换的信息,则此方案很有效。
Secure proxy to content server。如果客户机在防火墙外部而内容服务器在防火墙内部,则此方案很有效。在此方案中,代理服务器可以充当站点之间的安全通道。
Secure client to proxy and secure proxy to content server。如果需要保护服务器、代理服务器和客户机三者间所交换信息的安全,则此方案很有效。在此方案中,代理服务器既可起到站点间安全通道的作用,又可增加客户机验证的安全性。
除了 SSL 之外,代理服务器还可以使用客户机验证,这种方法要求向代理服务器提出请求的计算机提供证书(或标识表单)以核实其身份。
资源保护措施
(一)反向代理服务器
反向代理服务器对外的表现是Web服务器,其主要的技术就是地址转换。通过反向代理,客户端计算机无需任何设置就可以使用数字资源。反向代理技术中每个Web服务器现代感与反向代理服务器的某个目录。反向代理可以把服务器的目录映射在需要进行代理的服务器上。但是,这种设置只能解决用户一次访问出现的问题,无法让用户借助反向代理连续访问。因此,必须借助正规表达式检测、替换所用的链接,达到借助反向代理实现连续访问的效果。
(二)访问控制
借助反向代理技术构建Web缓存,从而提升Web站点自身的安全性及访问速度。采用反向代理设置在原服务器前端,配备较大容量的内存及高速磁带,缓存用户的请求。反向代理服务器可以访问用户的源地址,从而拒绝非法用户恶意骚扰和访问。依据实现设置的控制策略及用户表或IP地址控制参数达到合理控制的目的。访问控制模式可根据服务器控制策略、IP地址等参数掌控代理服务器和Web资源控制系统的记录。用户源地址信息可采用accept函数获取,可以借助getpeername函数获得。进行配置文件时,把拒绝IP地址全部罗列出来,在启动反向代理服务器时读入其中,随之把用户源IP地址与列表内的地址进行比较,如果相同则拒绝该用户访问。为了节约内存并提升网速,对于IP地址列表使用子网/子网掩码的结构,从而使用子网/子网掩码对源IP地址进行连续性描述。因部分服务器无法合理管理用户控制和访问数,极易出现盗用信息资源的情况。
(三)流量计算
反向代理服务器及时统计流量的功能,因内部用户可以免费运用反向代理服务器,因此,反向代理服务器可以判定访问者是否为内部用户。如果是内部用户,则无需统计其所用流量。如果并非内部用户,及时读取客户端所发出的请求信息,统计其流量作为输入量。向客户端返回结果后,累计流量看做流出量。如果一次TCP之间的连接结束,把所累积的流量量或流出量进行存盘。因CERNET可以对国内、国外流入量实施相应的计费价格,因此,反向代理服务器可以区别所用国内流量或国际流量。服务器统计的流量数据采用二进制文件进行存盘,由专门的程序观看其数据信息。
(四)设置域名解析
Web服务器应用反向代理技术时,必须设置合理的域名解析,对于外界的网站域名服务器均解析为同一个IP地址,这些地址都指向代理服务的IP地址。同时,必须设置内部的DNS,通过Web服务器区分各种服务器。
反向代理和正向代理:
(1)正向代理和代理服务器
正向代理即通常所说的代理,用于代表内部网络用户向Internet上的服务器(或称外部服务器,通常为Web服务器)发出连接请求,并接收响应结果,执行该代理功能的服务器称为代理服务器。使用代理服务器访问外部网络时,客户端必须在局域网设置中指明代理服务器的地址以及要代理的服务的端口号。
(2)反向代理和代理服务器
反向代理的方向与正向代理相反,指代表外部网络用户向内部服务器发出请求,即接收来自Internet上用户的连接请求,并将这些请求转发给内部网络上的服务器,然后将从内部服务器上得到的响应返回给Internet上请求连接的客户:执行反向代理服务的服务器称为反向代理服务器,反向代理服务器对外部用户表现为一个服务器
5.CDN:
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。
链接如下:
https://blog.csdn.net/xiangzhihong8/article/details/83147542
阿里云介绍CDN:https://www.aliyun.com/product/cdn/
6.ngnix:
Nginx 的产生
Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifier)URI 或者统一资源定位符(Uniform Resources Locator)URL 作为沟通依据,通过 HTTP 协议提供各种网络服务。
然而,这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个 Web 服务器有着各自鲜明的特点。
Apache 的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多优点:稳定、开源、跨平台等等。
它出现的时间太长了,它兴起的年代,互联网产业远远比不上现在。所以它被设计为一个重量级的。
它不支持高并发的服务器。在 Apache 上运行数以万计的并发访问,会导致服务器消耗大量内存。
操作系统对其进行进程或线程间的切换也消耗了大量的 CPU 资源,导致 HTTP 请求的平均响应速度降低。
这些都决定了 Apache 不可能成为高性能 Web 服务器,轻量级高并发服务器 Nginx 就应运而生了。
俄罗斯的工程师 Igor Sysoev,他在为 Rambler Media 工作期间,使用 C 语言开发了 Nginx。
Nginx 作为 Web 服务器一直为 Rambler Media 提供出色而又稳定的服务。然后呢,Igor Sysoev 将 Nginx 代码开源,并且赋予自由软件许可证。
详细链接:https://blog.csdn.net/weixin_43695104/article/details/88034435
参考链接:
https://baijiahao.baidu.com/s?id=1652608869911988442&wfr=spider&for=pc
https://zhuanlan.zhihu.com/p/24396958 渗透测试--绕过cdn获取网站真实ip详解
http://www.91ri.org/6233.html 对某使用了CDN网站的渗透过程
7.常见的中间件:
1.一般本地开发的话,小项目,或者是个人开发建议使用tomcat。 2.linux系统建议使用jetty或apache hpptd 3.大型的项目就用JBOSS或webloigc
4.大项目或者商业项目一般采用:weblgoic/webshere,其他的还有jboss、glasshfish等 5.一些示例项目或者小项目常采用jetty
6.tomcat , jboss, weblogic, websphere 一般项目tomcat就可以了
IIS:
是互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。
IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
IIS是企业识别体系重要的有机组成部分,是互联网时代企业必须关注的并进行有效管理的领域。是企业在互联网上的名片,能让企业更好的拥抱互联网时代。
IIS日志是每个服务器管理者都必须学会查看的,服务器的一些状况和访问IP的来源都会记录在IIS日志中,所以IIS日志对每个服务器管理者非常的重要,seoer也不例外,这点同时也可方便网站管理人员查看网站的运营情况。
IIS的功能
IIS是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS支持一些有趣的东西,像有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW)。
其次,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,是在Windows NT Server上建立Internet服务器的基本组件。它与Windows NT Server完全集成,允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。I
IS(Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
在同一时间内允许打开的网站页面数,打开一个页面占一个iis,打开一个站内框架页面占2到3个iis;若图片等被盗链,在其它网站打开本站图片同样占一个iis。
假若设置e799bee5baa6e997aee7ad94e59b9ee7ad9431333431353339参数为50个iis,则这个站允许同时有50个页面被打开。但要在同一时间(极短的时间)有50个页面被打开,需要50个人同时操作,这个概率还是比较低的。所以,100个iis支持日ip1000(同时访问网站人数必定远低于1000人)以上都不是很大问题。
apache:
Apache Server配置界面
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。 [2]
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。当NCSAWWW服务器项目停顿后,那些使用NCSAWWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
Apacheweb服务器软件拥有以下特性:
1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持通用网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。https://baike.baidu.com/item/apache/6265?fr=aladdin
jboss:
是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
https://baike.baidu.com/item/Jboss
tomcat:
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为10.0.0-M3。
https://baike.baidu.com/item/tomcat
jetty:
Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。
https://baike.baidu.com/item/jetty/370234?fr=aladdin
webloigc:
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
WebLogic是美商Oracle的主要产品之一,是并购BEA得来。是商业市场上主要的Java(J2EE)应用服务器软件(application server)之一,是世界上第一个成功商业化的J2EE应用服务器, 已推出到12c(12.2.1.4) 版。而此产品也延伸出WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。
https://baike.baidu.com/item/weblogic/451978?fr=aladdin
websphere :
WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。
WebSphere Application Server 是该设施的基础,其他所有产品都在它之上运行。WebSphere Process Server 基于 WebSphere Application Server 和 WebSphere Enterprise Service Bus,它为面向服务的体系结构 (SOA) 的模块化应用程序提供了基础,并支持应用业务规则,以驱动支持业务流程的应用程序。高性能环境还使用 WebSphere Extended Deployment 作为其基础设施的一部分。其他 WebSphere 产品提供了广泛的其他服务。
WebSphere 是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和持久的接口,将现有资产插入 WebSphere,可以继续扩展环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。
WebSphere 是随需应变的电子商务时代的最主要的软件平台,可用于企业开发、部署和整合新一代的电子商务应用,如B2B,并支持从简单的网页内容发布到企业级事务处理的商业应用。WebSphere 可以创建电子商务站点, 把应用扩展到联合的移动设备, 整合已有的应用并提供自动业务流程。
https://baike.baidu.com/item/webSphere/301523?fr=aladdin
glasshfish:
GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。
https://baike.baidu.com/item/GlassFish/128419?fr=aladdin
hpptd:
httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。