MITM Proxy — как перехватывать пользовательские запросы в режиме обратного прокси изнутри/вне сервера веб-приложений

Я новичок в митме. https://mitmproxy.org/

На AppServer1 (сервере Windows 2016) работает наше веб-приложение IIS (WebApp1) (в настоящее время оно работает нормально, без каких-либо проблем). Я также добавил сертификат SSL, и он нормально загружается без каких-либо проблем. Chrome показывает, что ему доверяют (соединение защищено при навигации изнутри и снаружи сервера AppServer1, но в локальной сети. До сих пор мы не разрешили доступ пользователям Интернета пока приложение не будет полностью готово.)

У нас есть бизнес-требование, где

  • нам нужно перехватить весь трафик/запросы от пользователей извне AppServer1
  • и отправить их в другое созданное нами приложение (UserRequestDashboardApp),
  • и ТАКЖЕ нам нужен mitm, чтобы отправить его в WebApp1.

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

WebApp1 работает по адресу — customappservice1.com, порт — 443.

Затем я запустил mitm (версия 4.0.4) со следующей командой CMD

.\mitmdump -p 8080 --mode reverse:https://customappservice1.com

Я получаю статус прокси-сервера, прослушивающего http://*:8080

Кажется, я не вижу никакого трафика в терминале, когда я набираю customappservice1.com в браузере Chrome AppServer1 или в любом браузере сервера за пределами AppServer1. Страницы WebApp1 загружаются нормально извне и внутри сервера AppServer1, но нет трафика на терминале

Может ли кто-нибудь помочь мне захватить трафик на терминале в качестве начального шага перед отправкой трафика/запросов в UserRequestDashboardApp И WebApp1?

Я пытался запустить mitm в обычном режиме, и он отлично работает (в терминале я вижу трафик/запросы)

  • Я запустил mitm в CMD (там написано Прокси-сервер прослушивает http://*:8080)
  • I set the
    • Windows server proxy to = localhost
    • Порт = 8080

person BobAn82    schedule 26.08.2020    source источник
comment
Вы изменили внешние записи DNS, чтобы они указывали на сервер, на котором работает mitmproxy? В противном случае никто не будет использовать mitmproxy и напрямую подключаться к серверу. Обратите внимание, что в обратном режиме с HTTPS вы должны оснастить mitmproxy сертификатом сервера. Но ИМХО mitmproxy - неправильный софт для логирования запросов на продуктивной системе. Обычный способ был бы, например. использование NGINX для терминации SSL/TLS.   -  person Robert    schedule 27.08.2020
comment
Привет @Robert Большое спасибо за совет по поводу сертификата. На веб-сайте MITM ничего не сказано о необходимости использования сертификата .pem с обратным прокси-сервером. Я попробовал это с новой командой mitmdump -p 8080 --mode reverse:localhost --listen-host 0.0.0.0 --certs *=customappservice1.pem Затем я указал хост-файл внешнего сервера (server2) так, чтобы он указывал на AppServer1, когда я набираю customappservice1.com в браузере. Когда я перехожу с server2, я получаю сообщение об ошибке Not Found. Ошибка HTTP 404. Источник запроса не найден. Но терминал CMD показывает **GET localhost ‹‹404 not найдено 315b   -  person BobAn82    schedule 27.08.2020
comment
@ Роберт ... продолжение. ссылка. Могу ли я теперь отправлять полученные запросы в WebApp1, чтобы мы не видели сообщение Not Found. Ошибка HTTP 404. Источник запроса не найден. ошибка в веб-браузере server2. БОЛЬШОЕ СПАСИБО за вашу помощь до сих пор это очень ценится!   -  person BobAn82    schedule 27.08.2020


Ответы (1)


Вы пытались настроить свои запросы для использования адреса mitmproxy?

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

person Hydrocat    schedule 16.06.2021