Единый ключ для всех OpenVPN клиентов

Автор: Admin | 20.04.2018

Использование одной связки ключей для всех OpenVPN клиентов.

В случае, когда OpenVPN настроен на внешнюю авторизацию, например AD или облачную, то не имеет особого смысла генерировать ключи для каждого пользователя, а использовать только один, ограничивая доступ к OpenVPN на стороне LDAP сервера через участие пользователя в группе.

Для удобства можно все пять клиентских файлов объединить в один. Данные настройки клиента будут отправными. Итак, пользовательские файлы это User.crt, User.key, ca.crt, ta.key и файл конфига User.ovpn, пусть он будет лежать в домашнем каталоге.

Объявить переменные:

client_conf=$(cat ~/User.ovpn)
client_cert=$(cat ~/easy-rsa-master/easyrsa3/pki/issued/User.crt)
client_key=$(cat ~/easy-rsa-master/easyrsa3/pki/private/User.key)
ca=$(cat ~/easy-rsa-master/easyrsa3/pki/ca.crt)
ta=$(cat /etc/openvpn/keys/ta.key)

Запихать их в один файл:

cat <<EOF > clients.ovpn
$client_conf

EOF

cat <<EOF >> clients.ovpn
<ca>
$ca
</ca>
EOF

cat <<EOF >> clients.ovpn
<tls-auth>
$ta
</tls-auth>
EOF

cat <<EOF >> clients.ovpn
<cert>
$client_cert
</cert>
EOF

cat <<EOF >> clients.ovpn
<key>
$client_key
</key>

EOF

И из части настроек клиента удалить строки, касающиеся файлов User.crt, User.key, ca.crt, ta.key, поскольку они уже присутствуют в объединенном конфиге. И заменить строку tls-auth "ta.key" 1 на key-direction 1


В конечном итоге должно получиться так:

client
dev tun
proto udp
remote xxx.xxx.xxx.xxx 1194
cipher AES-256-CBC
tls-client
#ca "ca.crt" # Удалить эту строку
#tls-auth "ta.key" 1 # Удалить эту строку
#cert "User.crt" # Удалить эту строку
#key "User.key" # Удалить эту строку
remote-cert-tls server
comp-lzo
auth-user-pass
key-direction 1 # Вместо строки 'tls-auth "ta.key" 1'

<ca>
-----BEGIN CERTIFICATE-----
MIIDGzCCAgOgAwIBAgIJAMw476lQYVc8MA0GCSqGSIb3DQEBCwUAMA4xDDAKBgNV
BAMMA0VFRTAeFw0xODA0MjAwMzI0MjJaFw0yODA0MTcwMzI0MjJaMA4xDDAKBgNV
BAMMA0VFRTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL8IveHkzhtY
hAhMfsw1DYdvHwQo0QmVu9nPxC4ElT8dDSzaVbBpEG8CinDId3B145g8FIOllp1r
f9hZsp2xvJMgjbfInFg0GTAcH23dmAR648Xez8TKYn7WiLfFU04c1hXR1S9PpPQM
1zUYLgTyYgUVgQJYJwdwO5k18xYU/lOMlETRNr1ZCnungAUgUr/0D5L2qsL1MjZ/
ll23jNLE0u28KNAQe7vfYeMcwRq9XsD4XPg59CBJoUSz6WhGaVFL7srIjHpxVgtM
f3WKK9SVMtx6RRCAZs08ApuPrT01DCt6loEB3WPKmBWycDvnFAFtbBLDu/2HPTxm
Suku14J8DUMCAwEAAaN8MHowHQYDVR0OBBYEFKm8HRBQCzcPOb9Wd9/kXeZZIVMD
MD4GA1UdIwQ3MDWAFKm8HRBQCzcPOb9Wd9/kXeZZIVMDoRKkEDAOMQwwCgYDVQQD
DANFRUWCCQDMOO+pUGFXPDAMBgNVHRMEBTADAQH/MAsGA1UdDwQEAwIBBjANBgkq
hkiG9w0BAQsFAAOCAQEAXTwQAbRAFwu/jHv8RcG/ZKRBa0KZJLoghF3ZtHfZ+zqy
9IiEHcrNDUrJxYDtZtbUspHOTJHsk73O68jiWhnUbs0AeXMfF6dLRWjwhZb7wJxt
LpXOJSiNrvH7EpLWiPsWYiJBtSJFlt+fSjFgNZ1keHJIz8ttuGbF+Xqr9VYp2rUF
EigKsb/m5N1OTqcJdfJsQcqGQP/oxoaNBCIe2eNmRCflrV/QniUb2WoU5q1nKw6F
xEr4Kx8IUH2oQonm+cbzNxCuDjpzSL4AELd9u4UQa5SuBwx5jGaVq9MoGrCk1z3D
lnpTpVS0SA+AjYxHLbz4c6P/FLYvqoORWTH/jx4CWw==
-----END CERTIFICATE-----
</ca>
<tls-auth>
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
531c5dd5de66c05ff7252f9521030f56
1407c152a6fed983a29af49872e6fbe2
0817381610f435f0016c2ba345530ea6
200bb28d2d216b2159405f059217a74e
e2fd5bd9a447aba46548e4b4c6907f6f
d94ae4d853ffe9066bc13c3b36c976e9
298e356631005aa78bbddfdaa15f3076
c15965748d74efa039e2a47fe556f702
e7198a4a997ce19ebe2199db58444b29
3699dc6b6d45bab26099b9403cc44801
8e0a03b8d7627a071d8bdfb0acadf651
7322463eaa20b711c94e0e3dd9dfe38e
25c87b1cd3188f2d789e4a7b4fe0a141
706859085faf17a6b1131068cc96a266
5a2f4cfbb23daf1548c639a93b49195d
36651fcbdde523f6b6c73a2c2b1e4cce
-----END OpenVPN Static key V1-----
</tls-auth>
<cert>
Certificate:
 Data:
 Version: 3 (0x2)
 Serial Number:
 39:ac:06:6c:ae:3a:ed:10:c0:d2:07:49:6f:71:c3:8c
 Signature Algorithm: sha256WithRSAEncryption
 Issuer: CN=EEE
 Validity
 Not Before: Apr 20 06:57:56 2018 GMT
 Not After : Apr 17 06:57:56 2028 GMT
 Subject: CN=User
 Subject Public Key Info:
 Public Key Algorithm: rsaEncryption
 Public-Key: (2048 bit)
 Modulus:
 00:ec:54:aa:fc:d6:de:d4:4b:fa:29:01:f8:2c:ae:
 4e:d0:a1:2f:72:b7:b8:ce:bc:83:85:29:5c:ee:22:
 fc:40:41:b5:4f:83:31:fb:34:a7:ba:ec:04:a9:0e:
 a8:f9:64:09:29:cc:9d:22:4f:06:83:38:bb:74:dc:
 dc:0f:72:77:f6:e3:86:7d:e3:c0:17:9e:08:c5:a4:
 5d:f8:9e:ba:42:eb:cf:79:d7:80:fd:4b:11:4a:1b:
 f9:5d:68:b4:3d:3a:1c:f9:e7:7f:74:97:52:78:8b:
 7c:2b:35:c7:79:98:02:1e:78:53:49:f8:e8:c0:eb:
 c6:7b:87:2d:c8:04:80:60:80:3d:63:21:a4:5b:03:
 e3:1d:63:f2:6f:31:0a:aa:90:41:30:8f:bb:72:7f:
 76:e8:df:ac:3a:44:d1:d9:fa:8f:3d:69:a6:0b:c2:
 af:7d:61:49:ae:b3:5a:7a:28:ba:1c:28:0a:de:a8:
 01:33:dd:d1:13:99:ac:8c:58:ad:53:37:a7:3e:64:
 bb:5b:b7:a9:a9:e4:71:86:2f:bc:cb:59:b2:37:3b:
 07:9a:33:76:54:be:b1:77:9e:60:ea:bf:ff:54:c6:
 5d:63:61:93:2c:1d:76:5d:fc:d5:72:05:bc:45:89:
 3d:2b:9e:db:a8:78:d6:63:16:ab:3f:07:d7:95:de:
 6c:d7
 Exponent: 65537 (0x10001)
 X509v3 extensions:
 X509v3 Basic Constraints: 
 CA:FALSE
 X509v3 Subject Key Identifier: 
 92:45:0A:A9:AE:C7:12:C4:B5:44:37:5D:34:C3:5A:95:21:94:31:7F
 X509v3 Authority Key Identifier: 
 keyid:A9:BC:1D:10:50:0B:37:0F:39:BF:56:77:DF:E4:5D:E6:59:21:53:03
 DirName:/CN=EEE
 serial:CC:38:EF:A9:50:61:57:3C

X509v3 Extended Key Usage: 
 TLS Web Client Authentication
 X509v3 Key Usage: 
 Digital Signature
 Signature Algorithm: sha256WithRSAEncryption
 70:f0:13:41:fe:c7:45:90:46:cf:24:e1:a8:cc:be:42:17:78:
 02:e6:fd:a8:81:61:d0:0c:de:20:e4:79:26:4a:fb:5d:52:b6:
 2b:92:2d:b4:a9:46:04:c0:f1:70:d7:bc:24:60:0d:4b:b8:a9:
 44:d8:23:23:20:e7:af:67:3d:27:e9:93:c5:85:f0:a8:c1:0d:
 2e:d9:dc:ad:c9:5a:1b:d0:6c:61:bb:61:65:3e:80:f6:cf:53:
 3c:cf:80:fb:1e:01:26:6d:ae:54:9d:3b:19:1f:db:ea:05:8c:
 ee:ff:61:94:cc:4f:86:3e:d2:f4:a2:d5:ac:04:16:d7:ca:1f:
 67:df:20:66:4d:5d:90:28:06:29:89:fa:20:b1:32:bb:a5:38:
 35:38:5b:65:21:fb:4d:f6:43:7c:5c:57:f0:13:a0:89:ad:a1:
 2a:0e:bd:3d:1a:8c:71:e5:5c:71:6e:54:ad:7d:57:14:05:5f:
 89:3b:ed:6e:2c:ea:8e:f1:3c:b4:ee:a0:b2:9b:e1:a3:fb:2c:
 60:3a:0d:79:72:5e:83:19:73:69:1e:2a:62:47:60:ed:fd:1b:
 57:f7:91:45:86:52:eb:72:4e:05:d0:ae:ee:4a:2b:c4:5a:c0:
 be:53:4a:f5:6d:31:2c:47:b3:48:4b:75:98:48:1c:53:36:28:
 81:63:58:d9
-----BEGIN CERTIFICATE-----
MIIDNzCCAh+gAwIBAgIQOawGbK467RDA0gdJb3HDjDANBgkqhkiG9w0BAQsFADAO
MQwwCgYDVQQDDANFRUUwHhcNMTgwNDIwMDY1NzU2WhcNMjgwNDE3MDY1NzU2WjAP
MQ0wCwYDVQQDDARVc2VyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
7FSq/Nbe1Ev6KQH4LK5O0KEvcre4zryDhSlc7iL8QEG1T4Mx+zSnuuwEqQ6o+WQJ
KcydIk8Ggzi7dNzcD3J39uOGfePAF54IxaRd+J66QuvPedeA/UsRShv5XWi0PToc
+ed/dJdSeIt8KzXHeZgCHnhTSfjowOvGe4ctyASAYIA9YyGkWwPjHWPybzEKqpBB
MI+7cn926N+sOkTR2fqPPWmmC8KvfWFJrrNaeii6HCgK3qgBM93RE5msjFitUzen
PmS7W7epqeRxhi+8y1myNzsHmjN2VL6xd55g6r//VMZdY2GTLB12XfzVcgW8RYk9
K57bqHjWYxarPwfXld5s1wIDAQABo4GPMIGMMAkGA1UdEwQCMAAwHQYDVR0OBBYE
FJJFCqmuxxLEtUQ3XTTDWpUhlDF/MD4GA1UdIwQ3MDWAFKm8HRBQCzcPOb9Wd9/k
XeZZIVMDoRKkEDAOMQwwCgYDVQQDDANFRUWCCQDMOO+pUGFXPDATBgNVHSUEDDAK
BggrBgEFBQcDAjALBgNVHQ8EBAMCB4AwDQYJKoZIhvcNAQELBQADggEBAHDwE0H+
x0WQRs8k4ajMvkIXeALm/aiBYdAM3iDkeSZK+11StiuSLbSpRgTA8XDXvCRgDUu4
qUTYIyMg569nPSfpk8WF8KjBDS7Z3K3JWhvQbGG7YWU+gPbPUzzPgPseASZtrlSd
Oxkf2+oFjO7/YZTMT4Y+0vSi1awEFtfKH2ffIGZNXZAoBimJ+iCxMrulODU4W2Uh
+032Q3xcV/AToImtoSoOvT0ajHHlXHFuVK19VxQFX4k77W4s6o7xPLTuoLKb4aP7
LGA6DXlyXoMZc2keKmJHYO39G1f3kUWGUutyTgXQru5KK8RawL5TSvVtMSxHs0hL
dZhIHFM2KIFjWNk=
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDsVKr81t7US/op
Afgsrk7QoS9yt7jOvIOFKVzuIvxAQbVPgzH7NKe67ASpDqj5ZAkpzJ0iTwaDOLt0
3NwPcnf244Z948AXngjFpF34nrpC689514D9SxFKG/ldaLQ9Ohz55390l1J4i3wr
Ncd5mAIeeFNJ+OjA68Z7hy3IBIBggD1jIaRbA+MdY/JvMQqqkEEwj7tyf3bo36w6
RNHZ+o89aaYLwq99YUmus1p6KLocKAreqAEz3dETmayMWK1TN6c+ZLtbt6mp5HGG
L7zLWbI3OweaM3ZUvrF3nmDqv/9Uxl1jYZMsHXZd/NVyBbxFiT0rntuoeNZjFqs/
B9eV3mzXAgMBAAECggEBANh0P9uuDY9SO0B97kk2KTfKucOPZDPt02QOW3A9GN7d
j+vQlOGo+4sniqkwpTEuH3pqTu1Shft/5amGdAOt6xR0lgUNqS24b/5dqjgBYUXT
50aITDsyGxbOglm8gYCmjk2Ra1plEoMX9lU5P4ct45r2yAozcTLpf/Q5/oN5I/+9
EmmtRLuxSnlLKqIRaaONQij76K/mlAnX7OZGPPKeoi0m93k0HqXita6djIzwGiQS
CLvIaJ93LsWXto+jkFcJnQ9pqGZWPNpmL803+8gNPB7/pgNxbnVGV14gyg8aLO1v
G8eTacv8/Bl/e09AP21gIbQ77M5ugXAKavnp/g385GkCgYEA9veaCZBTVxvYvKzS
bLhJCnXNU2QwOYWxx2pOPDwhufUeD3YxfIsaWOxvIHd9xBDaofoPqkuzQdcQgRjd
8eeYJ7BM1VuHjSW32jO7TPPyM6dh8ME/NThfmz14wxPVhSlOI7oFtUyCTQU+m4Wz
OLKDPcDf+1o+Q0P2F270Iy5lKasCgYEA9Pl5oZGe/NXgis8F+PWUY2Cr/do4pzgG
+2cSaomcpMQULRU775un2ngadbeAKIkSvzyGESRycF9W6nco1EppnGgr0Pdg0vuN
cz1I6v6FkuvnAWqAByo++C7pnO+R/CKs3sCk8sCtlMkjMsa83EBicXEGbZZJfDz1
9VHOd/duVYUCgYEA6mk35w37XLoMrYEoNZNxmKEZ46Y7881HYe0wFxJIPNZA0xIv
hHQP7Ql1rQ5d7ETHEGlmhxBVNBArFS4CNALLtBgtxXGcJsf/SvhBNphxcr/UQY1b
Lmu0q4fcYOUpjLwY8+Y0VtIo92wb8cgkxZMC6RFyR4Rvhq8yHSnuRppZ4QMCgYEA
1J5mm/2YwRcckT2HkIINLYetH2G0hCYToUXfbQpNI5BvdoWUhK1TrUFKrdr7Z7M4
yzRLpDs+/Bszg8KydDa1nSOoy/C5X8UnCtspG5SW+GK5F7iIsC9RgfStnCEuUmkC
Iz+Oqobi4V0FqL9nEb7r8kvH6XtkAmmijC5ZhjQB1kUCgYEAgSicV+DdoixTYJPD
mm13kR1wlkyTHkJ+KWKPbmWa8oIBz5lBhgD1Hg5iMd6bSS7MSMK0AecXIuqijJHM
0ANfLG7wuB4/17GyP0DJtdhRju97vckcjh8ktMaCnhdbTQrVITX1XvhLZJv8kWDc
KggEPmqVPYDG1tBMB5tycUl86b4=
-----END PRIVATE KEY-----
</key>

Комментарии к посту “Единый ключ для всех OpenVPN клиентов

  1. Уведомление: Работа с Easy RSA для OpenVPN | er0p's blog

  2. Уведомление: Пятитысячное хауту по OpenVPN | IT Блог

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *