I'd like to configure an IKEv2 VPN gateway for multiple remote users to access a private network.
I have a test setup where the responder authenticates itself with a self-signed certificate. The initiator authenticates with a username and password.
A couple issues:
- The certificate is overcomplicated. I'll not be setting up a proper PKI, so a self-signed certificate that must be distributed to each client and configured to be trusted amounts to a pre-shared key (PSK) while being substantially harder to generate and administer.
- The initiator is authenticated only by a username and password, and so an outside attacker can easily attempt to guess weak or compromised passwords.
Short of deploying a proper PKI, I'd prefer to perform mutual authentication of the initiator and responder hosts through a PSK. This key would be securely distributed to all users. Outside attackers would not have the PSK and so a weak or compromised password is insufficient for access. The username & password authentication allows identification and authorization of a specific user against an existing directory system, without the need for generating and distributing unique keys for each user.
Is such a thing possible with IKEv2? As far as I can tell, it was possible through Xauth in IKEv1. But for IKEv2 I'm not so sure: on a cursory read of RFC 5996, section 2.16, it seems this may not be the case. Username & password authentication would happen through some EAP method, and:
An initiator indicates a desire to use EAP by leaving out the AUTH payload from the first message in the IKE_AUTH exchange. (Note that the AUTH payload is required for non-EAP authentication, and is thus not marked as optional in the rest of this document.)
That seems to suggest the initiator can use only one of EAP (username & password) or PSK.
Although the question is about the IKEv2 protocol, I intend to implement the responder end with strongswan, so any additional expertise there would be appreciated.