A proxy server is a server placed in the middle of the communication between a user and a server that offers a certain service. The client (user) makes requests to the proxy server and the proxy server makes requests on behalf of the user to a Web server, for example. After the proxy server receives the response from the Web server, it sends the result back to the client. This process is depicted in Figure 21.4 below:
Figure 21.4 – Proxy Server Operations
Proxy servers offer the following benefits:
- Access control: controls client access to specific services
- Caching: the most frequent requests are cached on the proxy, which can respond without interrogating the Web server
- URL filtering: limits the websites users can access
- Content scanning: the response from the Web server can be scanned for malicious or unauthorized content
Proxy servers can be set up in multiple ways:
- Forward proxy
- Reverse proxy
- Open proxy
With forward proxy, an end-user on the internal network communicates with a proxy server on the internal network. The proxy server then makes a request to public servers on the Internet and then sends the information back to the end-user, as illustrated in Figure 21.5 below:
Figure 21.5 – Forward Proxy
With reverse proxy, you may have users on the Internet who want to access an internal enterprise Web server. In order to avoid direct access to the Web server (for security reasons), you can install a proxy server between the two endpoints that will forward the client requests to the internal server and then reply to the public users, as illustrated in Figure 21.6 below:
Figure 21.6 – Reverse Proxy
Open proxy is placed on the Internet for anyone to use, as shown in Figure 21.7 below. It is often used for security reasons, for example, when a user does not want a public server to know that the request came directly from him. The user communicates with the server via the open proxy, which will exchange messages between the two parties. Users should trust the open proxy before using it because a malicious open proxy can act as a man-in-the-middle (attacker) between the user and the server and insert unwanted data when responding back to the client.
Figure 21.7 – Open Proxy



