Hace un tiempo, publicamos una guía que describía la forma más fácil de instalar y configurar OpenVPN mediante un script llamado openvpn-install. . Con este script, cualquier persona, incluso los principiantes, puede implementar una configuración OpenVPN funcional en pocos minutos en sistemas basados en DEB y RPM. El otro día, uno de nuestros lectores sugirió que existe otro script similar llamado "PiVPN" , que se utiliza para configurar OpenVPN en Raspberry Pi. Está diseñado principalmente para Raspberry Pi, sin embargo, funcionará en Debian y Ubuntu. Actualmente, solo es compatible con Ubuntu 14.04 LTS.
¿Qué tan seguro es PiVPN?
Antes de pasar a la parte de la instalación, analicemos algunas de sus características de seguridad. Aunque la instalación es tan trivial, no significa que PiVPN no sea lo suficientemente seguro para usar en producción. Todo se ha actualizado desde el primer momento más allá de la configuración predeterminada para fortalecer la seguridad del servidor y el cliente. Le brinda la posibilidad de habilitar actualizaciones desatendidas que parchearán automáticamente su servidor con actualizaciones de seguridad. Además, la configuración del servidor solo utilizará el último protocolo TLS 1.2. Tanto los canales de datos como los de control utilizan algoritmos hash y cifrado AES y SHA256 actualizados.
Me gustaría probarlo y ver cómo funciona en mi edición de servidor Ubuntu 14.04 LTS. Así que aquí vamos.
PiVPN:instalación y configuración de OpenVPN más sencilla
Instalar OpenVPN
La instalación es extremadamente simple. Abra la Terminal y ejecute el siguiente comando:
curl -L https://install.pivpn.io | bash
Sí, es así de simple. Después de unos segundos, ingrese la contraseña de usuario sudo. El comando anterior descargará e instalará la última versión de OpenVPN junto con todas las dependencias requeridas en su sistema. PiVPN le hará una serie de preguntas en el camino. Simplemente vaya con los valores predeterminados, ya que es suficiente para configurar el servidor OpenVPN en funcionamiento.
Haga clic en Aceptar para continuar.
PiVPN necesita una DIRECCIÓN IP ESTÁTICA para funcionar correctamente.
Si tiene más de una interfaz de red, elija cualquiera para configurarla.
PiVPN no configurará la dirección IP estática si no está utilizando un dispositivo Raspberry Pi. A los efectos de esta guía, utilizo Ubuntu 14.04, por lo que no configura la IP estática.
A continuación, elija un usuario local que contendrá sus configuraciones de ovpn.
Se recomienda habilitar las actualizaciones desatendidas para actualizar las actualizaciones de seguridad automáticamente. Elija Sí para habilitar las actualizaciones desatendidas.
Elija un protocolo.
Elija el puerto OpenVPN. El valor predeterminado es suficiente para la mayoría de los casos.
Elija el nivel de cifrado que desee. Voy con el valor predeterminado.
Haga clic en Aceptar para generar la clave Diffie-Hellman:
Luego, elija si los clientes usan una IP pública o un nombre DNS para conectarse al servidor.
Elija el proveedor de DNS para sus clientes VPN. Para usar el tuyo propio, selecciona Personalizado.
¡Felicidades! OpenVPN ha sido instalado en su servidor.
Finalmente, haga clic en Sí para reiniciar su sistema.
Para verificar si el servicio OpnVPN se está ejecutando, ingrese el siguiente comando:
$ sudo service openvpn status * VPN 'server' is running
Compruebe si OpenVPN está escuchando el servidor:
$ ps auxww | grep openvpn nobody 936 0.0 0.3 28624 2428 ? Ss 16:15 0:00 /usr/sbin/openvpn --writepid /run/openvpn/server.pid --daemon ovpn-server --cd /etc/openvpn --config /etc/openvpn/server.conf --script-security 2 sk 1206 0.0 0.1 11740 940 pts/1 S+ 16:15 0:00 grep --color=auto openvpn
Como puede ver, ¡el servidor OpenVPN está en funcionamiento! Avancemos y configuremos los clientes.
Crear un perfil de cliente ovpn
Después de reiniciar el servidor, ejecute el siguiente comando para crear un perfil ovpn de cliente.
pivpn add
O,
pivpn -a
Introduzca un nombre para su sistema cliente y una contraseña segura.
Enter a Name for the Client: client ##ENTER client certificate name Enter the password for the client: ##ENTER password Enter the password again to verify: ##ENTER password again spawn ./easyrsa build-client-full client Note: using Easy-RSA configuration from: ./vars Generating a 2048 bit RSA private key ..................................................+++ .....................................+++ writing new private key to '/etc/openvpn/easy-rsa/pki/private/client.key.YlVMZrBWgj' Enter PEM pass phrase:ubuntu Verifying - Enter PEM pass phrase:ubuntu ----- Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :PRINTABLE:'client' Certificate is to be certified until Jul 9 09:47:17 2027 GMT (3650 days) Write out database with 1 new entries Data Base Updated Client's cert found: client.crt Client's Private Key found: client.key CA public Key found: ca.crt tls-auth Private Key found: ta.key ======================================================== Done! client.ovpn successfully created! client.ovpn was copied to: /home/sk/ovpns for easy transfer. ========================================================
Si no desea una contraseña para los certificados de cliente, puede omitir la opción de contraseña usando el comando:
pivpn add nopass
Los perfiles de los clientes se almacenarán en /home/username/ovpns . Para verificarlo, ejecute:
$ ls /home/sk/ovpns/ client.ovpn
Debe copiar los perfiles en los sistemas de sus clientes para conectarse con el servidor OpenVPN.
Por ejemplo, copia los perfiles de los clientes usando el comando scp como se muestra a continuación.
cd /home/sk/ovpns/
scp client.ovpn [email protected]:/etc/openvpn/
Aquí, 192.168.43.150 es la dirección IP de mi cliente openvpn.
Lista de todos los certificados
Para enumerar todos los certificados válidos y revocados, ejecute:
pivpn list
O,
pivpn -l
Salida de muestra:
: NOTE : The first entry should always be your valid server! ::: Certificate Status List ::: :: Status || Name :: Valid :: server Valid :: client
Revocar un perfil ovpn de cliente
Para revocar el perfil de un cliente ovpn, ejecute:
pivpn revoke
O,
pivpn -r
Eliminar PiVPN
¿No te gusta PiVPN? Puede desinstalarlo ejecutando el siguiente comando:
pivpn -u
O,
pivpn uninstall
Y, eso es todo por ahora. En la siguiente guía, explicaré cómo autenticar clientes OpenVPN. Espero que esto ayude. Si encuentra útiles nuestras guías, dedique un momento a compartirlas en sus redes sociales, redes profesionales y apoye a OSTechNix.
¡Salud!