Как определить, использует ли подключенный сокет IPSec?
Я работаю над серверным приложением Windows, которое будет передавать конфиденциальную информацию на другой сервер Windows через сокет с помощью HTTPClient. Предполагается, что серверы настроены на использование IPSec. Так что, да, мне не нужно ничего делать для настройки безопасного соединения на уровне приложения. Тем не менее, я был проинструктирован, чтобы убедиться, что если соединение использует IPSec, и прервать, если это не так.
Как программно определить, действительно ли соединение защищено с помощью IPSec? Приложение на C# для Windows Server 2016. Я открыт для решений на основе P/Invoke или кода C, если это необходимо для работы. Пока он в конечном итоге может работать с классом C# HttpClient.
1 ответ
Это не касается приложения и не может быть сделано. Туннель прозрачен для пользователей прикладного уровня сетевого стека. Если вы хотите, чтобы приложение обеспечивало шифрование и аутентификацию соединения, используйте TLS. В противном случае администраторы сети / системы должны убедиться, что политики настроены так, что разрешен только трафик ipsec.
Представьте, что вы нашли способ убедиться, что туннель настроен путем опроса операционной системы. И затем через 2 года система должна быть расширена, а завершение IPSec перенесено на выделенное оборудование. К сожалению.