Как обезопасить небезопасное устройство в ненадежной сети через веб-прокси?
Вот моя ситуация: у меня есть сетевое устройство с интерфейсом веб-страницы, и разработчики этого устройства, по своей мудрости, не включили какой-либо контроль доступа или шифрование для веб-интерфейса - т.е. в той же локальной сети может указать свой веб-браузер на http://the.ip.address.of.this.device
и немедленно начните контролировать это (потенциально нежелательно) способами.
В то же время у меня есть клиент, который хочет развернуть это устройство, чтобы он мог управлять им через общедоступную / ненадежную сеть WiFi (например, из гостевой сети Wi-Fi своего бизнеса). Чтобы избежать несанкционированного доступа к этому устройству, он (вполне разумно) хочет, чтобы веб-интерфейс устройства использовал шифрование https/TLS, и он хочет, чтобы веб-страница запрашивала пароль перед предоставлением доступа.
Учитывая, что я не могу (легко) обновить прошивку на этом устройстве, моя идея решить эту проблему состоит в том, что вместо того, чтобы помещать это устройство непосредственно в локальную сеть, я добавлю внешнее прокси-устройство в локальную сеть и подключите мое незащищенное устройство только ко второму порту Ethernet на прокси-устройстве. Тогда у меня может быть какое-то программное обеспечение для веб-прокси, работающее на прокси-устройстве, например, когда клиент выполняет аутентификацию https
подключение через Wi-Fi к прокси-устройству, оно будет пересылать это соединение (как незашифрованное /http:
подключение) к небезопасному устройству.
Кажется, что это будет работоспособное (если не изящное) решение; мой вопрос, как обычно это делается? т.е. нужно ли мне устанавливать свой собственный ПК с Linux и устанавливать и настраивать на нем программу-посредник для терминации TLS, или есть более простой способ сделать это? (Я спрашиваю, потому что все программное обеспечение, перечисленное на этой вики-странице, кажется, что оно предназначено для крупных бизнес-задач, то есть тысяч одновременных клиентов, и кажется, что это может быть излишним для этого варианта использования, где количество одновременных клиентов будет варьироваться от нуля до, может быть, двух снаружи, и каждый клиент будет выполнять только очень легкие операции)