Flashcards: 212.5 - Openvpn

34 tarjetas de repaso. Usa el sistema de repeticion espaciada para memorizar.

P: ¿Cuál es la diferencia principal entre las interfaces tun y tap en OpenVPN?

R: b) tun opera en capa 3 (routing) y tap en capa 2 (bridging). La interfaz tun crea un túnel de capa 3 (IP) adecuado para routing entre subredes diferentes. La interfaz tap emula un dispositivo Ethernet de capa 2, permitiendo bridging y tráfico broadcast. tun es más eficiente y el modo recomendado para la mayoría de escenarios.


P: ¿Qué secuencia de comandos easy-rsa crea correctamente un certificado para un cliente llamado “usuario1”?

R: c) ./easyrsa gen-req usuario1 nopass seguido de ./easyrsa sign-req client usuario1. Primero se genera la solicitud de certificado con gen-req (la opción nopass omite la passphrase), y luego se firma con sign-req especificando el tipo client. Para certificados de servidor, se usa el tipo server en lugar de client.


P: ¿Qué directiva en la configuración del servidor OpenVPN permite que los clientes VPN se comuniquen directamente entre sí?

R: b) client-to-client. Por defecto, el tráfico entre clientes no se permite en OpenVPN. La directiva client-to-client habilita la comunicación directa entre clientes conectados al mismo servidor sin que el tráfico pase por las reglas del firewall del servidor.


P: ¿Qué comando genera la clave estática utilizada para tls-auth en OpenVPN?

R: b) openvpn --genkey secret /etc/openvpn/ta.key. El comando openvpn --genkey secret genera una clave estática que se usa con tls-auth o tls-crypt para añadir una capa adicional de seguridad HMAC al handshake TLS, protegiendo contra ataques DoS y escaneo de puertos.


P: En la configuración de tls-auth, ¿qué valor de dirección usa el servidor y cuál el cliente?

R: b) Servidor: 0, Cliente: 1. Con tls-auth, el servidor usa la dirección 0 (tls-auth ta.key 0) y el cliente usa la dirección 1 (tls-auth ta.key 1). Esto asegura que las firmas HMAC se generen y verifiquen correctamente en cada extremo. Con tls-crypt, no se especifica dirección.


P: ¿Qué comando systemd habilita e inicia un servidor OpenVPN cuyo archivo de configuración es /etc/openvpn/server/server.conf?

R: b) systemctl enable --now openvpn-server@server. La unidad de systemd openvpn-server@ es una plantilla (template unit). El nombre después de @ corresponde al nombre del archivo de configuración sin la extensión .conf dentro de /etc/openvpn/server/. La opción --now combina enable y start en un solo comando.


P: ¿Qué directiva en la configuración del cliente OpenVPN verifica que el certificado presentado por el servidor es realmente de tipo servidor?

R: b) remote-cert-tls server. La directiva remote-cert-tls server verifica que el certificado presentado por el servidor durante el handshake TLS tenga el atributo de uso extendido de clave (EKU) de tipo servidor. Esto previene que un cliente comprometido se haga pasar por servidor.


P: ¿Qué comando de easy-rsa genera los parámetros Diffie-Hellman necesarios para el servidor OpenVPN?

R: c) ./easyrsa gen-dh. El comando ./easyrsa gen-dh genera los parámetros Diffie-Hellman necesarios para el intercambio seguro de claves. El archivo resultante (dh.pem) se referencia en la configuración del servidor con la directiva dh. Este proceso puede tardar varios minutos dependiendo del tamaño de clave.


P: Un administrador quiere que todo el tráfico de los clientes VPN se enrute a través del servidor OpenVPN. ¿Qué directiva debe añadir al archivo server.conf?

R: b) push "redirect-gateway def1 bypass-dhcp". La directiva push "redirect-gateway def1 bypass-dhcp" informa a los clientes que deben redirigir todo su tráfico de Internet a través del túnel VPN. def1 modifica la tabla de rutas del cliente sin eliminar la ruta por defecto original, y bypass-dhcp excluye el tráfico DHCP local.


P: ¿Qué dos pasos adicionales de configuración del sistema son necesarios en el servidor para que los clientes OpenVPN puedan acceder a Internet a través de la VPN?

R: b) Habilitar IP forwarding y configurar NAT/masquerading. Para que los clientes VPN accedan a Internet a través del servidor, se necesitan dos cosas: 1) Habilitar IP forwarding (net.ipv4.ip_forward = 1 en /etc/sysctl.conf) para que el kernel reenvíe paquetes entre interfaces, y 2) configurar NAT con iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE para traducir las direcciones de la red VPN.


P: ¿Qué directiva de OpenVPN envía rutas de redes internas a los clientes para que sepan cómo alcanzarlas a través del túnel?

R: b) push "route 192.168.1.0 255.255.255.0". La directiva push "route ..." en la configuración del servidor envía rutas estáticas a los clientes VPN cuando se conectan. Esto permite que los clientes sepan que deben enrutar el tráfico hacia esas redes a través del túnel VPN.


P: ¿Qué directiva en la configuración del servidor OpenVPN define la subred que se asigna a los clientes VPN?

R: c) server 10.8.0.0 255.255.255.0. La directiva server es un atajo que configura automáticamente la subred VPN, el pool de IPs para clientes, las rutas necesarias y el modo de servidor. En este ejemplo, el servidor recibe la IP 10.8.0.1 y los clientes se asignan direcciones del rango 10.8.0.0/24.


P: ¿Qué diferencia hay entre tls-auth y tls-crypt en OpenVPN?

R: b) tls-auth firma los paquetes de control con HMAC, tls-crypt además los cifra. tls-auth añade una firma HMAC a los paquetes del handshake TLS para verificar su autenticidad. tls-crypt va un paso más allá cifrando también los paquetes de control, lo que oculta la negociación TLS y dificulta la identificación del tráfico OpenVPN.


P: ¿Qué directiva de OpenVPN reduce los privilegios del proceso después de la inicialización, ejecutándose como un usuario no privilegiado?

R: b) user nobody. La directiva user nobody (junto con group nogroup) reduce los privilegios del proceso OpenVPN después de completar la inicialización. Esto limita el daño potencial si el proceso es comprometido, ya que opera con los mínimos privilegios necesarios.


P: ¿Qué archivo registra las asignaciones de direcciones IP persistentes de los clientes OpenVPN?

R: b) /var/log/openvpn/ipp.txt. El archivo ipp.txt (configurado con la directiva ifconfig-pool-persist) almacena las asociaciones entre clientes (por nombre de certificado) y sus direcciones IP asignadas, permitiendo que un cliente reciba la misma IP en reconexiones sucesivas.


P: ¿Qué comando de easy-rsa revoca el certificado de un cliente llamado “cliente1”?

R: b) ./easyrsa revoke cliente1. El comando ./easyrsa revoke cliente1 marca el certificado del cliente como revocado. Después se debe ejecutar ./easyrsa gen-crl para generar la lista de revocación actualizada (crl.pem), y el servidor debe estar configurado con crl-verify para verificarla.


P: ¿Qué directiva de OpenVPN mantiene las claves en memoria y el túnel activo durante un reinicio del servicio con señal SIGUSR1?

R: b) persist-key y persist-tun. Las directivas persist-key y persist-tun son importantes cuando se ejecuta con privilegios reducidos (user nobody). persist-key evita releer las claves privadas (que requieren privilegios), y persist-tun evita cerrar y reabrir la interfaz tun/tap durante reinicios suaves.


P: ¿Qué protocolo de transporte y puerto utiliza OpenVPN por defecto?

R: b) UDP puerto 1194. OpenVPN utiliza por defecto el protocolo UDP en el puerto 1194. UDP es preferido porque ofrece mejor rendimiento al evitar el problema de “TCP sobre TCP”. Sin embargo, se puede configurar con TCP (generalmente en puerto 443) para atravesar firewalls restrictivos.


P: ¿Qué directiva del servidor OpenVPN establece los intervalos de keepalive para detectar clientes desconectados?

R: b) keepalive 10 120. La directiva keepalive 10 120 envía pings cada 10 segundos y considera la conexión caída si no recibe respuesta en 120 segundos. Es un atajo que configura automáticamente los parámetros ping y ping-restart tanto en el servidor como en los clientes.


P: ¿Qué directiva en la configuración del cliente OpenVPN verifica que el certificado del servidor tiene el atributo Extended Key Usage correcto?

R: b) remote-cert-tls server. La directiva remote-cert-tls server verifica que el certificado presentado por el servidor tiene el atributo EKU (Extended Key Usage) de tipo servidor. Esto previene un ataque donde un cliente comprometido podría hacerse pasar por servidor usando su propio certificado de cliente.


P: ¿Qué comando genera la clave estática utilizada para tls-auth en OpenVPN?

R: openvpn —genkey secret /etc/openvpn/ta.key. El comando openvpn --genkey secret genera una clave estática de 2048 bits que se comparte entre servidor y clientes. Esta clave se usa con tls-auth o tls-crypt para añadir una capa adicional de seguridad al handshake TLS.


P: ¿Qué comando de easy-rsa inicializa la infraestructura de clave pública (PKI)?

R: ./easyrsa init-pki. El comando ./easyrsa init-pki crea la estructura de directorios necesaria para la PKI de OpenVPN, incluyendo los directorios para claves privadas, solicitudes y certificados emitidos. Es el primer paso antes de crear la autoridad certificadora con build-ca.


P: ¿Qué comando de easy-rsa genera los parámetros Diffie-Hellman necesarios para el servidor?

R: ./easyrsa gen-dh. El comando ./easyrsa gen-dh genera los parámetros Diffie-Hellman (dh.pem) necesarios para el intercambio seguro de claves en el handshake TLS del servidor. Este proceso puede tardar varios minutos y solo se necesita ejecutar en el servidor, no en los clientes.


P: ¿Qué comando de easy-rsa genera la lista de revocación de certificados (CRL) después de revocar un certificado?

R: ./easyrsa gen-crl. El comando ./easyrsa gen-crl genera el archivo crl.pem que contiene la lista de certificados revocados. El servidor OpenVPN debe estar configurado con crl-verify /ruta/crl.pem para rechazar conexiones de clientes con certificados revocados.


P: ¿Qué comando de easy-rsa crea la autoridad certificadora (CA) para la PKI de OpenVPN?

R: ./easyrsa build-ca. El comando ./easyrsa build-ca genera el certificado raíz (ca.crt) y la clave privada de la CA (ca.key). El certificado de la CA es necesario tanto en el servidor como en los clientes para verificar la autenticidad de los certificados presentados durante la conexión.


P: Tip de examen: tun es el modo más común y recomendado. Se usa routing para conectar subredes…

R: tun es el modo más común y recomendado. Se usa routing para conectar subredes. tap se usa solo cuando se necesita bridging real (misma subred, broadcast de capa 2).


P: Tip de examen: La secuencia completa de PKI es: init-pki -> build-ca -> gen-req -> `sign-…

R: La secuencia completa de PKI es: init-pki -> build-ca -> gen-req -> sign-req -> gen-dh. Los tipos de firma son server para el servidor y client para los clientes. La opción nopass omite la passphrase de la clave privada.


P: Tip de examen: tls-auth añade una firma HMAC a los paquetes del handshake TLS, protegiendo co…

R: tls-auth añade una firma HMAC a los paquetes del handshake TLS, protegiendo contra ataques DoS y de escaneo de puertos. tls-crypt va más allá cifrando también los paquetes de control. El servidor usa tls-auth ta.key 0 y los clientes tls-auth ta.key 1.


P: Tip de examen: El nombre de la instancia después de @ en openvpn-server@server se correspon…

R: El nombre de la instancia después de @ en openvpn-server@server se corresponde con el nombre del archivo de configuración (sin extensión .conf) dentro de /etc/openvpn/server/.


P: Que hace el comando client-to-client?

R: Permite tráfico entre clientes


P: Que hace el comando remote-cert-tls server?

R: Cliente verifica que el cert es de tipo servidor


P: Que es/son PKI con easy-rsa?

R: La infraestructura de clave pública (PKI) es fundamental para OpenVPN. easy-rsa es la herramienta oficial para gestionarla.


P: Que es/son Requisitos de red del servidor?

R: Para que OpenVPN funcione como gateway, se necesita:


P: Que es/son Trampas del examen?

R: > Errores comunes y distinciones criticas que LPI suele evaluar en este subtema: