Forward proxy VS Reverse proxy

Forward proxy VS Reverse proxy

First of all, the word "proxy" describes someone or something acting on behalf of someone else.

In the computer realm, we are talking about one server acting on the behalf of another computer.

For the purposes of accessibility, I will limit my discussion to web proxies - however, the idea of a proxy is not limited to web sites.

FORWARD proxy

Most discussion of web proxies refers to the type of proxy known as a "forward proxy."

The proxy event in this case is that the "forward proxy" retrieves data from another web site on behalf of the original requestee.

A tale of 3 computers (part I)

For an example, I will list three computers connected to the internet.

  • X = your computer, or "client" computer on the internet
  • Y = the proxy web site, proxy.example.org
  • Z = the web site you want to visit, www.example.net

Normally, one would connect directly from

However, in some scenarios, it is better for on behalf of , which chains as follows: .

Reasons why X would want to use a forward proxy server:

Here is a (very) partial list of uses of a forward proxy server.

  • 1) X is unable to access Z directly because

    • a) Someone with administration authority over 's internet connection has decided to block all access to site .

      • Examples:

        • The Storm Worm virus is spreading by tricking people into visiting , so the system administrator has blocked access to the site to prevent users from inadvertently infecting themselves.

        • Employees at a large company have been wasting too much time on , so management wants access blocked during business hours.

        • A local elementary school disallows internet access to the web site.

        • A government is unable to control the publishing of news, so it controls access to news instead, by blocking sites such as . See TOR or FreeNet.

    • b) The administrator of has blocked .

      • Examples:

        • The administrator of Z has noticed hacking attempts coming from X, so the administrator has decided to block X's ip address (and/or netrange).

        • Z is a forum web site. is spamming the forum. Z blocks X.

REVERSE proxy

A tale of 3 computers (part II)

For this example, I will list three computers connected to the internet.

  • X = your computer, or "client" computer on the internet
  • Y = the reverse proxy web site, proxy.example.com
  • Z = the web site you want to visit, www.example.net

Normally, one would connect directly from

However, in some scenarios, it is better for the administrator of to restrict or disallow direct access, and force visitors to go through Y first. So, as before, we have data being retrieved by on behalf of , which chains as follows: .

What is different this time compared to a "forward proxy," is that this time the user does not know he is accessing Z, because the user only sees he is communicating with . The server is invisible to clients and only the forward proxy is visible externally. A reverse proxy requires no (proxy) configuration on the client side.

The client thinks he is only communicating with (), but the reality is that forwarding all communication ( again).

Reasons why Z would want to set up a reverse proxy server:

  • 1) Z wants to force all traffic to its web site to pass through Y first.
    • a) Z has a large web site that millions of people want to see, but a single web server cannot handle all the traffic. So Z sets up many servers, and puts a reverse proxy on the internet that will send users to the server closest to them when they try to visit Z. This is part of how the Content Distribution Network (CDN) concept works.
  • 2) The administrator of Z is worried about retaliation for content hosted on the server and does not want to expose the main server directly to the public.
    • a) Owners of Spam brands such as "Canadian Pharmacy" appear to have thousands of servers, while in reality having most websites hosted on far fewer servers. Additionally, abuse complaints about the spam will only shut down the public servers, not the main server.

In the above scenarios, has the ability to choose .

thanks to all of you for your comments and likes

回复
Shaima Alhammadi

Security Specialist- looking for new opportunities

9 年

Great post

回复
Fatima Al Hammadi

Sr. Specialist @Department of Government Enabelment

9 年

Great work

回复
Fatima AlAmri

Information Security Analyst

9 年

Great!

回复

Great topic and clear!

回复

要查看或添加评论,请登录

Saleh Alhaqbani的更多文章

  • How to inject your own shellcode manually into PE file

    How to inject your own shellcode manually into PE file

    I'm gonna explain to you how to inject your own shell code manually into legitimate app such as putty.exe Kindly…

  • Fuzzbunch framework

    Fuzzbunch framework

    I recorded this video to illistrate how to use fuzzbunch framework that is released on Friday, April 14, 2017 by shadow…

  • what is sandbox in computer security?

    what is sandbox in computer security?

    A sandbox is a tightly controlled environment where programs can be run. Sandboxes restrict what a piece of code can…

  • Client Side Attacks

    Client Side Attacks

    Client side attacks are probably the most insidious form of remote attack. A client side attack involves exploiting a…

    3 条评论
  • Penetration Testing vs Vulnerability Scaning

    Penetration Testing vs Vulnerability Scaning

    What is a vulnerability scan? Also known as vulnerability assessments, vulnerability scans assess computers, systems…

    9 条评论
  • Pivoting technique

    Pivoting technique

    Pivoting is a powerful technique that allows a hacker to access a private subnet within a network. For example, an…

    3 条评论
  • what is the purpose of DMZ network?

    what is the purpose of DMZ network?

    The general idea is that you put your public faced servers in the "DMZ network" so that you can separate them from your…

    6 条评论
  • Why salted hash is secured more than hash ?

    Why salted hash is secured more than hash ?

    ?????? ????? ???? ???? ??????? ????? ????? ?? ????? ?????? ??? ???? ????????? ????????? ?? ???? ??? ????????? ?????????…

    2 条评论
  • Dirty COW Linux Vulnerability

    Dirty COW Linux Vulnerability

    On October 19, 2016, a privilege escalation vulnerability in the Linux kernel was disclosed. The bug is nicknamed Dirty…

  • ???? ?????? ?????? ?? ?????? ??????? ????????? ???? ??? ?????????

    ???? ?????? ?????? ?? ?????? ??????? ????????? ???? ??? ?????????

    ???? ?????? ?????? ?????? ??????? ??????? https://twitmazeed.com/show/5Q8

社区洞察

其他会员也浏览了