Вопрос или проблема
Я создаю сеть виртуальных машин Ubuntu, все на одном сервере ProxMox. Моя концепция заключается в том, чтобы иметь один или два (по началу только один) фронтальный обратный прокси. Его задача, в теории, заключается в том, чтобы принимать весь трафик на портах, открытых для интернета, и изменять порт на внутренний, а также расшифровывать тот трафик, который был зашифрован. Весь трафик внутри системы не зашифрован. В рамках этой фронтальной виртуальной машины установлена облегченная версия Postfix и Dovecot, которые действуют как клиентский вход для почты и SMTP-сервер для отправки почты клиентами, а также как почтовый реле для внутренних почтовых серверов. Письма, приходящие на порт 25 и не зашифрованные, должны быть перехвачены и отправлены в карантинный почтовый ящик на фронтальной виртуальной машине. HTTP-трафик должен быть перенаправлен на HTTPS, но, еще раз, весь HTTPS-трафик, проходящий через обратный прокси, должен быть незашифрован внутри системы и быть на внутреннем порту.
Моя проблема заключается в обратном прокси. Я попробовал несколько вариантов только для почтового трафика на данный момент, но у меня возникают постоянные проблемы с попытками отделить не зашифрованный трафик на порту 25 и потом расшифровать весь остальной трафик перед передачей его в Postfix для аутентификации и либо передачи принятой почты, либо обработки изначально не зашифрованного трафика на порт 25. Система будет иметь и другие виртуальные машины, использующие другие протоколы на более позднем этапе: например, SIP, потоковое аудио.
Так что мои вопросы таковы: Я пытаюсь сделать что-то, что выходит за рамки функционала обратного прокси? Если это функция обратного прокси, какое открытое программное обеспечение будет наилучшим образом подходить. Если это выходит за рамки функции обратного прокси, какие другие опции были бы рекомендованы для достижения желаемого результата.
Ответ или решение
Скрытие всей сети за обратным прокси: Подробный анализ и рекомендации
Создание сети виртуальных машин на базе Ubuntu на сервере ProxMox является актуальным решением для оптимизации сетевой инфраструктуры и повышения уровня безопасности. Ваш подход к использованию обратного прокси для управления трафиком и шифрования данных имеет множество преимуществ, но также сопряжён с рядом сложностей, особенно в части обработки почтового трафика и других протоколов. В данном ответе рассмотрим ключевые аспекты данного подхода, основные проблемы и возможные решения.
1. Понимание функций обратного прокси
Обратный прокси-сервер выполняет функции, связанные с маршрутизацией входящего трафика на внутренние серверы, обеспечивая дополнительный уровень безопасности и управления. Он может обеспечивать SSL-терминацию (шифрование и дешифрование трафика) и поддерживать перенаправление запросов, что позволяет эффективно управлять трафиком.
Подходящие функции:
- Шифрование и дешифрованиетрафика: Обратный прокси может принимать HTTPS-запросы, выполнять их расшифровку и передавать внутренним сервисам в незашифрованном виде.
- Маршрутизация трафика: Он будет направлять трафик на определённые внутренние порты в зависимости от типа запроса.
2. Проблемы с реализацией
Проблема с почтовым трафиком
Вы упоминаете сложность разделения незашифрованного трафика на порту 25 и его обработки. Это может быть обусловлено тем, что многие обратные прокси-серверы в первую очередь оптимизированы для работы с HTTP/HTTPS трафиком. Вот несколько аспектов, которые стоит учесть:
- Фильтрация и маршрутизация почтового трафика: Для обработки SMTP (порт 25) рекомендуется использовать специализированное ПО, такое как Postfix и Dovecot, в тандеме с обратным прокси.
- Карантин: Настройка маршрутизации для незашифрованного трафика прежде всего потребует применения правил фильтрации на уровне сети.
3. Рекомендованные решения
Обратные прокси-серверы
Для ваших целей подойдут следующие решения:
- Nginx: Широко используется в качестве обратного прокси и может обрабатывать HTTP/HTTPS трафик с поддержкой SSL-терминации. Однако требуется дополнительная настройка для работы с почтовыми протоколами.
- HAProxy: Высокопроизводительный прокси-сервер, поддерживающий множество протоколов, включая TCP и HTTP. Имеет возможность настройки правил для обработки почтового трафика.
Альтернативы обратному прокси
Если задачи, которые вы ставите, выходят за рамки возможностей стандартного обратного прокси, рассмотрите следующие варианты:
- Межсетевые экраны (Firewall) с поддержкой NAT: Некоторые современные межсетевые экраны могут выполнять функции, схожие с прокси-серверами, включая управление различными протоколами.
- Интеграция инструментов для анализа и фильтрации трафика: Например, использование систем, таких как Fail2ban, для автоматической фильтрации нежелательного трафика.
4. Заключение
Ваша концепция скрытия сети за обратным прокси является жизнеспособным и безопасным подходом, однако для её успешной реализации потребуется тщательная настройка и, возможно, интеграция с другими системами. Важно учитывать, что не все обратные прокси одинаковы, и их возможности могут сильно варьироваться в зависимости от вашего конкретного назначения и требований.
Рекомендуем начать с тестирования выбранного решения в среде разработки, чтобы выявить возможные узкие места и оптимизировать конфигурацию. Успехов в настройке вашей сетевой инфраструктуры!