У меня очень параноидальный клиент, который запускает две отдельные сети (одна в автономном режиме, одна в сети) с отдельными компьютерами и т. Д.
У меня есть проблема в том, что я написал для них приложение, которое будет работать в автономной сети, однако сеть должна иметь возможность отправлять электронные письма клиентам. Моя идея состоит в том, чтобы иметь одностороннее сетевое соединение (например, диод) от автономного сервера к онлайн-ПК, который будет отправлять электронные письма.
Каков наиболее эффективный способ сделать это с минимальными затратами? Могу ли я получить одностороннюю сетевую карту?
Сеть Windows Server 2008, ПК с Windows.
По сути, вам просто нужен брандмауэр между ними с очень строгими правилами, в основном это так называемое правило «Запретить все», а затем просто разрешить одной односторонней точке указывать исходящее правило одного порта для того, что вам нужно. Это легко для специалиста по безопасности / сети и должно быть удовлетворительным для вашего клиента.
Я бы не назвал их параноиками и приветствую их отношение к безопасности.
Если они столкнулись с проблемой отдельных сетей, они, вероятно, также столкнулись с проблемой установки брандмауэра. Небольшая дыра в брандмауэре, которая позволяет трафику через порт 25 проходить только с определенного IP-адреса в автономной сети на определенный IP-адрес в вашей онлайн-сети, должна отлично справиться с задачей.
Я бы использовал последовательную связь, у которой есть только GND и TX на защищенном сервере и GNS и RX в незащищенной сети. Нет управления потоком, так как это может использоваться для утечки информации из незащищенной сети в защищенную.
Я бы создал небольшой прокси-сервер SMTP-UDP-SMTP, состоящий из двух демонов. SMTP2UDP и UDP2SMTP.
SMTP2UDP будет несовместимым MTA, который будет работать в защищенной сети и принимать электронные письма, которые будут отправляться с использованием UDP по последовательному каналу.
UDP2SMTP будет работать в незащищенной сети и принимать электронные письма через UDP и отправлять их на настоящий MTA.
По последовательной ссылке я бы использовал оптопара чтобы использовать диод в требованиях.
Если вы хотите реализовать требования к письму, вы можете использовать одностороннюю IP-ссылку, которая отправляет свои электронные письма через UDP (или аналогичный однонаправленный протокол) настраиваемому демону, который прослушивал эти пакеты и отправлял их через SMTP на предполагаемый получатель.
Конечно, отправляющая (оффлайн) система не будет знать, вышли они на самом деле или нет. Чтобы это подтверждение произошло, вам потребуется минимальная настройка брандмауэра, как ответили Бен и Chopper3.
Протокол TCP требует двусторонней связи. Эта установка похожа на Дизайн DMZ, где ваше приложение работает в доверенной интрасети, а почтовый сервер и / или получатели находятся в ненадежной зоне DMZ.
Правильно настроенный брандмауэр сможет разрешить инициирование подключений только из доверенной интрасети, а не наоборот. Если этого недостаточно, я сомневаюсь, что какое-либо физическое соединение между двумя сетями удовлетворит вашего клиента, а это значит, что вы не сможете отправлять почту автоматически.
Если они дошли до такой степени, чтобы разделить сети, здесь должно быть два брандмауэра с почтовым ящиком посередине. В автономном режиме разрешите подключения к этому ящику только для сброса сообщений для отправки через ваше пользовательское приложение. На стороне онлайн разрешите только SMTP-соединение с почтовым сервером.
Вы могли бы сделать то же самое очень рентабельно с одним устройством с двойным подключением и программным брандмауэром, работающим на каждом интерфейсе, но разделение вещей создаст несколько дополнительных уровней защиты и будет предпочтительнее.
У меня было бы всего два почтовых сервера, внутренний и внешний. Попросите серверы постоянно добавлять исходящие сообщения электронной почты в файл и время от времени переименовывать файл, копировать его на USB-ключ и помещать во входящую папку на другом сервере. Вот сколько установок выполняют воздушные зазоры на сетевых серверах.
Если откладывать слишком важно, его можно отправить от одного из внешних клиентов.