Skip to main content

代理服务器

代理英语Proxy),也称网络代理,是一种特殊的网络服务,允许一个网络终端(一般为客户端)通过这个服务与另一个网络终端(一般为服务器)进行非直接的连接。一些网关路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。
提供代理服务的电脑系统或其它类型的网络终端称为代理服务器英文Proxy Server)。一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源(如:文件)。在后一种情况中,代理服务器可能对目标服务器的资源下载至本地缓存, 如果客户端所要获取的资源在代理服务器的缓存之中,则代理服务器并不会向目标服务器发送请求,而是直接返回缓存了的资源。一些代理协议允许代理服务器改变 客户端的原始请求、目标服务器的原始响应,以满足代理协议的需要。代理服务器的选项和设置在计算机程序中,通常包括一个“防火墙”,允许用户输入代理地 址,它会遮盖他们的网络活动,可以允许绕过互联网过滤。首先,事实是这样的程序,连接到互联网的用户。

代理协议

Socks

HTTP

功能

  1. 提高访问速度:通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时, 则直接由缓冲区中取出信息,传给用户,以提高访问速度。
  2. 控制对内部资源的访问:如某大学FTP(前提是该代理地址在该资源的允许访问范围之内),使用教育网内地址段免费代理服务器,就可以用于对教育网开放的各类FTP下载上传,以及各类资料查询共享等服务。
  3. 过滤内容:例如限制对特定计算机的访问,将一种语言的数据翻译成另一种语言,或是防御代理服务器两边的攻击性访问。
  4. 隐藏真实IP:上网者也可以通过代理服务器隐藏自己的IP,免受攻击。但是只一个代理很难保证安全,更安全的方法是利用特定的工具创建代理链(如:Tor)。
  5. 突破自身IP访问限制:访问国外站点。中国教育网和169网等网络用户可以通过代理访问国外网站。
  6. 突破内容过滤机制限制,访问被过滤网站。如防火长城对中国境内互联网访问的限制可通过使用代理服务器浏览而突破。但是每到国庆、两会等敏感时期,防火长城的封锁力度会大大加强,大多数代理服务器和代理软件都会无法连接。(如:Tor自由门无界浏览等)[1]

种类

根据协议区分

FTP代理服务器
主要用于访问FTP服务器,一般有上传、下载以及缓存功能。端口一般为21、2121等。
HTTP代理服务器
主要用于访问网页,一般有内容过滤和缓存功能。端口一般为80、8080、3128等。
SSL/TLS代理
主要用于访问加密网站,一般有SSLTLS加密功能(最高支持128位加密强度)。端口一般为443。
RTSP代理
主要用于Realplayer访问Real流媒体服务器,一般有缓存功能。端口一般为554。
Telnet代理
主要用于telnet远程控制(黑客入侵计算机时常用于隐藏身份)。端口一般为23。
POP3/SMTP代理
主要用于POP3/SMTP方式收发邮件,一般有缓存功能。端口一般为110/25。
SOCKS代理
只是单纯传递数据包,不关心具体协议和用法,所以速度快很多。一般有缓存功能。端口一般为1080。(SOCKS代理协议又分为SOCKS4SOCKS5,SOCKS4协议只支持TCP,而SOCKS5协议支持TCPUDP,还支持各种身份验证机制、服务器端域名解析等。简单来说:SOCK4能做到的SOCKS5都可以做到,但SOCKS5能做到的SOCK4不一定能做到)

根据匿名程度区分

高度匿名代理
高度匿名代理会将我们的数据包原封不动的转发,在服务端看来就好像真的是一个普通客户端在访问,而记录的IP是代理服务器的IP。
普通匿名代理
普通匿名代理会在数据包上做一些改动,服务端上有可能发现这是个代理服务器,也有一定几率追查到你的真实IP。代理服务器通常会加入的HTTP头有HTTP_VIA和HTTP_X_FORWARDED_FOR 。
透明代理
透明代理不但改动了我们的数据包,还会告诉服务器你的真实IP。这种代理除了能用缓存技术帮你提高浏览速度,能用内容过滤提高你的安全性之外,并无其他显著作用。(最常见的例子是:内网中的硬件防火墙
间谍代理
间谍代理指组织或个人创建的,用于记录用户传输的数据,然后进行研究、监控等目的代理服务器。

代理服务器与网络安全

对网络安全的贡献

它的内容过滤功能有利于防止骇客破坏电脑,保护电脑安全。
它的匿名功能可以帮助你隐藏真实IP,以免被骇客盯上。

对网络安全的破坏

它的匿名功能可以帮助骇客隐藏自己的真实IP,进行破坏,这样就加大了警方的取证难度。(较常见的做法是只挂一个代理,但是安全性更高的做法是用好 几台代理服务器串成“代理链”,或者入侵完成后将代理服务器的日志、缓存擦除掉。)还有一些恶意用户常常挂了代理之后随意留言,所以一些网站在用户使用代 理的时候可能会给你“禁言”。
它的中转功能在使用时,所有发往服务器的数据都基本全部明文,一个前文提到过的“间谍代理”就有可能记录下所有经过的数据(包括用户名密码),所以如果可能的话,需要通过代理传输用户名密码时尽量使用SSL、TLS等协议先行加密。

反向代理服务器

反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量。安装反向代理服务器有几个原因:
  • 加密和SSL加速
  • 负载平衡
  • 缓存静态内容
  • 压缩
  • 减速上传
  • 安全
  • 外网发布
维基百科使用开放源代码Squid代理服务器。

分布式代理服务器

利用私立的域名解释系统,让相应的代理服务器客户端自动以安全链接连接上相应的多台代理服务器服务端,从而实现相应的代理功能。[2]或通过特定的分布式网络,将客户端与相应的出口端创建成虚拟的路由网络,让不同的数据包通过该网络的不同节点和不同出口与外界链接。
此类软件较为著名的有Tor自由门无界浏览等。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...