1 00:00:00,180 --> 00:00:41,789 Entonces vamos a poner sudo cp openvpn.pki.dh.pem.etc.openvpn. 2 00:00:41,789 --> 00:00:43,390 Vamos a ver si está bien escrito. 3 00:00:43,390 --> 00:00:53,649 vale vamos a copiar desde nuestra carpeta a etcétera open vpn estaría correcto le damos 4 00:00:55,509 --> 00:01:04,379 y ya estaría bien entonces ya hemos hecho todos estos pasos 5 00:01:11,620 --> 00:01:18,319 que nos quedaría ahora hemos generado el digifeldman y nos quedaría ahora generar 6 00:01:18,319 --> 00:01:21,599 la clave TLS. Ya vimos que esta clave 7 00:01:21,599 --> 00:01:24,640 sirvía para evitar ataques desde la nación de servicio, 8 00:01:25,500 --> 00:01:27,540 para proteger el handshake 9 00:01:27,540 --> 00:01:30,500 TLS, hacer que solo 10 00:01:30,500 --> 00:01:32,659 clientes legítimos puedan iniciar la conexión 11 00:01:32,659 --> 00:01:36,299 y lo que vamos a generar es 12 00:01:36,299 --> 00:01:39,500 un TA.key en el 13 00:01:39,500 --> 00:01:42,540 servidor, en el archivo de configuración 14 00:01:42,540 --> 00:01:45,420 del servidor y en el cliente. 15 00:01:45,420 --> 00:01:56,260 Bien, entonces vamos a generar la clave TLS, la TA.key. 16 00:01:56,260 --> 00:02:03,780 Entonces le damos a OpenVPN, GenKey. 17 00:02:11,620 --> 00:02:15,900 Bien, con esto nos crea la clave de seguridad adicional usada por OpenVPN 18 00:02:15,900 --> 00:02:18,379 para proteger la comunicación de túnel. 19 00:02:19,180 --> 00:02:25,680 Hemos visto todo lo que nos hacía esta nueva clave 20 00:02:25,680 --> 00:02:38,000 y hay que decir que en el servidor se usa como lsout.ta.key 0 y en el cliente como 1. 21 00:02:39,340 --> 00:02:46,460 Luego lo veremos, ta.key es compartida entre servidor y cliente, pero solo sirve para proteger, no tiene certificados. 22 00:02:47,319 --> 00:02:53,020 Bien, ahora vamos a copiar todos los archivos importantes al directorio de OpenVPN. 23 00:02:55,680 --> 00:03:21,599 Para ello, todos los certificados que teníamos, ¿cuáles eran? Teníamos tanto el ca.crt, que era el certificado raíz, que permitía verificar los certificados, el server.crt, que era el certificado público del servidor, el server.key, que era la clave privada del servidor, el dh.pem, que eran los parámetros de Diffie-Hellman, para que vaya cifrado, 24 00:03:21,599 --> 00:03:25,300 y luego el TA.KEY, que era la clave TLS extra. 25 00:03:25,979 --> 00:03:27,379 Entonces vamos a copiarlos todos, 26 00:03:27,379 --> 00:03:42,099 vamos a copiarlos como los tenemos en PKI, 27 00:03:42,479 --> 00:03:47,919 CA.CRT, ese sería uno de ellos, 28 00:03:48,879 --> 00:03:54,099 también del PKI de esta carpeta, 29 00:03:54,099 --> 00:04:11,979 donde teníamos el server.crt, también de pki, pero en private, teníamos el server.key, 30 00:04:11,979 --> 00:04:33,240 En PKI teníamos el dh.pen y nos queda el ta.key. Esto lo vamos a llevar a openvpn-ca. 31 00:04:33,240 --> 00:04:57,689 Vamos a ver si está todo correcto. Sería, vale, sudo cpin, el cacrt, el server.crt, luego tenemos el server.key, el dh.pen, el ta.key y pasaría a la carpeta, vale. 32 00:04:57,689 --> 00:05:22,660 Lo tenemos, hemos creado, lo hemos creado en OpenVPN, entonces esto sería así. Ahora, entonces le damos y ya estaría. Ahora creamos la configuración del servidor, del fichero server.conf. 33 00:05:22,660 --> 00:05:36,839 Este archivo, ¿qué le va a decir al servidor OpenVPN? Pues qué puerto usar, qué protocolo, qué certificados cargar, qué rango de red asignar a la VPN, cómo mantener viva la conexión. 34 00:05:36,839 --> 00:05:53,060 Entonces, nos vamos con nano.itc.openvpn, lo hemos llamado, y el server.conf. 35 00:05:55,660 --> 00:06:00,060 Y tendremos que poner una serie de parámetros que serían todos estos. 36 00:06:00,060 --> 00:06:18,220 que serían primero el puerto, port, luego proto-udp, el proto-udp que sería udp porque es más rápido y eficiente, 37 00:06:18,220 --> 00:06:20,879 entonces el protocolo sería el UDP 38 00:06:20,879 --> 00:06:24,699 luego tenemos el DEV 39 00:06:24,699 --> 00:06:29,040 que crea un túnel IP 40 00:06:29,040 --> 00:06:32,740 no un puente 41 00:06:32,740 --> 00:06:36,199 entonces el protocolo sería el TUN 42 00:06:36,199 --> 00:06:39,180 el túnel que se va a crear 43 00:06:39,180 --> 00:06:44,259 tenemos el CA 44 00:06:44,259 --> 00:06:48,160 que ya hemos visto que sería el CACRT 45 00:06:48,160 --> 00:07:11,959 Luego el certificado, que será el server.crt, la clave, que sería server.key, y el dh, que sería el dh.pem. 46 00:07:11,959 --> 00:07:25,899 Luego el TLS también, TLS out, que habíamos dicho que era el T aquí y que sería el 0 porque es el servidor. 47 00:07:25,899 --> 00:07:41,899 Y luego tenemos el server, que sería el 10.8.0.0 y la máscara 255.255.0. 48 00:07:41,899 --> 00:08:02,600 0. Keep Alive. El Keep Alive, que sería, esta evita que el túnel se cierre y lo vamos a poner en 10, 120. 49 00:08:02,600 --> 00:08:06,139 vale, y que nos quedaría 50 00:08:06,139 --> 00:08:07,079 nos quedaría 51 00:08:07,079 --> 00:08:12,689 persist 52 00:08:12,689 --> 00:08:14,810 aquí 53 00:08:14,810 --> 00:08:22,610 y el persist 54 00:08:22,610 --> 00:08:23,829 3 55 00:08:23,829 --> 00:08:33,450 vamos a ver que esté todo correcto 56 00:08:33,450 --> 00:08:34,710 y ahora explico lo que quedaba 57 00:08:34,710 --> 00:08:36,309 puerto, muy bien 58 00:08:36,309 --> 00:08:37,970 vale 59 00:08:37,970 --> 00:08:40,850 el certificado 60 00:08:40,850 --> 00:08:43,029 la clave 61 00:08:43,029 --> 00:08:45,169 Importante que este fichero esté bien, 62 00:08:45,370 --> 00:08:47,250 si no, luego no va a funcionar. 63 00:08:47,850 --> 00:08:50,309 Tx, el servidor 18. 64 00:09:01,620 --> 00:09:05,980 Pues entonces, bien, hemos puesto ahí los certificados 65 00:09:05,980 --> 00:09:09,440 que son el CACRT, el ServerCRT, el ServerKey 66 00:09:09,440 --> 00:09:12,820 y el DiviGelman, que es el DH.p. 67 00:09:12,820 --> 00:09:15,120 parámetros de negociación segura 68 00:09:15,120 --> 00:09:16,259 la clave privada del servidor 69 00:09:16,259 --> 00:09:18,179 quién es el servidor y quién firma 70 00:09:18,179 --> 00:09:21,259 luego la clave 71 00:09:21,259 --> 00:09:23,539 la red VPN interna 72 00:09:23,539 --> 00:09:24,899 pues tenemos que es el 73 00:09:24,899 --> 00:09:28,720 el servidor VPN 74 00:09:28,720 --> 00:09:30,379 sería el 75 00:09:30,379 --> 00:09:34,799 bien, solo nos quedaba 76 00:09:34,799 --> 00:09:35,259 el 77 00:09:35,259 --> 00:09:37,919 el servidor 78 00:09:37,919 --> 00:09:41,179 a ver, OpenVPN va a crear 79 00:09:41,179 --> 00:09:42,059 la red 80 00:09:42,059 --> 00:09:45,220 servidor VPN y primer cliente 81 00:09:45,220 --> 00:09:47,700 como 10.8.0.1 82 00:09:47,700 --> 00:09:50,600 y el cliente 10.8.0.2 83 00:09:50,600 --> 00:09:52,600 luego nos dice 84 00:09:52,600 --> 00:09:54,440 cómo dejar 85 00:09:54,440 --> 00:09:56,460 mantener la conexión 86 00:09:56,460 --> 00:09:57,340 viva 87 00:09:57,340 --> 00:10:00,899 y luego evitar que el túnel 88 00:10:00,899 --> 00:10:03,039 se cierre, que sería estos los persis 89 00:10:03,039 --> 00:10:04,700 y ya estaría 90 00:10:04,700 --> 00:10:07,139 lo vamos a guardar 91 00:10:07,139 --> 00:10:26,879 vale comprobamos que es así y está correcto bien limpiamos y ahora qué es cuál es el 92 00:10:26,879 --> 00:10:32,480 siguiente paso a seguir ahora hay que inicializar y habilitar el servidor vpn entonces vamos a 93 00:10:32,480 --> 00:11:22,899 ponerlo. Vamos a ver el status. Y nos dice que está corriendo. Borramos y ya estaría corriendo 94 00:11:22,899 --> 00:11:30,620 nuestro servidor VPN. Ya está activo. Entonces ahora hay que crear los certificados del cliente 95 00:11:30,620 --> 00:11:39,100 Entonces los clientes no generan sus certificados, todo se hace con la autoridad de certificación en el servidor. 96 00:11:39,100 --> 00:12:08,370 Entonces vamos a generar la clave privada del cliente, bueno estamos en la carpeta WPNCA, entonces ponemos RSA, requerimiento que le requerimos que client1 no pase, bien, lo vamos a llamar así, 97 00:12:08,370 --> 00:12:11,149 y nos va a crear el client1.key 98 00:12:11,149 --> 00:12:12,610 y el client1.rec 99 00:12:12,610 --> 00:12:15,529 le damos y nos lo crearía 100 00:12:15,529 --> 00:12:21,490 bien, vamos a poner el client1 101 00:12:21,490 --> 00:12:24,590 y ya lo tendríamos 102 00:12:24,590 --> 00:12:28,049 bien, si veis nos ha creado el client1.rec 103 00:12:28,049 --> 00:12:29,669 y el client1.key 104 00:12:29,669 --> 00:12:30,389 ya los tenemos 105 00:12:30,389 --> 00:12:33,389 y ahora pues habrá que firmar 106 00:12:33,389 --> 00:12:35,149 el certificado del cliente 107 00:12:35,149 --> 00:12:36,309 como hicimos con el servidor 108 00:12:36,309 --> 00:12:37,750 con la autoridad certificadora 109 00:12:37,750 --> 00:13:14,279 Entonces, le damos a client1, le damos y decimos que sí, y entramos la clave. Y ya estaría, ¿veis? Nos ha creado el client1.crt. 110 00:13:14,279 --> 00:13:32,500 Bien, ¿qué nos quedaría? Ahora hay que transferir al cliente todos esos certificados, tanto el client.crt, que sería el certificado público, el client.key, que sería la clave privada, el ca.crt, que sería verificar al servidor, y el ta.key, que sería la seguridad extra TLS. 111 00:13:32,500 --> 00:13:59,980 Entonces, vamos a enviarlo con SCP y vamos a poner PKI y lo vamos a enviar dependiendo de en qué carpetas estén. 112 00:13:59,980 --> 00:14:21,200 Entonces el client 1.crt pasará a Paco, que es como se llama nuestra máquina, y al 10.0.0.2, recordaros que era el cliente, a home, Paco. 113 00:14:21,200 --> 00:14:23,639 bien, vamos a ver que esté bien 114 00:14:23,639 --> 00:14:26,080 vpnca 115 00:14:26,080 --> 00:14:27,539 pki, vale 116 00:14:27,539 --> 00:14:30,259 y client1 117 00:14:30,259 --> 00:14:31,600 a paco 118 00:14:31,600 --> 00:14:33,659 y debería hacerlo bien 119 00:14:33,659 --> 00:14:36,360 ponemos la password 120 00:14:36,360 --> 00:14:42,100 y ya estaría 121 00:14:42,100 --> 00:14:43,480 ahora vamos a pasarle 122 00:14:43,480 --> 00:14:45,480 el client1 123 00:14:45,480 --> 00:14:46,620 punto 124 00:14:46,620 --> 00:14:49,700 key, entonces vamos a pasarle 125 00:14:49,700 --> 00:14:50,940 el key 126 00:14:50,940 --> 00:14:53,360 y que no estaba en esta carpeta 127 00:14:53,360 --> 00:14:54,220 sino que estaba en private 128 00:14:54,220 --> 00:14:59,320 ahí no la generaba, vamos a ver que esté bien 129 00:14:59,320 --> 00:15:01,700 ca pki 130 00:15:01,700 --> 00:15:07,500 cliente1 key y en la misma dirección 131 00:15:07,500 --> 00:15:10,299 le damos, ponemos la clave 132 00:15:10,299 --> 00:15:17,340 y ya estaría, ahora pasamos a por el ca crt 133 00:15:17,340 --> 00:15:19,580 el ca crt 134 00:15:19,580 --> 00:15:28,059 ca.crt, sí, estaría bien 135 00:15:28,059 --> 00:15:32,539 y este estaría directamente en PKI. 136 00:15:33,700 --> 00:15:38,759 ¿Vale? PKI, CACRT y correcto. 137 00:15:43,480 --> 00:15:47,519 Ya lo tenemos y nos quedaría el TEA aquí. 138 00:15:48,299 --> 00:15:51,860 Vamos a poner el TEA.key 139 00:15:51,860 --> 00:16:01,299 y vamos a ver que está directamente en la carpeta openvpn-ca. 140 00:16:01,299 --> 00:16:04,379 está correcto, sí, y le damos 141 00:16:04,379 --> 00:16:12,929 vale, y ya lo tendríamos, como tiene que ser en la máquina del cliente 142 00:16:12,929 --> 00:16:16,629 nos vamos a ir a la máquina del cliente, nos metemos 143 00:16:16,629 --> 00:16:24,580 y vemos que estamos en la VPN 144 00:16:24,580 --> 00:16:29,080 en la parte del cliente, bien, entonces aquí lo que vamos a hacer 145 00:16:29,080 --> 00:16:32,940 es colocar los archivos como hicimos en el servidor 146 00:16:32,940 --> 00:16:40,350 y los vamos a mover desde un tanto client 147 00:16:40,350 --> 00:16:59,580 .crt, client.key, pero lo habíamos llamado como 1, client1, y client1 aquí, y qué más, 148 00:16:59,580 --> 00:17:20,279 el ca.crt y el ta.key y los pasamos a openvpn. Vamos a ver que esté bien. Movemos client1.crt, 149 00:17:20,279 --> 00:17:22,480 client1 key, cacrt 150 00:17:22,480 --> 00:17:23,200 este de aquí 151 00:17:23,200 --> 00:17:26,180 vale, así 152 00:17:26,180 --> 00:17:28,019 openvpn podrá encontrarlos 153 00:17:28,019 --> 00:17:30,039 cuando inicie 154 00:17:30,039 --> 00:17:36,069 vale, ya está 155 00:17:36,069 --> 00:17:38,789 vamos ahora a crear la configuración 156 00:17:38,789 --> 00:17:40,950 del client.conf y por tanto 157 00:17:40,950 --> 00:17:43,069 como pasaba en el servidor 158 00:17:43,069 --> 00:17:43,789 nano 159 00:17:43,789 --> 00:17:47,400 etc 160 00:17:47,400 --> 00:17:50,799 openvpn 161 00:17:50,799 --> 00:17:54,119 y aquí teníamos el 162 00:17:54,119 --> 00:17:59,180 client.conf 163 00:17:59,180 --> 00:18:00,420 le vamos a llamar así 164 00:18:00,420 --> 00:18:03,200 y estaría bien 165 00:18:03,200 --> 00:18:05,400 nos metemos 166 00:18:05,400 --> 00:18:06,640 y vamos a hacer exactamente lo que 167 00:18:06,640 --> 00:18:08,960 pero ahora el que tenemos aquí 168 00:18:08,960 --> 00:18:10,079 es el cliente 169 00:18:10,079 --> 00:18:13,299 vamos a poner el devtune 170 00:18:13,299 --> 00:18:15,299 ponemos 171 00:18:15,299 --> 00:18:17,660 udp 172 00:18:17,660 --> 00:18:19,599 el protocolo 173 00:18:19,599 --> 00:18:21,980 ponemos 174 00:18:21,980 --> 00:18:23,720 remote 175 00:18:23,720 --> 00:18:28,160 sería el 10.0.0.1 176 00:18:28,160 --> 00:18:31,200 a través del puerto 1194 177 00:18:31,200 --> 00:18:36,240 y tenemos que el CA va a ser el CA.CRT 178 00:18:36,240 --> 00:18:40,200 que el certificado va a ser el 179 00:18:40,200 --> 00:18:44,660 client1.CRT 180 00:18:44,660 --> 00:18:47,920 la clave key va a ser el 181 00:18:47,920 --> 00:18:51,980 client1.key 182 00:18:51,980 --> 00:19:18,220 Luego el TLS, el TLS out, acordaos que aquí era un 1, aquí 1, y nos quedaría la persistencia, persist key, y persist tune, y ya estaría en verb 3. 183 00:19:18,220 --> 00:19:42,480 Bien, vamos a repasar que esté todo bien, client deptune, el protodp, remote al 1001-1194, luego el ca era el ca.crt, el certificado es el client1.crt, la clave el client1.key, la tls out es el ta.key y estaría todo correcto. 184 00:19:42,480 --> 00:19:54,480 le vamos a guardar y comprobamos que está bien vale perfecto es igual que lo que teníamos 185 00:19:54,480 --> 00:20:00,000 anteriormente entonces ahora no nos quedaría más que iniciar la vpn que ya vimos que estaba iniciada 186 00:20:00,000 --> 00:20:22,950 en el servidor, hay que iniciarla en el cliente, sudo systemctl start-open-vpn y client. Y ahora 187 00:20:22,950 --> 00:20:30,839 y el status 188 00:20:30,839 --> 00:20:37,859 y estaría corriendo también 189 00:20:37,859 --> 00:20:40,079 vale, perfecto 190 00:20:40,079 --> 00:20:41,859 ahora vamos a probar la VPN 191 00:20:41,859 --> 00:20:43,579 en el lado del cliente 192 00:20:43,579 --> 00:20:45,059 borramos 193 00:20:45,059 --> 00:20:47,720 estarían corriendo tanto en el lado del servidor 194 00:20:47,720 --> 00:20:49,079 como en el lado del cliente 195 00:20:49,079 --> 00:20:52,039 y vamos a probar la VPN con un IPA 196 00:20:52,039 --> 00:20:57,869 y debería aparecer el tuncero 197 00:20:57,869 --> 00:21:00,529 por aquí 198 00:21:00,529 --> 00:21:18,740 vamos a comprobar 199 00:21:18,740 --> 00:21:19,819 quien el servidor 200 00:21:19,819 --> 00:21:28,839 está corriendo 201 00:21:28,839 --> 00:21:34,819 el estado de la VPN 202 00:21:34,819 --> 00:21:35,759 está corriendo 203 00:21:35,759 --> 00:21:38,720 y aquí 204 00:21:38,720 --> 00:21:44,579 también está corriendo 205 00:21:44,579 --> 00:21:46,259 el estado 206 00:21:46,259 --> 00:21:52,690 vale, os he dicho que el TLS 207 00:21:52,690 --> 00:21:53,470 ha fallado 208 00:21:53,470 --> 00:22:02,400 y yo cuando le doy un 209 00:22:02,400 --> 00:22:16,069 El TUN no aparece como TUN0. Hay tres. Bien, pues entonces vamos a hacer comprobaciones 210 00:22:18,150 --> 00:22:28,509 porque no está funcionando. Primero vamos a comprobar los certificados en el servidor. 211 00:22:28,509 --> 00:22:34,509 Entonces nos vamos a ir al servidor. Eso es porque le puede faltar algún certificado. El servidor 212 00:22:34,509 --> 00:22:53,420 vamos a verificar que están todos. Aquí tenemos, tendríamos que tener 4, 6. Tenemos el CACRT, 213 00:22:53,420 --> 00:23:04,059 tenemos el DHPM, el server.conf, el server.key, el .CRT y nos faltaría alguno, ¿no? 6, 2, 214 00:23:04,059 --> 00:23:13,960 el TEA.key también está. Con lo cual aquí está perfecto. Nos vamos al cliente y ahora vamos a 215 00:23:13,960 --> 00:23:20,140 ver el paso del cliente. Comprobar los certificados. Hacemos lo mismo. Vamos a borrar y vamos a poner 216 00:23:20,140 --> 00:23:29,359 lo mismo que hemos puesto en el servidor y vemos si se han transferido de manera correcta. OpenVPN. 217 00:23:29,359 --> 00:23:58,210 ¿Y qué tenemos? Tenemos 1, 2, 3, 4 y 5. Nos falta concretamente 1. Nos faltaría el ta.key, el ca.crt, el client1.crt, el key y el client.conf. Estarían los 5. 218 00:23:58,210 --> 00:24:02,190 vale, están correctos 219 00:24:02,190 --> 00:24:06,869 ahora vamos a revisar el archivo de configuración 220 00:24:06,869 --> 00:24:09,609 no sea que nos hayamos equivocado en algo 221 00:24:09,609 --> 00:24:12,190 entonces vamos al archivo de configuración 222 00:24:12,190 --> 00:24:14,190 con nano 223 00:24:14,190 --> 00:24:16,849 que sería este 224 00:24:16,849 --> 00:24:20,049 y habíamos puesto client devtune 225 00:24:20,049 --> 00:24:22,150 bien, el protocolo udp 226 00:24:22,150 --> 00:24:24,910 habíamos puesto 10.0.0.1 227 00:24:24,910 --> 00:24:40,990 vale, el CACRT, perfecto, certificado client.crt, la clave client1.key, el TLS out TA.key1, muy bien, 228 00:24:40,990 --> 00:24:44,529 y persist key 229 00:24:44,529 --> 00:24:47,069 persist tune y verb 230 00:24:47,069 --> 00:24:56,220 estaría correcta 231 00:24:56,220 --> 00:24:59,039 entonces esto también estaría correcto 232 00:24:59,039 --> 00:25:05,490 vamos a ver el lado del servidor