Лайфхаки

Маленькие, полезные хитрости

В чем разница между прокси и обратным прокси. Что такое обратный прокси?

28.03.2022 в 04:55

В чем разница между прокси и обратным прокси. Что такое обратный прокси?

Хотя вышеперечисленное применимо только к клиентам, некоторые прокси также были разработаны для обеспечения конфиденциальности веб-серверов. Позвольте мне рассказать вам кое-что. Не только вам нужна конфиденциальность; веб-серверам это нужно, потому что они не знают, заслуживаете ли вы доверия или нет. Однако некоторые существуют по другим причинам.

Обратный прокси-сервер — это прокси-сервер, который принимает веб-запросы от имени веб-серверов. После получения запроса, основываясь на его конфигурации, он определяет, заслуживает ли запрос перенаправления на реальный сервер или нет.

При наличии обратного прокси-сервера вряд ли удастся напрямую поразить реальный сервер — это потому, что только IP-адрес обратного прокси является общедоступным. Это создает определенный уровень конфиденциальности для серверов.

Как работает обратный прокси

Обратные прокси немного отличаются тем , что они не работают для вас, они работают для веб-сайта. Это не прокси-серверы, которые помогают вам сохранять анонимность, и, по сути, их вообще нельзя использовать при обычном просмотре веб-страниц. Вместо этого это то, что компании и веб-сайты используют для защиты от различных типов подключений или для использования в качестве фильтров, брандмауэров или дополнительной безопасности.

По сути, веб-сервером может быть один сервер или их набор, но они не подключаются напрямую к Интернету. Вместо этого они подключаются к обратному прокси. Этот обратный прокси-сервер действует как веб-сервер. Вы как веб-браузер подключаетесь к сайту и просто видите прокси; вы не видите ни одного из серверов, стоящих за ним. Прокси-сервер притворяется веб-сервером, выполняя такие функции, как скрытие настоящего IP-адреса сервера.

Nginx реверсивный прокси. What is a Reverse Proxy?

A reverse proxy server lies between internal applications and external clients, relaying client requests to the appropriate server. The reverse proxy service serves as a front-end, handling all client requests and forwarding them to the back-end web, database , or other servers and then the client receives the response.

For a variety of reasons, you might want to set up a reverse proxy. One of the most important reasons is privacy.

A reverse proxy can assist balance loads between servers and enhance speed if you have numerous servers. A reverse proxy helps centralize logging and reporting across numerous servers since it provides a single point of contact for clients.

To know what a reverse proxy server is, you must first grasp its purpose and become familiar with all of the terms that go with it.

You can use a proxy server to forward all of your requests to it first if you wish to hide your IP address from the websites you visit. Your requests will be forwarded to the DNS resolver , which will subsequently retrieve the website's resources from the origin server.

It will then send those resources to your device. A forward proxy is what this is called. Because the website believes your request is coming from the forward proxy, you are absolutely invisible to it.

A forward proxy is primarily used to evade geographical content limitations, in addition to enhancing user privacy. If you wish to watch a movie that is blocked in your region, for example , you can use a forward proxy with an IP address where the video is available.

Reverse Proxy Server vs Forward Proxy Server

A reverse proxy server, similar to how a user or client might utilize a forward proxy to maintain anonymity and boost security, functions as a front for the origin server. It ensures that no user or client interacts with the origin server directly.

Although the distinction between a forward proxy and a reverse proxy is slight, they function differently.

Because there is no overlap in their functions, they can work together. Users/clients typically use a forward proxy, while origin servers typically use a reverse proxy.

Reverse Proxy habr. Постановка задачи


В ходе проведения пентестов и RedTeam кампаний не всегда удается воспользоваться штатными средствами Заказчиков, такими как VPN, RDP, Citrix и т.д. в качестве закрепления для захода во внутреннюю сеть. Где-то штатный VPN работает по MFA и в качестве второго фактора используется железный токен, где-то он жестоко мониторится и наш вход по VPN сразу же становится виден, как говорится — со всеми вытекающими, а где-то таких средств попросту нет.В подобных случаях постоянно приходится делать так называемые «обратные туннели» — соединения из внутренней сети к внешнему ресурсу или контролируемому нами серверу. Внутри такого туннеля мы уже можем работать с внутренними ресурсами Заказчиков.Существуют несколько разновидностей таких обратных туннелей. Самый известный из них, конечно же, Meterpreter. Так же большим спросом в народных хакерских массах пользуются SSH-туннели с обратным пробросом портов. Средств осуществления обратного туннелирования достаточно много и многие из них хорошо изучены и описаны.Конечно же, со своей стороны разработчики защитных решений не стоят в стороне и активно детектируют подобные действия.К примеру, MSF-сессии успешно детектируются современными IPS от Cisco или Positive Tech, а обратный SSH- туннель можно задетектить практически любым мало-мальским нормальным файерволлом.Следовательно, для того чтобы остаться незамеченным в хорошей RedTeam кампании — нам необходимо строить обратный туннель нестандартными средствами и максимально близко подстраиваться под реальный режим работы сети.Давайте попробуем найти или изобрести нечто подобное.Прежде чем что-то изобретать надо понять, какого результата мы хотим достичь, какие функции должна выполнять наша разработка. Какие же будут требования к туннелю, чтобы мы могли работать в режиме максимальной скрытности?Понятно, что для каждого случая такие требования могут сильно отличаться, но по опыту работы можно выделить основные:
  • работа на ОС Windows-7-10. Так как в большинстве корпоративных сетях используется именно винда;
  • клиент соединяется с сервером по SSL для исключения тупого прослушивания средствами ips;
  • при соединении клиент должен поддерживать работу через прокси-сервер с авторизацией, т.к. во многих компаниях выход в интернет происходит через прокси. На самом деле, клиентская машина может об этом даже ничего и не знать, а прокси используется в транспарентном режиме. Но такой функционал мы должны заложить;
  • клиентская часть должна быть лаконична и портабельна;
    Понятно, что для работы внутри сети Заказчика на клиентской машине можно установить OpenVPN и поднять полноценный туннель до своего сервера (благо что клиенты openvpn умеют работать через прокси). Но, во-первых, это не всегда получится, так как мы можем не быть там локальными админами, а во-вторых, это наделает так много шуму, что порядочный SIEM или HIPS тут же на нас «настучит куда надо». В идеале наш клиент должен быть так называемой inline командой, как например реализованы многие bash-шеллы, и запускаться через командную строку, например, при выполнении команд из word-макроса.
  • наш туннель должен быть многопоточным и поддерживать множество соединений одновременно;
  • соединение клиент-сервер должно иметь какую-либо авторизацию, чтобы туннель устанавливался только для нашего клиента, а не для всех, кто придет к нам на сервер по указанному адресу и порту. В идеале, для «сторонних пользователей» должна открываться лендинг-страница с котиками или профессионально тематикой, связанной с исходным доменом.
    Например, если Заказчиком выступает медицинская организация, то для администратора информационной безопасности, решившего проверить ресурс, на который обращался сотрудник клиники, должна открыться страница с фармацевтическими товарами, википедия с описанием диагноза или блог доктора Комаровского и т.д.

Reverse Proxy vs forward Proxy. Forward Proxy

Forward proxy can be used by the client to bypass firewall restrictions in order to visit websites that are blocked by school, government, company etc. If a website blocked an IP range from visiting the website, then a person in that IP range can use forward proxy to hide the real IP of the client so that person can visit the website and maybe leave some spam comments. However forward proxy might be detected by the website administrator. There are some paid proxy services that has numerous proxy systems around the world so that they can change your IP address every time your visit a new web page and this makes it harder for website administrators to detect.

Forward proxy was very useful and popular in the 1990s. Before NAT is integrated into network routers, forward proxy is the way for multiple computers in the same network to access the Internet. This type of forward proxy usually resides in the internal network.

Forward proxy can also act as a cache server in an internal network. If a resource is downloaded many times, then the proxy can cache the content on the server so next time when another computer downloads the same content, the proxy will send the content that is previously stored on the server to the computer.

There’re many different kinds of forward proxy such as web proxy , HTTP proxy, SOCKS proxy etc. Please keep in mind that using a forward proxy to browse the Internet usually slows down your overall Internet speed. That depends on the location between your computer and the forward proxy and how many people are using that forward proxy.

Another thing to be aware of is that there’re many free forward proxies which are built by hackers for malicious purpose. If you happen to be using one of these proxies, they will log every activity you do on the Internet.  So free in charge is actually very costly.

Reverse Proxy https. Introduction

Using a reverse proxy is a simple and convenient approach to allowing access to servers on your trusted network from external networks, such as the internet.

Much of its appeal comes from the fact it allows all your servers to remain hidden from the external networks and the user community. The diagram below shows a simple architecture that could be employed to achieve this. Of course, there are an almost limitless variety of configurations possible depending on your requirements and the products being used.

Reverse proxies provide a number of benefits in terms of security and maintenance, including the following.

  • The obvious point is none of your application or database servers are exposed to external networks directly, which is a good starting point when trying to build a secure solution.
  • URLs presented to users can be "pretty", rather than containing specific machine names, ports and long paths. A simple redirect would still expose the true URL, while a reverse proxy completely hides it from the user.
  • Following on from the previous point, users bookmark URLs. If that bookmark contains a specific machine name, then no matter how resilient you try to make your solution, they will go to their bookmark and think your site it down. Separating them from the physical implementation of your services make your apparent availability better.
  • From a security perspective, the less architectural information you expose to the outside world, the better. If hackers are presented the actual machine names and ports that are running a service, it makes it significantly easier for them to attack those services.
  • The fact the URLs no longer point directly to actual machines enables dramatic architecture changes to be hidden from users. A simple configuration change within the reverse proxy can direct all the workload to a new set of servers.