Yes, this is correct if you did not activate the TLS Channel Protection before distribution of the client packages but you want to distribute it afterwards. In the regular (configured) case, IPFire should do this for you by activating itâŚ
Yes this should also be the case but also the entry in client.ovpn should be made by IPFire.
Oh, this has been never been merged but this should be per default ââtls-cryptâ instead of ââtls-authâ â but again, it has not been merged â ââtls-authâ is avaliable .
If you have set it in the CGI you should have the static key in there, yes.
tls-crypt sounds like a better version of tls-auth, afaict. Will you try to get this merged?
Youâve confused me a little bit =) â ta.key already exists even though tls-auth has never been activated before, afaik. So, this file will not be âre-createdâ when activating tls-auth, will it?
What would be the best way to implement this in our ~30 user setup without causing a VPN downtime for users due to having incorrect client config? Will the following work?
Temporarily activate tlsauth for some minutes only, download a client package and spot the difference between old and new config
Manually add that difference to all clientsâ configs
If everyone has their config patched, activate tlsauth for good
Potential problem: OpenVPN client might complain about having tls-auth configured, but server not using it. I suppose this wonât block the client from connecting.
IMO it is. I am not able to merge here something .
6?. Yes, if a key is presant no other key will be created.
Afterward is this difficult. A good configuration for your environment before might be the best. Downtime depends then on it â is fail2ban better for your environment ?! Currently not sure about, since it is also not available on IPFire.
Hi @larsen ,
no problem mine is currently broken too .
According to you problem, --tls-auth should work. In here Hardening OpenVPN Security | OpenVPN (in the IPFire wiki a little rudimentary of course too) you can read a little more about this kind of hardening.
Spoken about the downtime: I think you can manage this may easy. 1) After your office is closed, activate the âTLS Channel Protectionâ in the WUI and create all packages. 2) Deactivate the âTLS Channel Protectionâ again to be able to use the VPN connection as before. 3) Distribute the packages while working time, may also via VPN⌠4) Set a time limit until alll clients needs to use the new config with the new static key. 5) After the time limit has reached, activate the VPN but now with enabled âTLS Channel Protectionâ in the WUI .
The OpenVPN documentation says to add âtls-auth ta.key 1â to the client config (server using âtls-auth ta.key 0â) to specify the key direction.
I noticed that IPFire does not use this (at least not for the client). Itâs only âtls-auth ta.keyâ in the .ovpn file.
Hi Larsen,
since IPFire uses TLS-certificates the client server role is clear and there is no need to use parameter like 0 for server and 1 for client. As far as i remember 0 and 1 was used mainly for independant usage for HMAC send, HMAC receive, encrypt, and decrypt with a PSK so it was possible to use the four different parts in one PSK independantly via direction parameter. But as far as i remember IPFire never used PSKs for OpenVPN.
Yes, I know. I was hoping that the config could be patched and still be used with the server not having tls-auth activated, yet. This could have made deployment a little bit easier.
Good morning,
in any case you need also the static key too, only adding the directive into the conf file won´t be enough. Since you need to distribute a new file (ta.key) to the clients even if you patch the client.ovpn with the new tls-auth line, it might be may easier to generate the whole package (with activated TLS Channel Protection) via WUI and distribute it.
A possible way can look like this Block malicious OpenVPN connection attempts (fail2ban?) - #8 by ummeegge .
Yes, the ta.key had also been copied before testing
As there seems to be no easier way, the plan now is to distribute a new package alsongside the current vpn connection. Then at some point make a switch, and afterwards get rid of the old connection for all users.