SlideShare una empresa de Scribd logo
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Conexión Segura a un VPS mediante una VPN SSL
Introducción:
Para asegurar la administración remota de un servidor privado virtual (Virtual Private
Server al cual llamaremos VPS de ahora en adelante) o una instancia virtual en la nube,
es recomendable establecer una conexión encriptada primero. Esto lo podemos hacer
mediante una VPN o consola SSH. La ventaja de una conexión mediante VPN es que
la misma dirige todo el tráfico mediante el túnel encriptado mientras que la conexión SSH
solamente lo haría por medio de la creación de túneles.
Al utilizar una conexión mediante una VPN SSL como OpenVPN estamos utilizando
solamente un puerto TCP, el 443, el cual es compartido por los servicios Web del
servidor.
Para efectos de este documento estaremos usando un servidor VPS con acceso de root
y les estaremos dando las siguientes recomendaciones para una conexión lo más segura
posible.
El sistema operativo utilizado en el VPS es el Ubuntu 16.04 LTS, y para las conexiones
estaremos usando el cliente SSH para SmartTTY http://smartty.sysprogs.com/ para
sistemas operativos Windows.
En este artículo se asume que el lector conoce como conectarse remotamente al servidor
VPS mediante SSH por lo que obviamos esa parte.
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
1. Actualización del sistema operativo Ubuntu:
Para actualizar el sistema operativo Ubuntu debemos ejecutar los siguientes
comandos
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Este comando actualiza la lista de paquetes disponibles y sus versiones, pero no
instala o actualiza ningún paquete. Esta lista la coge de los servidores con
repositorios que tenemos definidos en el archivo /etc/apt/sources.list.
Después de ejecutado el comando anterior, se ejecuta el siguiente comando
Este comando instala las nuevas versiones los paquetes disponibles en la lista
definida en /etc/apt/sources.list.
2. Cambiar la clave del usuario root y cambiar el usuario root por un usuario con
menos privilegios para el acceso remoto.
Para cambiar la clave del usuario root debemos ejecutar
Aquí debemos introducir la clave en dos ocasiones para que sea almacenada
correctamente.
Después podemos agregar el usuario que estaremos usando en lugar de root para
conectarnos al servidor.
Con este comando agregamos al usuario, y el mismo comando nos pedirá
información del usuario como la clave y algunos datos del mismo. Adicionalmente
creara un grupo y carpeta de usuario.
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
3. Modificar la configuración del archivo /etc/ssh/sshd_config para evitar el
acceso por root y cambiar el puerto de conexión.
Para esto entramos a editar el archivo, en nuestro caso usaremos el editor nano.
Dentro del archivo de configuración recomendamos cambiar las siguientes opciones:
Port: es el puerto TCP al cual se conectara remotamente
ListenAddress: la dirección IP que tendrá abierto el puerto definido anteriormente y
que permitirá conexiones. Debe ser un IP activo del VPS. En este caso
recomendamos un IP privado del rango de la VPN que se creara posteriormente. Por
ahora lo dejaremos en el defecto 0.0.0.0 que indica que puede recibir conexiones de
cualquier dirección IP. Después de configurada la VPN podemos cambiar esta
dirección por una privada.
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
La siguiente opción a cambiar es la siguiente:
PermitRootLogin: originalmente esta en Yes, cambiar a no.
Agregar la línea AllowUsers y colocar al lado el nombre del usuario que se creó en
el segundo paso.
Después de realizados los cambios hay que salvar la configuración.
4. Instalación de la VPN SSL (OpenVPN)
Para la conexión remota a la administración usaremos una VPN SSL. Esto permite
utilizar el puerto 443 para la conexión desde el Internet. Estaremos usando el
producto OpenVPN Access Server que está basado en OpenVPN. Este paquete
contiene conexiones para dos usuarios lo que sería suficiente para la administración.
Para instalar este paquete en Ubuntu 16.04 debemos descargar el instalador genérico
para DEBIAN del sitio https://openvpn.net/index.php/access-server/download-
openvpn-as-sw/113.html?osfamily=Ubuntu
Para instalar nos ubicamos en la carpeta /tmp y ejecutamos el siguiente comando
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Esto descargara la aplicación desde Internet. El nombre debe corresponder a la
última versión disponible en el repositorio.
Para instalar la aplicación se ejecuta el siguiente comando:
El último comando que se debe ejecutar es para asignar una clave segura al usuario
openvpn que es el administrador por defecto de la VPN.
Para acceder a la administración del VPN se utiliza el siguiente URL:
https://direcion-ip-publica:943/admin
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
La administración del OpenVPN está por ahora fuera de este documento por lo cual
instamos al lector a buscar referencias sobre cómo crear usuarios. Posteriormente
haremos un artículo detallado sobre el mismo. Como referencia dejamos el enlace
oficial del sitio web de OpenVPN.
https://openvpn.net/index.php/access-server/docs.html?id=229 .
Para descargar el cliente OpenVPN se entra a la dirección pública
Se coloca el usuario y la clave y se escoge la opción Login de la lista desplegable y
se presiona GO.
Después de entrar podrá encontrar la página con todos los clientes disponibles que
puede usar para conectarse.
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
La licencia gratuita permite hasta dos conexiones simultáneas al servidor VPN.
5. Cambiar Dirección de servicio SSH y ajuste del Firewall interno
Después de una prueba exitosa de conexión vienen los pasos más importantes para
garantizar que no podrán realizarse más conexiones desde cualquier dirección IP al
servidor SSH, el primero consiste en identificar las direcciones IP privadas de la VPN.
Para esto podemos ejecutar el siguiente comando:
IFCONFIG: muestra las interfaces de red activas del sistema operativo y sus
correspondientes direcciones IP.
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Una vez identificada la IP Privada del servidor que usaremos para el SSH, hay que
modificar el archivo de configuración del servidor SSH.
Para esto usamos el siguiente comando:
Una vez dentro del archivo buscamos dentro la línea de opciones la siguiente:
ListenAddress: este comando le dice al servidor SSH en qué dirección estará
escuchando activamente las conexiones.
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Se modifica la línea colocando la dirección privada del servidor, en el ejemplo es la
dirección 172.27.236.1
Hay que recordar que al reiniciar el servicio SSH o al servidor este solamente estará
activo para las conexiones privadas, es por eso que es necesario probar primero que
puede conectarse mediante la VPN. Para verificar que tenemos acceso, hacemos
PING a la dirección privada después de conectarnos por medio de la VPN.
Si tenemos respuesta es que podemos conectarnos.
El siguiente paso es reiniciar el servidor, lo cual debe variar dependiendo de su
proveedor de servicio.
6. Prueba de la conexión mediante la VPN:
Después de creada la VPN, probada la conexión y realizados los ajustes podemos
probar que el SSH solamente funciona para conexiones internas. Para esto
colocamos en nuestro cliente SSH preferido los parámetros del servidor:
En nuestro ejemplo usaremos Putty
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
Como prueba colocamos el nombre
del host o la dirección IP pública y
el puerto SSH activo.
Si nuestra configuración es correcta no
podremos conectarnos al servidor, porque
solamente estará disponible para conexiones
por las direcciones IP privadas, que solamente
se pueden acceder por la VPN.
Colocamos la dirección IP en el navegador para
la conexión al servidor VPN, en nuestro caso
sería así:
https://158.69.223.218/?src=connect
Y nos debe mostrar el dialogo de conexión.
Después de conectados al VPN podemos
probar nuevamente la conexión con la dirección
IP de la red privada, en nuestro caso el
172.27.236.1 y el puerto 222 para el SSH.
Como podemos ver, el servidor SSH está
esperando el usuario y clave para ser utilizados.
En una próxima entrega veremos cómo agregar un doble factor de autenticación
utilizando una aplicación de celular desarrollada por Google. Se trata de una medida de
Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com
seguridad extra que requiere de un código que tiene una validez de unos segundos hasta
volver a generar otro adicionalmente a la contraseña.

Más contenido relacionado

Similar a Conexión Segura a un VPS mediante una VPN SSL

Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2cyberleon95
 
Vpn linux a linux
Vpn linux a linuxVpn linux a linux
Vpn linux a linux
xinoxino
 
Servidor ftp
Servidor ftpServidor ftp
Servidor ftp
Dioni Bermejo
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Telefónica
 
Servidores cent os final
Servidores cent os finalServidores cent os final
Servidores cent os finalSteven Restrepo
 
GESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORES
GESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORESGESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORES
GESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORES
Carles Climent
 
Reporte servidorftp
Reporte servidorftpReporte servidorftp
Reporte servidorftp
Memin Goes
 
Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70
symple9
 
Vps local virtualbox
Vps local virtualboxVps local virtualbox
Vps local virtualbox
Baruch Ramos
 
Crear vpn linux a linux
Crear vpn linux a linuxCrear vpn linux a linux
Crear vpn linux a linux
Lesther Acevedo
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidoresrossykeles
 
Instalación samba
Instalación sambaInstalación samba
Instalación sambaK-te Muñoz
 
Instalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSHInstalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSH
Francisco José Cruz Jiménez
 
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...
Franklin Ramos
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - Ubuntu
Jose Diaz Silva
 
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-Sonia Garcia
 
Pecha kuchassh windows
Pecha kuchassh windowsPecha kuchassh windows
Pecha kuchassh windowsJavier Pérez
 
Configuraion vpn
Configuraion  vpnConfiguraion  vpn
Configuraion vpn
Jacqueline Coba
 

Similar a Conexión Segura a un VPS mediante una VPN SSL (20)

Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
Instalación y Configuración SSH CentOS 6.5 / RHEL 6.2
 
Vpn linux a linux
Vpn linux a linuxVpn linux a linux
Vpn linux a linux
 
Servidor ftp
Servidor ftpServidor ftp
Servidor ftp
 
Ft py ssh_fco_javier_mejías_fernández
Ft py ssh_fco_javier_mejías_fernándezFt py ssh_fco_javier_mejías_fernández
Ft py ssh_fco_javier_mejías_fernández
 
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry PiServicio VPN con OpenVPN y Latch sobre Raspberry Pi
Servicio VPN con OpenVPN y Latch sobre Raspberry Pi
 
Servidores cent os final
Servidores cent os finalServidores cent os final
Servidores cent os final
 
GESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORES
GESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORESGESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORES
GESTIÓN DE ACCESO REMOTO Y MONITORIZACIÓN DE SERVIDORES
 
Reporte servidorftp
Reporte servidorftpReporte servidorftp
Reporte servidorftp
 
Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70Instalación Firewall Checkpoint R70
Instalación Firewall Checkpoint R70
 
Vps local virtualbox
Vps local virtualboxVps local virtualbox
Vps local virtualbox
 
Crear vpn linux a linux
Crear vpn linux a linuxCrear vpn linux a linux
Crear vpn linux a linux
 
Gestion de nubes de servidores
Gestion de nubes de servidoresGestion de nubes de servidores
Gestion de nubes de servidores
 
Instalación samba
Instalación sambaInstalación samba
Instalación samba
 
Instalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSHInstalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSH
 
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...
INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR SSH, PUTTY, APACHE Y MYSQL EN CENT...
 
Edison guaraca
Edison guaracaEdison guaraca
Edison guaraca
 
Actividad ssh final - Ubuntu
Actividad ssh final - UbuntuActividad ssh final - Ubuntu
Actividad ssh final - Ubuntu
 
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
8699418 manual-de-instalacion-y-configuracion-del-servidor-de-correo-postfix-
 
Pecha kuchassh windows
Pecha kuchassh windowsPecha kuchassh windows
Pecha kuchassh windows
 
Configuraion vpn
Configuraion  vpnConfiguraion  vpn
Configuraion vpn
 

Último

TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
durangense277
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
juanchogame18
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
arriagaanggie50
 

Último (20)

TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
Ventajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloroVentajas y desventajas de la desinfección con cloro
Ventajas y desventajas de la desinfección con cloro
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Presentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The CleanPresentacion de Estado del Arte del The Clean
Presentacion de Estado del Arte del The Clean
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGATAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
TAREA #6 - RECURSOS INCLUSIVOS POR ANGGIE ARRIAGA
 

Conexión Segura a un VPS mediante una VPN SSL

  • 1. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com Conexión Segura a un VPS mediante una VPN SSL Introducción: Para asegurar la administración remota de un servidor privado virtual (Virtual Private Server al cual llamaremos VPS de ahora en adelante) o una instancia virtual en la nube, es recomendable establecer una conexión encriptada primero. Esto lo podemos hacer mediante una VPN o consola SSH. La ventaja de una conexión mediante VPN es que la misma dirige todo el tráfico mediante el túnel encriptado mientras que la conexión SSH solamente lo haría por medio de la creación de túneles. Al utilizar una conexión mediante una VPN SSL como OpenVPN estamos utilizando solamente un puerto TCP, el 443, el cual es compartido por los servicios Web del servidor. Para efectos de este documento estaremos usando un servidor VPS con acceso de root y les estaremos dando las siguientes recomendaciones para una conexión lo más segura posible. El sistema operativo utilizado en el VPS es el Ubuntu 16.04 LTS, y para las conexiones estaremos usando el cliente SSH para SmartTTY http://smartty.sysprogs.com/ para sistemas operativos Windows. En este artículo se asume que el lector conoce como conectarse remotamente al servidor VPS mediante SSH por lo que obviamos esa parte.
  • 2. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com 1. Actualización del sistema operativo Ubuntu: Para actualizar el sistema operativo Ubuntu debemos ejecutar los siguientes comandos
  • 3. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com Este comando actualiza la lista de paquetes disponibles y sus versiones, pero no instala o actualiza ningún paquete. Esta lista la coge de los servidores con repositorios que tenemos definidos en el archivo /etc/apt/sources.list. Después de ejecutado el comando anterior, se ejecuta el siguiente comando Este comando instala las nuevas versiones los paquetes disponibles en la lista definida en /etc/apt/sources.list. 2. Cambiar la clave del usuario root y cambiar el usuario root por un usuario con menos privilegios para el acceso remoto. Para cambiar la clave del usuario root debemos ejecutar Aquí debemos introducir la clave en dos ocasiones para que sea almacenada correctamente. Después podemos agregar el usuario que estaremos usando en lugar de root para conectarnos al servidor. Con este comando agregamos al usuario, y el mismo comando nos pedirá información del usuario como la clave y algunos datos del mismo. Adicionalmente creara un grupo y carpeta de usuario.
  • 4. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com 3. Modificar la configuración del archivo /etc/ssh/sshd_config para evitar el acceso por root y cambiar el puerto de conexión. Para esto entramos a editar el archivo, en nuestro caso usaremos el editor nano. Dentro del archivo de configuración recomendamos cambiar las siguientes opciones: Port: es el puerto TCP al cual se conectara remotamente ListenAddress: la dirección IP que tendrá abierto el puerto definido anteriormente y que permitirá conexiones. Debe ser un IP activo del VPS. En este caso recomendamos un IP privado del rango de la VPN que se creara posteriormente. Por ahora lo dejaremos en el defecto 0.0.0.0 que indica que puede recibir conexiones de cualquier dirección IP. Después de configurada la VPN podemos cambiar esta dirección por una privada.
  • 5. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com La siguiente opción a cambiar es la siguiente: PermitRootLogin: originalmente esta en Yes, cambiar a no. Agregar la línea AllowUsers y colocar al lado el nombre del usuario que se creó en el segundo paso. Después de realizados los cambios hay que salvar la configuración. 4. Instalación de la VPN SSL (OpenVPN) Para la conexión remota a la administración usaremos una VPN SSL. Esto permite utilizar el puerto 443 para la conexión desde el Internet. Estaremos usando el producto OpenVPN Access Server que está basado en OpenVPN. Este paquete contiene conexiones para dos usuarios lo que sería suficiente para la administración. Para instalar este paquete en Ubuntu 16.04 debemos descargar el instalador genérico para DEBIAN del sitio https://openvpn.net/index.php/access-server/download- openvpn-as-sw/113.html?osfamily=Ubuntu Para instalar nos ubicamos en la carpeta /tmp y ejecutamos el siguiente comando
  • 6. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com Esto descargara la aplicación desde Internet. El nombre debe corresponder a la última versión disponible en el repositorio. Para instalar la aplicación se ejecuta el siguiente comando: El último comando que se debe ejecutar es para asignar una clave segura al usuario openvpn que es el administrador por defecto de la VPN. Para acceder a la administración del VPN se utiliza el siguiente URL: https://direcion-ip-publica:943/admin
  • 7. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com La administración del OpenVPN está por ahora fuera de este documento por lo cual instamos al lector a buscar referencias sobre cómo crear usuarios. Posteriormente haremos un artículo detallado sobre el mismo. Como referencia dejamos el enlace oficial del sitio web de OpenVPN. https://openvpn.net/index.php/access-server/docs.html?id=229 . Para descargar el cliente OpenVPN se entra a la dirección pública Se coloca el usuario y la clave y se escoge la opción Login de la lista desplegable y se presiona GO. Después de entrar podrá encontrar la página con todos los clientes disponibles que puede usar para conectarse.
  • 8. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com La licencia gratuita permite hasta dos conexiones simultáneas al servidor VPN. 5. Cambiar Dirección de servicio SSH y ajuste del Firewall interno Después de una prueba exitosa de conexión vienen los pasos más importantes para garantizar que no podrán realizarse más conexiones desde cualquier dirección IP al servidor SSH, el primero consiste en identificar las direcciones IP privadas de la VPN. Para esto podemos ejecutar el siguiente comando: IFCONFIG: muestra las interfaces de red activas del sistema operativo y sus correspondientes direcciones IP.
  • 9. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com Una vez identificada la IP Privada del servidor que usaremos para el SSH, hay que modificar el archivo de configuración del servidor SSH. Para esto usamos el siguiente comando: Una vez dentro del archivo buscamos dentro la línea de opciones la siguiente: ListenAddress: este comando le dice al servidor SSH en qué dirección estará escuchando activamente las conexiones.
  • 10. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com Se modifica la línea colocando la dirección privada del servidor, en el ejemplo es la dirección 172.27.236.1 Hay que recordar que al reiniciar el servicio SSH o al servidor este solamente estará activo para las conexiones privadas, es por eso que es necesario probar primero que puede conectarse mediante la VPN. Para verificar que tenemos acceso, hacemos PING a la dirección privada después de conectarnos por medio de la VPN. Si tenemos respuesta es que podemos conectarnos. El siguiente paso es reiniciar el servidor, lo cual debe variar dependiendo de su proveedor de servicio. 6. Prueba de la conexión mediante la VPN: Después de creada la VPN, probada la conexión y realizados los ajustes podemos probar que el SSH solamente funciona para conexiones internas. Para esto colocamos en nuestro cliente SSH preferido los parámetros del servidor: En nuestro ejemplo usaremos Putty
  • 11. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com Como prueba colocamos el nombre del host o la dirección IP pública y el puerto SSH activo. Si nuestra configuración es correcta no podremos conectarnos al servidor, porque solamente estará disponible para conexiones por las direcciones IP privadas, que solamente se pueden acceder por la VPN. Colocamos la dirección IP en el navegador para la conexión al servidor VPN, en nuestro caso sería así: https://158.69.223.218/?src=connect Y nos debe mostrar el dialogo de conexión. Después de conectados al VPN podemos probar nuevamente la conexión con la dirección IP de la red privada, en nuestro caso el 172.27.236.1 y el puerto 222 para el SSH. Como podemos ver, el servidor SSH está esperando el usuario y clave para ser utilizados. En una próxima entrega veremos cómo agregar un doble factor de autenticación utilizando una aplicación de celular desarrollada por Google. Se trata de una medida de
  • 12. Autor: José Antonio Carrasco Moreno – joseacarras@josecarrasco.com seguridad extra que requiere de un código que tiene una validez de unos segundos hasta volver a generar otro adicionalmente a la contraseña.