Лайфхаки

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

Прямой и обратный прокси-серверы. Обратный прокси: сторона сервера

20.06.2022 в 19:03

Прямой и обратный прокси-серверы. Обратный прокси: сторона сервера

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

На самом деле это ресурс, который активно используют веб-сайты для повышения скорости загрузки страниц. Настолько важно время загрузки сайтов, что, если пользователь воспринимает минимальную задержку, к моменту окончания загрузки медленной страницы… пользователь уже выбрал другой более быстрый сайт. Далее мы поделимся парой схем, которые очень практично иллюстрируют разницу между «нормальными» полномочие (или прямой прокси ) и обратный прокси (или обратный прокси ):

Обратный прокси-сервер расположен на стороне веб-сервера, так что он действует как посредник для всех веб-запросов от клиентов.

Прокси ( прямой прокси ) находится на стороне клиента, и можно сказать, что он также выступает в качестве посредника для облегчения доступа к веб-ресурсам.

Преимущества обратного прокси

Преимущества обратного прокси-сервера будут обобщены в увеличении производительности и безопасности веб-сервера. Теперь мы подробно процитируем, каковы преимущества:

  • Балансировка нагрузки : последний также известен как Балансировка нагрузки , Балансировка нагрузки позволяет миллионам пользователей быстро получить постоянный доступ к веб-ресурсу. Он состоит из распределения нагрузки веб-запросов на несколько серверов, и роль обратного прокси-сервера заключается в том, чтобы гарантировать, что каждый из них обрабатывает одинаковое количество запросов, чтобы избежать переполнения.
  • Защита от атак. Это возможно, поскольку фактический IP-адрес веб-сервера никогда не раскрывается. Обратный прокси-сервер затем действует как «маска» для реального веб-сервера, и все запросы направляются на него, а не на веб-сервер. Не зная своего IP-адреса, киберпреступники сталкиваются с большими трудностями при проведении таких атак, как DDoS , Даже если они хотят атаковать провайдеров обратного прокси-сервера или аналогичные сервисы, если вы действительно наняли одного из компании, известной своими услугами и компьютерной безопасностью, у них должны быть самые высокие стандарты безопасности и защиты от этих событий.
  • Кэш. Ранее мы упоминали, что прокси-серверы на стороне клиента могут выступать в роли сервера кэширования для часто посещаемых веб-ресурсов, чтобы максимально повысить удобство работы пользователей. Однако на стороне сервера это также применимо, особенно если исходные веб-серверы расположены в местах, очень удаленных от большинства пользователей веб-сайта.
  • SSL-шифрование. Это очень удобно применять. Поскольку обратный прокси-сервер сможет легко дешифровать все сгенерированные веб-запросы, и когда он получит ответ для клиента от исходного веб-сервера, он зашифрует их, чтобы он мог путешествовать и достигать его. И это удобно, так как экономит много ресурсов для веб-сервера и использует его другими способами для повышения производительности.

Обратный прокси-сервер kerio. настройка reverse proxy kerio

Configuring the reverse proxy

Why use the reverse proxy server in Kerio Control

Kerio Control forwards traffic to different servers based on the hostname. Kerio Control does not support directories.

Content filter rules are not applied to the reverse proxy traffic in Kerio Control .

Configuring the reverse proxy

To configure the reverse proxy, enable it in Kerio Control and add rules for particular web servers:

  1. In the administration interface, go to Proxy Server > Reverse Proxy .
  2. Select Enable Reverse Proxy .
  1. Click Add and create new rules for your servers, as described below.
  2. Arrange your rules using the arrows on the right side of the main window. Kerio Control examines rules from the top down. The last asterisk rule directs other traffic to the 4081 port ( Kerio Control Web Administration).
  3. In Settings , select a valid SSL certificate SSL certificates are used to authenticate an identity on a server. . You need the certificate for proper authentication of Kerio Control when using HTTPS protocol in rules. To avoid problems with browsers, use one SSL certificate with alternative DNS names as a default certificate, as described below.

Adding new rules

Each rule represents one web server behind Kerio Control .

  1. In the administration interface, go to Proxy Server > Reverse Proxy .
  2. Click Add .
  3. In the Reverse Proxy Rule dialog box, type the DNS name of the web server in the Host field.

Asterisk notation is allowed.

  1. Select the protocol of the server. You can select HTTP, HTTPS, or both. If you are using the HTTPS protocol, select a valid SSL certificate. You need the certificate for proper authentication of Kerio Control when using HTTPS protocol.

The SSL certificate must be created with a proper web server DNS name as a hostname.

  1. In the Server field, type the server’s private IP address. To secure the connection from Kerio Control to the web server (in the local network), select Use secured connection .
  2. (Optional) To use antivirus scanning on files uploaded to the web server, select Perform antivirus scanning .
  3. In the main window, click Apply .

Kerio Control can now use the new rule for your web server.

Configuring a traffic rule

To allow HTTP or HTTPS to the firewall, you must configure traffic rules:

  1. In the administration interface, go to Traffic Rules .
  2. Select the Web Services rule. If the rule is not available, create the rule to allow HTTP or HTTPS to the firewall, as shown in the figure below.

HTTP/HTTPS traffic is allowed.

Creating SSL certificates with alternative DNS names

If you configure the reverse proxy for your web servers, you can use just one certificate for all the web servers placed behind the reverse proxy.

To create an SSL certificate with alternative DNS names:

  1. In the administration interface, go to Definitions > SSL Certificates .
  2. Click Add > New Certificate or Add > New Certificate Request .
  3. In the New Certificate or New Certificate Request dialog box, type the name for the certificate.
  4. In the Hostname field, type the hostname of any of your web servers placed behind the reverse proxy.
  5. In the Alternative hostnames field, type the other web server hostnames.Use semicolon ( ; ) to separate the hostnames.
  6. You may type the City , , and select and of the certificate.
  7. Once you’ve created the SSL certificate with alternative DNS names, you can use it as a default certificate:

    1. In the administration interface, go to Proxy Server > Reverse Proxy .
    2. Change Default certificate to the certificate with alternative DNS names.

    Your result should be similar to what is shown below.

Обратный прокси-сервер iis. Inbound Traffic (Internet/O365 – > On-Premises)

When we refer to Inbound Exchange Traffic, from the Internet to on-premises, it usually means traffic for the usual Exchange clients such as Outlook Anywhere, EAS, OWA and EWS (users whose mailboxes are still on-premises). However in Hybrid scenarios we have additional requests for the Security Token Service (STS), or ADFS Proxy Servers by another name. Hence when configuring IIS ARR for inbound traffic we have to make sure that we add the necessary configuration required for the STS.

Follow the earlier articles (,and) which explain how to create the Web Farms and their corresponding URL Rewrite rules for the Exchange Services (Outlook Anywhere, OWA, EAS, AutoDiscover etc). For this example I have chosen the simplest implementation described in the previous blog posts (Option1) for the Exchange traffic.

Create a new Web Farm for your STS endpoints ( in my example and add each of your ADFS Proxy servers. This assumes that you have not setup any network load balancing between the ADFS Proxy servers, which is fine because we’ll be making use of IIS ARR’s load balancing capabilities to achieve load balancing and high availability of the ADFS Proxy servers.

Configure the properties of the Web Farm (sts.roopdemo.co.uk)

  1. –> Disable Disk Cache
  2. Health Test : There is no Health Check URL for ADFS and thus we need to create one so that IIS ARR can test for service availability of the ADFS service and make appropriate decisions in the event of a failure.
    1. Log on to one of the ADFS Proxy servers and create a HealthCheck.txt file on the ADFS Proxy server (in my example I do this at the root of the web site).
      1. On the ADFS Proxy server, open IIS Manager –> Default Web Site –> Explore
      2. Create a text file named HealthCheck.txt with the word Healthy in it.
      3. Repeat the above steps on all the ADFS Proxy servers.
    2. To verify that the HealthCheck.txt file renders properly, open the file in a Web browser.
    3. Once this is working, in IIS Manager expand the server node and select the sts.roopdemo.co.uk server farm.
    4. In the Server Farm pane, double-click Health Test .
    5. On the Health Test page, enter the following details:

      Make sure you enter the Healthy in the Response match box (response match is an optional test that searches the body of a response and looks for an expected string. Since the HealthCheck.txt file contains the word “Healthy,” the response match test will look for the word “Healthy”).

  3. Load Balance –> Choose “Least current request”. Here we are making use of IIS ARR’s L7 load balancing capabilities, to effectively load balance the ADFS traffic between the ADFS Proxy servers.
  4. Proxy –> Change the below two values. The actual value for these settings may need to be tweaked for your deployment, but these usually work well for a start.
    1. Time-Out: 300 seconds
    2. Response Buffer threshold: 0
  5. Routing Rules - Uncheck “Enable SSL Offloading”.
  6. Server Affinity - No changes required.

Обратный прокси-сервер Nginx. Как настроить Nginx в качестве обратного прокси для Apache

Веб-серверы Apache, Nginx можно использовать как по отдельности, так и в связке. Nginx обрабатывает данные быстро, но требует установки модуля PHP-FPM. Популярные CMS по традиции заточены под работу с Apache (из-за наличия .htaccess), но для его работы требуется больше ресурсов.

В статье покажем, как объединить их и использовать скорость Nginx для обработки фронтенда, а гибкость Apache — для бэкенда.

Перед настройкой убедитесь, что вы используете сервер, на котором установлена только ОС Ubuntu 16.04

1 этап. Установка и настройка Nginx

Рассмотрим, как установить и настроить Nginx для обработки фронтенда.

  1. 3.

    Скопируйте правила ниже и вставьте их в редакторе:

    server { listen 80; root /var/www/; index index.php; server_name example.com; location / { try_files $uri $uri/ /index.php$args; } location ~ \.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } location ~ /\. { deny all; } }

    Таким образом:

    • в качестве root установлен правильный веб-каталог;
    • index.php был добавлен в качестве index;
    • try_files пытается обслуживать любую страницу, которую запрашивает посетитель. Если Nginx не может, файл передается на прокси;
    • proxy_pass перед Nginx адрес для proxy;
    • последний блок location запрещает доступ к файлам к скрытым файлам.

    Эти правила нужны для настройки системы и перенаправления всех файлов с расширением .php на сервер Apache, если он будет использовать порт 8080.

  2. 4.

    Сохраните изменения и выйдите из редактора.

Proxy vs reverse proxy. The Reverse Proxy

What is a reverse proxy? As its name implies, a reverse proxy does the exact opposite of what a forward proxy does. While a forward proxy proxies on behalf of clients (or requesting hosts), a reverse proxy proxies on behalf of servers. A reverse proxy accepts requests from external clients on behalf of servers stationed behind it as shown below.

In our example, it is the reverse proxy that is providing file transfer services. The client is oblivious to the file transfer servers behind the proxy, which are actually providing those services. In effect, where a forward proxy hides the identities of clients, a reverse proxy hides the identities of servers.

An Internet-based attacker would find it considerably more difficult to acquire data found in those file transfer servers than if he didn't have to deal with a reverse proxy. This is why reverse proxy servers like JSCAPE MFT Gateway are very suitable for complying with data-impacting regulations like PCI-DSS .

Just like forward proxy servers, reverse proxies also provide a single point of access and control. You typically set it up to work alongside one or two firewalls to control traffic and requests directed to your internal servers.

In most cases, reverse proxy servers also act as load balancers for the servers behind them. Load balancers play a crucial role in providing high availability to network services that receive large volumes of requests. When a reverse proxy performs load balancing, it distributes incoming requests to a cluster of servers, all providing the same kind of service. So, for instance, a reverse proxy load balancing FTP services will have a cluster of FTP servers behind it, and will manage server load to prevent bottlenecks and delays.

Both types of proxy servers relay requests and responses between clients and destination machines. But in the case of reverse proxy servers, client requests that go through them normally originate over TCP/IP connections, while, in the case of forward proxies, client requests normally come from the internal network behind them.

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-макроса.
  • наш туннель должен быть многопоточным и поддерживать множество соединений одновременно;
  • соединение клиент-сервер должно иметь какую-либо авторизацию, чтобы туннель устанавливался только для нашего клиента, а не для всех, кто придет к нам на сервер по указанному адресу и порту. В идеале, для «сторонних пользователей» должна открываться лендинг-страница с котиками или профессионально тематикой, связанной с исходным доменом.
    Например, если Заказчиком выступает медицинская организация, то для администратора информационной безопасности, решившего проверить ресурс, на который обращался сотрудник клиники, должна открыться страница с фармацевтическими товарами, википедия с описанием диагноза или блог доктора Комаровского и т.д.

Nginx прямой прокси. Обратный прокси

Об агенте

Когда дело доходит до агентства, мы должны сначала прояснить концепцию: так называемое агентство - это представитель и канал;

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

Прямой прокси

Прежде чем говорить об обратном прокси-сервере, давайте посмотрим на прямой прокси-сервер. Прямой прокси-сервер также является наиболее часто используемой моделью прокси-сервера. Мы поговорим о модели обработки прямого прокси-сервера с двух сторон, от программного обеспечения и жизни. Чтобы объяснить, что такое прямой прокси

В сегодняшней сетевой среде, если нам необходимо посетить некоторые иностранные веб-сайты по техническим причинам, в настоящее время вы обнаружите, что нет доступа к определенному веб-сайту, расположенному за границей через браузер. В настоящее время каждый может использовать одну операцию FQ. Для доступа FQ-способ заключается в основном в поиске прокси-сервера, который может обращаться к иностранным веб-сайтам. Мы отправляем запрос на прокси-сервер, прокси-сервер переходит на иностранный веб-сайт, а затем передает полученные данные нам!

Вышеприведенный режим прокси называется прямым прокси. Самая большая особенность прямого прокси заключается в том, что клиент очень четко знает адрес сервера, к которому осуществляется доступ. Сервер знает только, с какого прокси-сервера поступил запрос, и не знает, с какого конкретного клиента он пришел. Режимы блокируют или скрывают реальную информацию клиента.

Прокси-сервер в организации. Необходимый функционал корпоративного интернет-шлюза


Интернет-шлюз организует бесперебойную работу в интернете всех работников фирмы, поэтому прокси-сервер, на базе которого он выполнен, должен обладать достаточным функционалом, удобным интерфейсом и возможностью гибкой настройки сети и прав доступа: VIP-пользователям обеспечить полный доступ к сети, а рядовым отрубить ВКонтакте и любимые форумы. Также важно легко управлять скоростью пользователей, устанавливать приоритеты для различных видов трафика (например, повысить приоритет IP-телефонии для обеспечения качественной связи и понизить для архивов). Не стоит забывать и о поддержке VPN и NAT. Крайне полезна возможность удаленного администрирования, чтобы львиную долю проблем с сетью можно было решать, не выходя из дома.Встроенный прокси-сервер помогает контролировать и экономить интернет-трафик: он позволяет анализировать запросы пользователей, загружаемые сайты и их элементы и действовать в строгом соответствии с установленными правилами. Обычно от интернет-шлюза требуются следующие функции фильтрации трафика:
  • наличие контентной фильтрации,
  • возможность фильтрации HTTPS,
  • назначение фильтров в зависимости по времени,
  • на определенные группы пользователей,
  • наличие готовых шаблонов для правил.
Часто используются системы каскадирования прокси, возможность перенаправления трафика разных пользователей на разные вышестоящие прокси, причем с разными способами и типами авторизации.Отдельно стоит сказать о статистике, которая для интернет-шлюза является не «третьим видом лжи», а важным источником информации о поведении пользователя. Благодаря статистике можно в любое время узнать, кто из пользователей забивает Интернет-канал, на каких ресурсах зависают сотрудники и когда пора блокировать сайты и резать лимит трафика.Прокси-сервер в организации. Необходимый функционал корпоративного интернет-шлюзаКроме того, интернет-шлюз обеспечивает защиту корпоративной сети от внешних воздействий. Особенно надежная защита важна в случае, когда по тем или иным причинам не только пользователи сидят под Windows, но и сам сервер (не будем разводить холивар на тему, почему под Windows, но практика показывает, так бывает весьма часто). В таком случае антивирус и фаервол необходимы как воздух. Также нужен модуль защиты от фишинга и, главное, прямые руки того, кто все это великолепие настраивает.Отдельная тема – наличие сертификатов безопасности, которые, во-первых, определенную безопасность гарантируют (абы кому их не выдают), а во-вторых, в случае наличия сертификата ФСТЭК, интернет-шлюз не вызовет подозрения в ходе «всеми горячо любимых» бюрократических проверок организации.