08-16-2019 07:07 AM
access-list MSTEST_access_in extended permit ip object-group MSTEST_local object-group PILOT_REMOTE_AWS log debugging access-list MSTEST_access_in extended permit ip object-group MSTEST_local 10.168.0.0 255.255.0.0 log debugging inactive access-list OUTSIDE_cryptomap_1 extended permit ip object-group MSTEST_local object-group PILOT_REMOTE_AWS crypto map OUTSIDE_map 98 match address OUTSIDE_cryptomap_1 crypto map OUTSIDE_map 98 set pfs group5 crypto map OUTSIDE_map 98 set peer 3.8.26.18 crypto map OUTSIDE_map 98 set ikev1 transform-set ESP-AES-256-SHA crypto map OUTSIDE_map 98 set security-association lifetime seconds 3600 crypto ikev1 policy 11 authentication pre-share encryption aes-256 hash sha group 2 lifetime 28800 group-policy AWSPolicy internal group-policy AWSPolicy attributes vpn-tunnel-protocol ikev1 tunnel-group 3.8.26.18 type ipsec-l2l tunnel-group 3.8.26.18 general-attributes default-group-policy AWSPolicy tunnel-group 3.8.26.18 ipsec-attributes ikev1 pre-shared-key ***** isakmp keepalive threshold infinite
IKEv2 Config
access-list MSTEST_access_in extended permit ip object-group MSTEST_local object-group PILOT_REMOTE_AWS log debugging access-list MSTEST_access_in extended permit ip object-group MSTEST_local 10.168.0.0 255.255.0.0 log debugging inactive access-list OUTSIDE_cryptomap_1 extended permit ip object-group MSTEST_local object-group PILOT_REMOTE_AWS crypto map OUTSIDE_map 98 match address OUTSIDE_cryptomap_1 crypto map OUTSIDE_map 98 set pfs group5 crypto map OUTSIDE_map 98 set peer 3.8.26.18 crypto map OUTSIDE_map 98 set ikev2 ipsec-proposal AWS_Test AES256 SHA256 crypto map OUTSIDE_map 98 set security-association lifetime seconds 3600 crypto ikev2 policy 98 encryption aes-256 aes integrity sha256 sha group 2 prf sha256 sha lifetime seconds 28800 group-policy AWSPolicy internal group-policy AWSPolicy attributes vpn-tunnel-protocol ikev2 tunnel-group 3.8.26.18 type ipsec-l2l tunnel-group 3.8.26.18 general-attributes default-group-policy AWSPolicy tunnel-group 3.8.26.18 ipsec-attributes ikev1 pre-shared-key ***** isakmp keepalive threshold infinite ikev2 remote-authentication pre-shared-key ***** ikev2 local-authentication pre-shared-key *****
08-16-2019 07:21 AM
08-16-2019 08:40 AM
Hi,
The IPSec proposals I've been using for the IKEv1 and IKEv2 are the following.
IKEv1 crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac IKEv2 crypto ipsec ikev2 ipsec-proposal AWS_Test protocol esp encryption aes protocol esp integrity sha-1 crypto ipsec ikev2 ipsec-proposal AES256 protocol esp encryption aes-256 protocol esp integrity sha-1 md5 crypto ipsec ikev2 ipsec-proposal SHA256 protocol esp encryption aes-256 protocol esp integrity sha-256
As for the AWS side they accept the following. (https://docs.aws.amazon.com/vpc/latest/adminguide/Introduction.html#CGRequirements)
Use the AES 128-bit encryption or AES 256-bit encryption function | The encryption function is used to ensure privacy among both IKE and IPsec Security Associations. | |
Use the SHA-1 or SHA-256 hashing function | This hashing function is used to authenticate both IKE and IPsec Security Associations. | |
Use Diffie-Hellman Perfect Forward Secrecy. The following groups are supported:
| IKE uses Diffie-Hellman to establish ephemeral keys to secure all communication between customer gateways and virtual private gateways. |
I have removed the IKEv1 pre shared key so I just have the following now.
tunnel-group 3.8.26.18 ipsec-attributes isakmp keepalive threshold infinite ikev2 remote-authentication pre-shared-key ***** ikev2 local-authentication pre-shared-key *****
I have attached the debug, not sure if that's the one you meant or not?
Many Thanks
Alex
08-20-2019 08:10 AM
From the debug "IKEv2-PROTO-2: A supplied parameter is incorrect" implies a mis-configured parameter in the IKEv2 Policy. Are you able to confirm exactly what is configured in AWS, rather than what is supported? I've never used AWS, so I assume you define which parameters you wish to use?
08-20-2019 08:35 AM
Thanks for your reply, unfortunately these are the only options you get when setting up a VPN in AWS. Not really any configuration options just having to go on what they say they support.
03-02-2020 02:32 PM
I know this is a bit old, but I've had this problem several times, always find this post, but now I finally discovered an answer!
AWS basically has 'strict' policy selection enabled.
This means the ASA must have the IKEv2 proposal listed 'first' and 'only' being the one that matches the policy settings (cypher, hash, DH group, etc) that are configured in AWS portal.
In other words: make sure that the HIGHEST PRIORITY policy matches AWS.
eg: for ikev2, use policy 1 not 98, and only provide a single parameter per attribute:
crypto ikev2 policy 1 encryption aes-256 integrity sha256 group 2 prf sha256 lifetime seconds 28800
Is this an AWS problem for not allowing 'negotiate', or an ASA problem for allowing only global and not 'per tunnel' policy settings? I'm not sure, but this is the way to get it working. Shouldn't be too restrictive, if you're other VPN tunnels can use the same crypto parameters, or they will all negotiate. Would become a big issue if having to make multiple AWS connections to separate instances where the security settings couldn't match for some reason.
08-17-2020 09:03 AM
VPN with AWS and Cisco has some issues that we discover in case 689651385. I put here the resumen of the case:
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide