UFX-EJ1: OpenVPN

  1. Utilice Wikipedia para obtener información sobre los siguientes conceptos: cifrado, clave, esteganografía, cifrado negable, autenticación, algoritmos de cifrado, algoritmos de autenticación y proof-of-work system. Después describa brevemente cada uno de los conceptos.
  2. Busque información sobre: cifrado simétrico, cifrado asimétrico y cifrado de curva elíptica. Después valore cada sistema en términos de ventajas e inconvenientes, seguridad, velocidad y posibles casos de uso. Cite algunos algoritmos de cada tipo.
  3. Busque información sobre la compresión sin pérdida. Cite algunos algoritmos.
  4. Busque en la documentación de OpenVPN información sobre:
    • Posibilidades para autenticar a los participantes en un túnel. Algoritmos utilizados.
    • Posibilidades de cifrado. Algoritmos utilizados.
    • Posibilidades de compresión. Algoritmos utilizados.

 


 

  1. Utilice VirtualBox para construir dos clones de un sevidor con OpenVPN. De manera que:
    • Las máquinas se llamarán OpenVPN-A y OpenVPN-B
    • Ambas tendrán una interfaz de red en modo NAT
    • Ambas tendrán una segunda interfaz de red en modo interno, para el switch OpenVPN. Estos adaptadores de red tendrán las IPs 192.168.200.201 y 192.168.200.202 respectivamente en la primera y segunda máquina virtual
  2. Instale OpenVPN en cada una de las máquinas virtuales
  3. Una vez que ha comprobado que la máquina OpenVPN-A puede hacer pings a 192.168.200.202 y viceversa, configure un túnel sin compresión, sin autenticación y sin cifrado.
    • Los ficheros de configuración del túnel serán /etc/openvpn/A-B.conf y /etc/openvpn/A-B.sh
    • Se utilizará el puerto 1194
    • Se utilizarán dispositivos tapX
    • Las IPs de los extremos del túnel serán 172.16.107.1 y 172.16.107.2 de la red /30
dev tap0
port 1194
verb 3
remote 192.168.200.202
up /etc/openvpn/A-B.sh
#!/bin/bash
ip addr add 172.16.107.1/30 brd + dev tap0
ip link set dev tap0 up
  1. Compruebe el correcto funcionamiento del túnel
  2. Revise los mensajes en el fichero de registro
  3. Compruebe cómo si uno de los extremos cae, el túnel se vuelve a reestablecer en cuanto vuelve a estar disponible
  4. Lea, en la página de manual de OpenVPN, la sección dedicada a la opción --auth alg y --cipher alg. Cambie la configuración del túnel para que se utilice autenticación y cifrado en modo de clave estática.
  5. Revise los ficheros de registro.
  6. Cuando OpenVPN funciona en modo clave estática se utiliza por defecto Blowfish como algoritmo de cifrado. Lea la página de Wikipedia de dicho algoritmo, ¿quién lo diseñó?. Lea la página del autor.

 


 

OpenVPN puede funcionar en modo cliente/servidor, de manera que un equipo actúa como servidor con una IP y puertos conocidos y los clientes establecen túneles con el servidor. Este modo de funcionamiento tiene la ventaja de que en el lado del cliente no es necesario realizar ninguna configuración en el router. De modo que es perfectamente válida para road warriors que se conectan desde un hotel y no tienen control sobre el router que utilizan.

Además el modo cliente/servidor ofrece otras características interesantes, a saber:

  • Se simplifica la configuración cuando aumenta el número de túneles. El propio servidor define la red que se utiliza y asigna una IP libre de dicha red a cada conexión.
  • Se utiliza cifrado asimétrico, así que hay que contruir una PKI.
  • Es posible tener un grupo de servidores para proporcionar mayor disponibilidad a los clientes.

 

Puede encontrar detalles sobre la configuración de OpenVPN en este modo en:

 

  1. Prepare 4 máquinas virtuales con los nombres OpenVPN-{A,B,C,D}. Cada una de ellas tendrá una interfaz en modo NAT y una segunda interfaz de red en modo red interna 'OpenVPN'.
  2. Instale OpenVPN en cada una de las 4 máquinas
  3. Asegúrese de que la segunda interfaz de red tenga la IP 192.168.200.{1,2,3,4} según corresponda. Compruebe que las máquinas se pueden comunicar entre ellas.
  4. Utilice OpenVPN-A para construir una Autoridad de Certificación y todas las claves y certificados necesarios para 1 servidor y 12 clientes.
  5. Configure el servidor y los clientes, distribuyendo los ficheros según sea necesario. El servidor utilizará la red 172.16.107.0/24 para la VPN.
  6. Compruebe que los clientes pueden establecer comunicación con el servidor de manera independiente.
  7. Compruebe que los clientes obtienen una dirección de red adecuada.
  8. Compruebe que un cliente puede comunicarse con otro cliente mediante la VPN.
  9. Compruebe los ficheros de registro tanto del servidor como del cliente.