Ошибка 12204 при доступе к ресурсам через TMG
У меня на работе используется софтварный брандмауэр именуемый, как Forefront Threat Management Gateway (7.0.9193.575)
на Server 2008 R2 SP1 Enterprise
и довольно таки неплохо справляется со всем наложенным функционалом в защите локальной сети как из вне, так и из нее. Конечно в будущем он будет заменен на pfSense
2.4.4
, а пока работаем с тем что есть. В процессе работы была обнаружена ошибка доступа на ресурс который представляется из себя https://IP&DNS:PORT
который перенаправляется на другой ресурс, т.е. работает вот такая вот схема:
(Проброс порта)
https://<WAN_IP>:48446 -> https://172.33.33.25:8006 (Debian 10 + Proxmox 6)
но TMG
не понимает и блокирует соединение, а в логах ошибки.
Данная заметка есть практическое решение дабы схема выше работала — у меня работает.
Шаг №1:
Заходим на сервер с установленным TMG
с правами Domain Admins
и через VBS
скрипт который создаем для начала получаем какие порты зарезервированы для политики WebProxy
:
notepad.exe -> list.vbs
и сохраняю в каталог c:\tmp
(это у меня, у вас может быть все по-другому)
12345678910 | Dim rootSet root = CreateObject(“FPC.Root”)Dim isaArrayDim tpRangesDim tpRangeSet isaArray = root.GetContainingArray()Set tpRanges = isaArray.ArrayPolicy.WebProxy.TunnelPortRangesFor Each tpRange In tpRangesWScript.Echo tpRange.Name & “: ” & tpRange.TunnelLowPort & “-” & tpRange.TunnelHighPortNext |
Результат запуска скрипта выше:
12345 | c:\tmp>cscript list.vbsMicrosoft (R) Windows Script Host Version 5.8Copyright (C) Microsoft Corporation. All rights reserved.NNTP: 563-563SSL: 443-443 |
Шаг №2:
Чтобы добавить нестандартный порт для подключения через SSL, т.е. к примеру у меня настроено, что при доступе https://<WAN_IP>:48446 я попадаю на https://172.33.33.25:8006, а следовательно и не работает правило обработки SSL трафика. Об этом как раз и говорит ошибка
Log type: Web Proxy (Forward)
Status: 12204 The specified Secure Sockets Layer (SSL) port is not allowed. Forefront TMG is not configured to allow SSL requests from this port. Most Web browsers use port 443 for SSL requests.
Source: Internal (<MY_IP_COMP>:60977)
Destination: <LOCAL_IP_GW>:48446
Request: <WAN_IP>:48446
Filter information: Req ID: 0b499041; Compression: client=No, server=No, compress rate=0% decompress rate=0%
Protocol: SSL-tunnel
User: anonymous
Failed Connection Attempt SRV-GW 04.02.2020 16:04:08
Log type: Web Proxy (Forward)
Также точно такая же ошибка при обращении к внешней базе neo4j один из сотрудников:
Status: 12204 The specified Secure Sockets Layer (SSL) port is not allowed. Forefront TMG is not configured to allow SSL requests from this port. Most Web browsers use port 443 for SSL requests.
Source: Internal (<MY_IP_COMP>:64405)
Destination: <LOCAL_IP_GW>:7687
Request: a731ac9d.databases.neo4j.io:7687
Filter information: Req ID: 0b4ae578; Compression: client=No, server=No, compress rate=0% decompress rate=0%
Protocol: SSL-tunnel
User: anonymous
Шаг №3:
Создаю vbs скрипт (ssl_port.vbs) со следующим содержанием:
1234567 | Dim rootDim tpRangesDim newRangeSet root = CreateObject(“FPC.Root”)Set tpRanges = root.GetContainingArray.ArrayPolicy.WebProxy.TunnelPortRangesset newRange = tpRanges.AddRange(“SSL 48446”, 48446, 48446)tpRanges.Save |
После запускаю его:
12345678910111213141516171819 | c:\tmp>cscript ssl_port.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. c:\tmp>cscript list.vbs Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. NNTP: 563-563 SSL: 443-443 SSL 7687: 7687- 7687 SSL 48446: 48446-48446 |
Шаг №4:
После нужно перезагрузить сам сервер для активации изменений.
Шаг №5:
Проверяю, открываю браузер и уже спокойно обращаюсь на https://<WAN_IP>:48446 && к базе neo4j.
На этом практическая заметка завершена. С уважением автор блога Олло Александр aka ekzorchik.