Sto cercando di comprendere le politiche IPSEC di crittografia opportunistica di Windows e sto avendo qualche problema a comprendere il concetto di "Modalità di autenticazione" o "Sicurezza" nelle regole IPSEC (dette anche Regole di sicurezza della connessione). La documentazione per il corrispondente parametro -InboundSecurity
del cmdlet Set-NetIPSecRule
descrive cosa dovrebbe fare:
-InboundSecurity
[...]
The acceptable values for this parameter are:
[...]
Request: Authentication is requested for connections that match the rule.
The local computer attempts to authenticate any inbound network connections
that match this rule, but allows the connection if the authentication
attempt is no successful.
Require: Authentication is required for connections that match the rule. If
the authentication is not successful, then the inbound network traffic is
discarded. [...]
Da questa descrizione, mi aspetto questo comportamento per l'uso della sicurezza Richiesta : prima negoziazione IPSEC, connessione crittografata se la negoziazione ha esito positivo, connessione diretta se la negoziazione fallisce.
Quello che vedo invece è che quando si imposta Richiesta / Richiesta la connessione viene tentata in modo non criptato anche dopo che IKE sembra essere stato completato correttamente e gli SA sono a posto:
SecambiolasicurezzainRichiedi/Richiediidati(unaconnessioneTCPa3389,comeprima)sonoincapsulatiinUDP/ESPecrittografaticomedesiderato:
QuindiperchélamodalitàdiautenticazioneRichiestasembranonfunzionarecomemiaspetterei?
Alcunidefailperl'installazione:-Entrambiglihost,ilclienteilserversonomembridellostessodominioAD-laregolaIPSECèimpostataperutilizzarel'autenticazioneKerberosComputer/Utente(senzacertificati)evienedistribuitatramiteGPO:
PSC:\Windows\system32>Get-NetIPSecRule-PolicyStoread-qa.fh-koeln.de\CIT-Server-IPSEC-ConnectionrulesIPsecRuleName:{48CCCC98-6ACA-4C4E-8A8E-EB7990A7E377}DisplayName:DefaultIPSECIPv4ruleDescription:DefaultruleforIPv4connectionsDisplayGroup:Group:Enabled:TrueProfile:AnyPlatform:{}Mode:TransportInboundSecurity:RequireOutboundSecurity:RequestQuickModeCryptoSet:DefaultPhase1AuthSet:ComputerKerberosPhase2AuthSet:UserKerberosKeyModule:DefaultAllowWatchKey:FalseAllowSetKey:FalseLocalTunnelEndpoint:RemoteTunnelEndpoint:RemoteTunnelHostname:ForwardPathLifetime:0EncryptedTunnelBypass:FalseRequireAuthorization:FalseUser:AnyMachine:AnyPrimaryStatus:OKStatus:Therulewasparsedsuccessfullyfromthestore.(65536)EnforcementStatus:NotApplicablePolicyStoreSource:PolicyStoreSourceType:GroupPolicy
- lastessaregolasiapplicaalclientealservereincludegliindirizzidientrambiglihostperledefinizionilocali/remote
- Hodefinitounaregoladelfirewallinentratasullatoserverinpraticaimpostando"consenti la connessione se è sicura" per tutto.
- Ho definito una regola firewall in uscita sull'impostazione lato client "consenti la connessione se è sicura" per tutto il traffico verso l'indirizzo IP di destinazione del server (139.6.7.27).