Thanks for replay.
Here some more information on my side:
libreswan version: 3.17 (I'll try to update soon, I was waiting for a
stable release on gentoo portage)
On other side they are using a Cisco ASA5545 running on 9.4(2)11 .
Also I think I found where the problem comes from.
Here the log when we first receive the package:
Oct 18 10:45:24 lofw pluto[1411]: packet from a.a.a.a:500: ignoring
unknown Vendor ID payload
[434953434f28434f505952494748542926436f70797269676874202863292032...]
Oct 18 10:45:24 lofw pluto[1411]: packet from a.a.a.a:500: user_reda IKE
proposals:
1:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-256;INTEG=HMAC_SHA2_256_128;DH=MODP2048
Oct 18 10:45:24 lofw pluto[1411]: packet from a.a.a.a:500: proposal
2:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-256;INTEG=HMAC_SHA2_256_128;DH=MODP2048
chosen from:
1:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-512;INTEG=HMAC_SHA2_512_256;DH=MODP2048
2:IKE:ENCR=AES_CBC_256;PRF=HMA
Oct 18 10:45:24 lofw pluto[1411]: "user_reda"[7] a.a.a.a #576: switched
from "user_reda"[7] a.a.a.a to "myName"
we have configured other vpn, one of them is a roadwarrior config like:
conn roadwarriors_rsa
authby=rsasig
left=...
leftid=...
leftsubnet=...
leftrsasigkey=%cert
leftcert=serverCert
#
right=%any
rightrsasigkey=%cert
# PHASE 1
# negothiation mode
aggrmode=no
ike=aes256-sha2_256;modp2048
...
conn user_reda
also=roadwarriors_rsa
[email protected]
rightcert=redaCert
...
So it actually switch from configuration "user_reda" to the other after
the proposal is chosen, for config "user_reda" proposal 2 is the best
match of course.
Any hint how can we solve the problem?
There is a way to specify/allow road warriors vpns for any ips except
the ones for which we have other tunnel configured? (or give any
priority in the initial choose of configuration)
Or maybe is something can be solved after switching the configuration?
In any case from our side we don't want to allow that proposal for that
specific config?
Sorry that I didn't notice immediately but I was first checking by
searching the peer ip and I miss switch config.
Thanks a lot
Renzo
On 26.10.2016 18:14, Andrew Cagney wrote:
On 26 October 2016 at 11:02, Paul Wouters <[email protected]> wrote:
On Tue, 18 Oct 2016, Renzo Dani wrote:
ike=aes256-sha2_512;modp2048
phase2alg=aes256-sha2_512;modp2048
If we start the tunnel everything works and the tunnel is correctly
established:
Oct 18 10:46:16 lofw pluto[1411]: #579: initiating v2 parent SA
Oct 18 10:46:16 lofw pluto[1411]: #579: myName IKE proposals:
1:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-512;INTEG=HMAC_SHA2_512_256;DH=MODP2048
Oct 18 10:46:16 lofw pluto[1411]: #579: STATE_PARENT_I1: sent v2I1,
expected v2R1
Oct 18 10:46:16 lofw pluto[1411]: #579: myName ESP/AH proposals:
1:ESP:ENCR=AES_CBC_256;INTEG=HMAC_SHA2_512_256;ESN=DISABLED
Oct 18 10:46:16 lofw pluto[1411]: #580: STATE_PARENT_I2: sent v2I2,
expected v2R2 {auth=IKEv2 cipher=aes_256 integ=sha512_256
prf=OAKLEY_SHA2_512 group=MODP2048}
Oct 18 10:46:16 lofw pluto[1411]: #580: IKEv2 mode peer ID is
ID_IPV4_ADDR: 'a.a.a.a'
Oct 18 10:46:16 lofw pluto[1411]: #580: negotiated connection [......] ->
[....]
Oct 18 10:46:16 lofw pluto[1411]: #580: STATE_PARENT_I3: PARENT SA
established tunnel mode {ESP.....
Instead if the process is started from the other side they send us
different proposals:
Does a line like:
packet from 192.1.2.45:500: westnet-eastnet-ipv4-psk-ikev2 IKE
proposals for initial responder: 1:IKE:ENCR=AES_GCM_C_256;...
or similar (the exact format has evolved so it might be the below)
showing the local (libreswan) proposal list appear in the logs
somewhere?
myName IKE proposals:
1:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-512;INTEG=HMAC_SHA2_512_256;DH=MODP2048
Oct 18 10:45:24 lofw pluto[1411]: packet from a.a.a.a:500: proposal
2:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-256;INTEG=HMAC_SHA2_256_128;DH=MODP2048
chosen from:
1:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-512;INTEG=HMAC_SHA2_512_256;DH=MODP2048
2:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA2-256;INTEG=HMAC_SHA2_256_128;DH=MODP2048[first-match]
3:IKE:ENCR=AES_CBC_256;PRF=HMAC_SHA1;INTEG=HMAC_SHA1_96;DH=MODP2048
and we end up choosing the option 2 instead of option 1 and the tunnel is
not working.
If they send you a proposal list, and you pick one, they MUST honour
that proposal. The fact that they are rejecting your proposal is a bug
in their code. Can you tell me the vendor/model/type of device that is
used, so I can relay this back to that vendor?
But perhaps the bug is on our end, since we should never have picked up
HMAC_SHA2_256_128 as we do not have that configured. Andrew, did this
code get changed/fixed recently?
It was rewritten a while back.
I'm not sure where the problem is - it should have matched the first
IKE proposal.
In both cases, the same code is used to construct a local proposal.
All I've noticed is:
- ike=...-sha2_256 would result in the IKEv2 proposal
PRF=HMAC_SHA2_256;INTEG=HMAC_SHA2_256_128
- our default accepts AES_256 with either SHA2_256 or SHA2_512 but we
should prefer SHA2_512 given the option
Perhaps what is happening is that we pick the wrong proposal and send
that back, but actually use the one we have configured?
I know we changed the order recently to prefer sha2_512 over sha2_256,
so I assume this is an older version of libreswan? But we should double
check this scenario cannot happen anymore with the latest code.
I think option 1 is the only matching the configuration or I think it
wrong?
Yes you are right. Can you tell us which version of libreswan this was?
Paul
_______________________________________________
Swan mailing list
[email protected]
https://lists.libreswan.org/mailman/listinfo/swan