AWS tiene un increíble firewall integrado en sus servicios principales que se puede usar fácilmente para asegurarse de que solo ciertos puertos estén abiertos al mundo exterior. Un paso adicional que podemos tomar es ejecutar un servidor VPN que sirva como puerta de enlace a nuestras instancias EC2 protegidas. Luego podemos cerrar el acceso SSH directo a nuestras instancias EC2 y también tener la libertad de bloquear el acceso a toda nuestra red simplemente revocando el acceso a través de nuestro servidor VPN. Este último es muy útil si necesita revocar el acceso de un ex empleado. El siguiente tutorial lo guiará a través de los pasos para configurar una instancia EC2 que ejecutará el servidor OpenVPN. Luego cubrirá cómo otorgar y revocar el acceso a través del servidor VPN. Paso 1: cree el grupo de seguridad VPN Descripción general: los grupos de seguridad permiten que sus servidores se comuniquen entre sí en una nube privada mientras exponen puertos específicos al mundo. Vamos a crear un grupo de seguridad para permitir el acceso VPN a nuestro servidor VPN. Asumiremos que todas sus otras instancias EC2 son miembros del grupo de seguridad predeterminado y que el grupo de seguridad predeterminado no permite el acceso desde el mundo exterior. Inicie sesión en , escriba EC2 en el cuadro de búsqueda y haga clic en el objetivo para ir al panel de EC2. https://aws.amazon.com Desde el tablero de EC2, haga clic en Grupos de seguridad Haga clic en Crear grupo de seguridad Ingrese un nombre y una descripción de y especifique las reglas de entrada en los puertos 22, 443, 943 y 1194. Nota: el protocolo para el puerto 1194 es UDP. vpn Nota: si las direcciones IP que usa su equipo son estáticas, puede agregar otra capa de seguridad especificando ese rango de direcciones IP en la de sus reglas. Sin embargo, querrá dejar la en blanco si desea que su equipo pueda conectarse desde diferentes IP, ya que pueden estar trabajando desde un hotel, casa, cafetería, etc. Fuente Fuente Paso 2: Cree la instancia EC2 Regrese al panel de EC2 y luego haga clic en Iniciar instancia Seleccione Ubuntu (por supuesto, puede seleccionar casi cualquier otro sistema operativo que ejecute OpenVPN, pero este tutorial está diseñado para Ubuntu) Seleccione y haga clic en t2.nano Revisar y lanzar En la siguiente pantalla, haga clic en Editar grupos de seguridad Seleccione los grupos de seguridad y y haga clic en vpn predeterminados Revisar e iniciar Haga clic en elija su par de claves y luego haga clic en Iniciar, Iniciar instancias Paso 3: deshabilite la comprobación de origen/destino De la lista de instancias, seleccione la instancia de VPN y luego en el menú desplegable. Luego haga clic en . Esto es necesario ya que, de lo contrario, su servidor VPN no podrá conectarse a sus otras instancias EC2. Networking->Change Source/Dest. Verifique Sí, deshabilitar Paso 4: cree una dirección IP elástica Descripción general: cuando una instancia EC2 se detiene y se reinicia, la dirección IP pública cambia. Queremos que la dirección IP de nuestro servidor VPN permanezca estática, por lo que usaremos una dirección IP elástica. En el Panel de control de E2c, seleccione IP elásticas Haga clic en Asignar nueva dirección Haga clic y luego en en Asignar Cerrar. Tome nota de su dirección IP elástica, ya que será la dirección IP pública de su servidor VPN. Luego, seleccione la IP elástica y haga clic en en el menú desplegable. Asociar dirección Seleccione la instancia EC2 que acaba de crear y haga clic en . Asociar Paso 5: instale y configure el servidor OpenVPN SSH en su servidor VPN: $ ssh ubuntu@IP-PÚBLICA-DE-SERVIDOR-VPN Descargue nuestros scripts de ayuda y establezca una configuración predeterminada: $ git clone $ cd vagrant $ cp config-default.sh config.sh https://github.com/redgeoff/openvpn-server-vagrant openvpn-server- Edite config.sh e ingrese su configuración. Nota: PUBLIC_IP debe ser igual a la dirección IP elástica que creó anteriormente. $ nanoconfig.sh Cambiar a raíz $ sudo su - Actualice Ubuntu e instale OpenVPN. Nota: se le pedirá dos veces y cuando lo haga, seleccione Mantener la versión local actualmente instalada $ /home/ubuntu/openvpn-server-vagrant/ubuntu.sh$ /home/ubuntu/openvpn-server-vagrant/openvpn.sh En este punto, el servidor OpenVPN se está ejecutando. Paso 6: Agrega la ruta Las rutas deben agregarse al servidor para que los clientes de su equipo sepan qué tráfico enrutar al servidor VPN. Puede determinar la subred adecuada regresando a su lista de instancias EC2, haciendo clic en una instancia de destino e identificando la IP privada. Su red serán las primeras 2 partes de la IP privada anexadas con ceros, por ejemplo, 172.31.0.0 En el servidor VPN, edite y agregue algo como lo siguiente: /etc/openvpn/server.conf empuje "ruta 172.31.0.0 255.255.0.0" Luego reinicie el servidor VPN con: $ systemctl reiniciar openvpn@servidor Paso 7: Otorgue acceso a su VPN Nota: Asumimos que todavía está conectado a SSH en la VPN y que ha iniciado sesión como root. Ejecute el siguiente comando y asegúrese de reemplazar a continuación con un nombre único para su usuario/cliente. el cliente $ /home/ubuntu/openvpn-server-vagrant/add-client.sh cliente A continuación, encontrará un archivo de configuración en ~/client-configs/files/nombre-cliente.ovpn Deberá proporcionar este archivo a la persona de su equipo que se conectará a su VPN. SCP es útil para descargar este archivo .ovpn desde su servidor VPN. Su equipo puede usar uno de varios clientes VPN como (OS X) y (Linux, iOS, Android y Windows). Después de instalar uno de estos clientes, deberían poder configurar la configuración de VPN simplemente haciendo doble clic en el archivo .ovpn. Tunnelblick OpenVPN Nota: una vez conectados a la VPN, sus usuarios querrán usar las IP privadas de sus instancias EC2. Probablemente querrá usar Route 53 para crear registros de subdominio que enruten a las IP privadas. Paso 8: Revoque el acceso a su VPN Nota: Asumimos que todavía está conectado a SSH en la VPN y que ha iniciado sesión como root. Ejecute el siguiente comando y asegúrese de reemplazar a continuación con un nombre único para su usuario/cliente. el cliente $ /home/ubuntu/openvpn-server-vagrant/revoke-full.sh cliente Solución de problemas Si su cliente VPN informa un error de protocolo de , lo más probable es que se deba a que su grupo de seguridad VPN (Paso 1) es incorrecto. Asegúrese de haber especificado los puertos y protocolos correctos; un problema común es no especificar UDP para el puerto 1194. enlace TLS fallido Sobre el Autor Geoff Cox es el creador de , un nuevo lenguaje de programación declarativo que te permite crear aplicaciones en JSON. Ha trabajado por cuenta propia durante la mayor parte de los últimos 15 años y le encanta emprender proyectos ambiciosos, aunque exasperantes, como y un . Puede comunicarse con él o en . MSON la creación de una base de datos sistema de sincronización de datos distribuidos @redgeoff7 github