296 Commits

Author SHA1 Message Date
hybtoy
d91ba0feab Additions (TLS-Cipher and HMAC Auth)
Add:
1. TLS Cipher - TLS-DHE-RSA-WITH-AES-128-GCM-SHA256
2. HMAC_Auth - SHA224
2017-09-26 15:08:14 +05:00
Angristan
882ea61b96 Merge pull request #103 from hybtoy/patch-1
"local" option removal / revert https://github.com/Angristan/OpenVPN-install/pull/91
2017-09-25 19:35:33 +02:00
Angristan
07de8b9feb Update openvpn-install.sh 2017-09-25 17:10:06 +02:00
hybtoy
948b6511b7 "local" option removal
Remove "local" option from server.conf.
2017-09-25 10:40:38 +05:00
Angristan
484b601f02 Compatibility update
Dropped Debian 7 and Ubuntu 12.04 according to d0b1fbbe51

Discovered an issue with Arch Linux : https://github.com/Angristan/OpenVPN-install/issues/99
2017-09-17 20:23:11 +02:00
Angristan
d057de2309 Fix previous commit 2017-09-17 19:55:44 +02:00
Angristan
d0b1fbbe51 Drop Debian 7 and Ubuntu 12.04 support
Debian is oldstable and has a bug with iptables. Ubuntu 12.04 is unsupported.
2017-09-17 19:53:38 +02:00
Angristan
f6eecf3dcb Cleanup and rewrites 2017-09-17 18:09:52 +02:00
Angristan
f4b6742f36 Make some space 2017-09-17 17:40:32 +02:00
Angristan
a6e2481f50 Add 2.4 repo for Ubuntu 16.04 + some cleanup 2017-09-17 17:34:13 +02:00
Angristan
9f7663303f Fix if 2017-09-17 15:46:47 +02:00
Angristan
7596918204 Update openvpn-install.sh
Fix 4ec6e24e81
2017-09-17 15:36:11 +02:00
Angristan
ff10bd83e6 Disable cipher negotiation for 2.4 clients
This seems like a little change but it was not easy to find.

I want this script to support only OpenVPN 2.4 servers, but also 2.4 and 2.3 clients.

The thing is, the OpenVPN 2.3 client doesn't care at all what cipher the server wants to use. The cipher parameter in the client config is the king here.

But with OpenVPN 2.4, you can specify whatever cipher you want, the clients and the server will negotiate the best cipher possible, which is AES-256-GCM right now. The use of --ncp-ciphers cipher_list is useless because a 2.3 client will still use its cipher and a 2.4 client will still use AES-256-GCM.

I won't detail all my experiments here, but in the end, ncp-disable disable the cipher negotiation for 2.4 clients. But it will only work if the cipher in the server config and the client config are the same, and as they are in the script, it's ok. This is not the best solution because that means if you want to support a 2.3 client, you'll be forced to use one and only one AES-CBC cipher, even with your 2.4 clients, even though you could use a different cipher for each client. But as we're still using AES and OpenVPN 2.4 getting more and more deployed, this is not a too big issue in the end. Also adding menus to to choose what kind of client you want etc would make the script pretty complicated, so this is a good compromise here.

TL;DR: ncp-disable enforces a OpenVPN 2.4 client to use the specified cipher in the server and the client config.

See here for me details regarding the data channel cipher negotiation in OpenVPN 2.4 : https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage#lbAJ
2017-09-17 12:19:59 +02:00
Angristan
57d5b6329f Fix case
Doesn't have any impact, but that's how it should be.
2017-09-17 11:16:24 +02:00
Angristan
4ec6e24e81 More precision concerning the use of "auth"
From the OpenVPN wiki:

>Authenticate data channel packets and (if enabled) tls-auth control channel packets with HMAC using message digest algorithm alg. (The default is SHA1 ). HMAC is a commonly used message authentication algorithm (MAC) that uses a data string, a secure hash algorithm, and a key, to produce a digital signature.

>If an AEAD cipher mode (e.g. GCM) is chosen, the specified --auth algorithm is ignored for the data channel, and the authentication method of the AEAD cipher is used instead. Note that alg still specifies the digest used for tls-auth.

Tl;DR: if we're using an AEAD cipher (AES GCM), `auth alg` won't have inpact on the impact channel, but only on the control channel if tls-auth/tls-crypt is enabled.
2017-09-17 11:11:08 +02:00
Angristan
d5e8a69426 Fix tls-crypt 2017-09-16 20:59:31 +02:00
Angristan
8c61a1afba Fix while condition 2017-09-14 14:19:12 +02:00
Angristan
2171003bda Fix variables 2017-09-14 14:12:25 +02:00
Angristan
7322a711ec Fix cert hash alg menu 2017-09-14 14:11:16 +02:00
Angristan
d5b5129f08 Fix HMAC auth alg menu 2017-09-14 14:09:47 +02:00
Angristan
6efedfc2ec Merge pull request #97 from hybtoy/patch-1
Update openvpn-install.sh
2017-09-14 13:44:54 +02:00
hybtoy
7d56181699 Update openvpn-install.sh 2017-09-14 16:37:57 +05:00
Angristan
4fa0544c72 Initial commit for OpenVPN 2.4 support
- Add support for AES-GCM ciphers for the data channel
- Add support for tls-crypt
- Add support for ECDSA certificates
- Add support for ECDHE
- Add choice for HMAC auth algorithm
- Add choice for certificate hash algorithm
- Add choice for the control channel's cipher

All these options have an OpenVPN 2.3-compatible choice (example : RSA cert and DH key)
2017-09-14 12:35:18 +02:00
Angristan
37d42e25fe Update Easy-RSA to v3.0.3 2017-08-23 10:39:33 +02:00
Angristan
dd1eeb05f9 Merge pull request #91 from clickworkorange/master
Set "local" in server.conf to the chosen IP address
2017-08-22 11:25:36 +02:00
Angristan
c0ed60e8cf Update openvpn-install.sh 2017-08-22 11:12:42 +02:00
Ola Tuvesson
ad3c223385 Will now set "local" in server.conf to the chosen IP adderess
If you want to run OpenVPN in UDP mode on an secondary IP, UDP routing will fail unless you explicitly bind OpenVPN to the chosen IP address. This change includes the "local" parameter in the config and sets it to the IP address entered at the beginning.
2017-08-22 00:39:43 +01:00
Angristan
edbe4fed90 Rename OpenVPN's APT list 2017-08-20 22:38:55 +02:00
Angristan
a3c005c556 Update Debian and Ubuntu repository
swupdate.openvpn.net hasn't been updated since OpenVPN 2.3.14 whereas build.openvpn.net supports OpenVPN 2.4.x as of today
Fixes https://github.com/Angristan/OpenVPN-install/issues/86
2017-08-07 16:44:16 +02:00
Angristan
8103bd1947 Merge pull request #84 from Patlol/master
Fixes #8 : Client files not being created in the right folder when using sudo
2017-07-22 21:10:42 +02:00
patlol
58a5282e17 Update openvpn-install.sh 2017-07-22 21:08:06 +02:00
patlol
3c5c87b031 Update openvpn-install.sh 2017-07-22 20:18:46 +02:00
patlol
5787c45a03 Update openvpn-install.sh 2017-07-22 19:40:29 +02:00
patlol
031afd587e fix #8 Client files not beeing created in the right folder when using sudo 2017-07-22 19:30:36 +02:00
Angristan
c703d41795 Fix for Debian 9 on OpenVZ 2017-07-14 17:15:07 +02:00
Angristan
276284458f Fix DNS choice 2017-07-08 13:30:58 +02:00
Angristan
ea114e1a0d Merge pull request #79 from jackdwyer/fix-cipher-option
Fixes last case statement for SEED-CBC
2017-07-03 20:17:38 +02:00
jackdwyer
d1f665c458 fixes last case statement for SEED-CBC 2017-07-03 14:14:39 -04:00
Angristan
2584de5d85 Caps are important 2017-06-26 03:11:59 +02:00
Angristan
f4f8d08067 Add support for Debian 9 Stretch and architectures details
I figured it would be useful to add architectures to the list, especially considering the rise of ARM servers.
2017-06-26 03:02:16 +02:00
Angristan
cd01329585 Add support for Debian 9 Stretch 2017-06-26 02:41:40 +02:00
Angristan
e185698445 Use current system resolvers as default
That makes more sense that putting French servers.

What is in /etc/resolv.conf is not always good, but most of the time it's the hoster's or something nearby. Thus it makes more sense for the user to use them by default.
2017-06-26 02:37:41 +02:00
Angristan
6800ef35f7 Typo
It's late.
2017-06-26 02:20:38 +02:00
Angristan
19fe6626f1 Implements OpenVPN 2.4 changes for Arch Linux (kind of)
Since OpenVPN 2.4 is out on Arch, the script wasn't working completely because of this : https://www.archlinux.org/news/openvpn-240-update-requires-administrative-interaction/

There is a new path for OpenVPN server config. This is just needed on Arch for now, and you're probably not going to run an OpenVPN client on an OpenVPN server. 

Thus I modified the systemd script to use `/etc/openvpn/` and `server.conf` instead of the new `/etc/openvpn/server/` and `openvpn.conf`.

By using the same paths as the other distros, I avoid to rewrite the entire script to change the paths...

It's not 100% clean, but it works pretty well. If you have any objection please leave a comment.

Also, I updated the new service name.

As far as I tested, it's working fine on Arch Linux for now.

Fixes #63 and #61
2017-06-26 02:17:14 +02:00
Angristan
ac203dd5ee Fix iptables rules on reboot for some OS
Thanks a lot to Nyr for the fix : a31aaf82f3

Fixes https://github.com/Angristan/OpenVPN-install/issues/6.

On Ubuntu 17.04, 16.10 and Debian 9, the iptables rules were not applied because of rc.local
2017-06-25 22:01:05 +02:00
Angristan
10351305e3 Google Compute Engine support
Merge pull request #57 and close issue #46
2017-06-25 20:21:36 +02:00
Angristan
8c66c8e684 Fix client revocation
A client revocation would make crl.pem unreadable and thus blocking any other client to connect.

Fixes https://github.com/Angristan/OpenVPN-install/pull/47, https://github.com/Angristan/OpenVPN-install/issues/25 and https://github.com/Angristan/OpenVPN-install/issues/49.
2017-06-25 19:58:41 +02:00
Kenneth Zhao
d74318562d adding support for debian 9 stretch 2017-06-25 09:38:52 -07:00
Angristan
ec41b64b15 Added Yandex Basic DNS resolvers
Nice speed for Russia
2017-06-23 14:32:16 +02:00
Angristan
a2a3bfc605 Added Yandex Basic DNS resolvers
https://dns.yandex.com/

Nice for Russia.
2017-06-23 14:30:57 +02:00