Acceso desde windows a Openstack con ssh


La mayor parte de la autenticación en entornos de Windows se realiza con un par de nombre de usuario y contraseña. Esta funciona bien en los sistemas que comparten un dominio común. Al trabajar con varios dominios (por ejemplo, entre sistemas locales y hospedados en la nube), se expone más a intrusiones de fuerza bruta.

En comparación, los entornos de Linux, normalmente, usan pares de clave pública y privada para controlar la autenticación, lo que no requiere el uso de contraseñas que se puedan adivinar. OpenSSH incluye herramientas que ayudan a admitir esta opción, en concreto:

  • ssh-keygen para generar claves seguras.
  • ssh-agent y ssh-add para almacenar claves privadas de forma segura.
  • scp y sftp para copiar archivos de claves públicas de forma segura durante el uso inicial de un servidor.

En este documento se proporciona información general sobre cómo usar estas herramientas en Windows para empezar a usar la autenticación de claves con SSH. Si no estás familiarizado con la administración de claves SSH, se recomienda que revises el informe interno de NIST 7966 titulado «Seguridad de la administración de acceso interactiva y automatizada con Secure Shell (SSH)».

Acerca de los pares de claves

Los pares de claves hacen referencia a los archivos de clave pública y privada que utilizan determinados protocolos de autenticación.

La autenticación de clave pública SSH usa algoritmos criptográficos asimétricos para generar dos archivos de clave: uno «privado» y otro «público». Los archivos de clave privada son el equivalente de una contraseña y deben estar protegidos en todo momento. Si alguien adquiere tu clave privada, esa persona puede iniciar sesión en cualquier servidor SSH al que tengas acceso. La clave pública es la que se coloca en el servidor SSH y puede compartirse sin poner en peligro la clave privada.

Al usar la autenticación de claves con un servidor SSH, el servidor SSH y el cliente comparan las claves públicas del nombre de usuario proporcionado con la clave privada. Si la clave pública del lado servidor no se puede validar con la clave privada del lado cliente, se produce un error de autenticación.

Para implementar la autenticación multifactor con pares de claves, debes solicitar que se proporcione una frase de contraseña cuando se genera el par de claves (consulta Generación de claves a continuación). Durante la autenticación, se solicita al usuario la frase de contraseña, que se usa junto con la presencia de la clave privada en el cliente SSH para autenticar al usuario.

Generación de claves de host

Las claves públicas tienen requisitos de ACL específicos que, en Windows, equivalen a permitir el acceso únicamente a los administradores y al sistema. Para facilitar esta tarea,

  • El módulo de PowerShell de OpenSSHUtils se creó para establecer las ACL de claves correctamente y debe instalarse en el servidor.
  • Al usar sshd por primera vez, se generará automáticamente el par de claves para el host. Si el ssh-agent se está ejecutando, las claves se agregarán automáticamente al almacén local.

Para facilitar la autenticación de claves con un servidor SSH, ejecuta los siguientes comandos desde un símbolo del sistema de PowerShell con privilegios elevados: PowerShell

# Install the OpenSSHUtils module to the server. This will be valuable when deploying user keys.
Install-Module -Force OpenSSHUtils -Scope AllUsers

# By default the ssh-agent service is disabled. Allow it to be manually started for the next step to work.
Get-Service -Name ssh-agent | Set-Service -StartupType Manual

# Start the ssh-agent service to preserve the server keys
Start-Service ssh-agent

# Now start the sshd service
Start-Service sshd

Dado que no hay ningún usuario asociado al servicio sshd, las claves de host se almacenan en \ProgramData\ssh.

Generación de claves de usuario

Para usar la autenticación basada en claves, primero debes generar algunos pares de claves públicas o privadas para el cliente. Desde PowerShell o cmd, usa ssh-keygen para generar algunos archivos de clave. PowerShell

cd ~\.ssh\
ssh-keygen

Esta operación debería mostrar algo similar a lo siguiente (donde «username» se reemplaza por tu nombre de usuario)

Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\username\.ssh\id_ed25519):

Puede presionar Entrar para aceptar el valor predeterminado o puedes especificar una ruta de acceso en la que quieres que se generen las claves. Llegados a este punto, se te pedirá que uses una frase de contraseña para cifrar los archivos de clave privada. La frase de contraseña funciona con el archivo de clave para proporcionar una autenticación en dos fases. En este ejemplo, vamos a dejar la frase de contraseña vacía.

Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\username\.ssh\id_ed25519.
Your public key has been saved in C:\Users\username\.ssh\id_ed25519.pub.
The key fingerprint is:
SHA256:OIzc1yE7joL2Bzy8!gS0j8eGK7bYaH1FmF3sDuMeSj8 [email protected]@LOCAL-HOSTNAME

The key's randomart image is:
+--[ED25519 256]--+
|        .        |
|         o       |
|    . + + .      |
|   o B * = .     |
|   o= B S .      |
|   .=B O o       |
|  + =+% o        |
| *oo.O.E         |
|+.o+=o. .        |
+----[SHA256]-----+

Ahora tienes un par de claves ED25519 pública y privada (los archivos .pub son claves públicas y los demás son claves privadas):

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        9/28/2018  11:09 AM           1679 id_ed25519
-a----        9/28/2018  11:09 AM            414 id_ed25519.pub

Recuerde que los archivos de clave privada son el equivalente de una contraseña, por lo que se deben proteger de la misma manera que las contraseñas. Para que sea más fácil, usa ssh-agent para almacenar de forma segura las claves privadas en un contexto de seguridad de Windows y asócialas con tu inicio de sesión de Windows. Para ello, inicia el servicio de ssh-agent como administrador y usa ssh-add para almacenar la clave privada. PowerShell

# Make sure you're running as an Administrator
Start-Service ssh-agent

# This should return a status of Running
Get-Service ssh-agent

# Now load your key files into ssh-agent
ssh-add ~\.ssh\id_ed25519


Después de completar estos pasos, cada vez que se necesite una clave privada para la autenticación desde este cliente, ssh-agent recuperará automáticamente la clave privada local y la pasará al cliente SSH.

Nota

Se recomienda realizar una copia de seguridad de la clave privada en una ubicación segura y, a continuación, eliminarla del sistema local después de agregarla al agente SSH. No se puede recuperar la clave privada del agente. Si pierdes el acceso a la clave privada, tendrás que crear un nuevo par de claves y actualizar la clave pública en todos los sistemas con los que interactúes.

Implementación de la clave pública

Para usar la clave de usuario que se creó anteriormente, la clave pública debe colocarse en el servidor en un archivo de texto denominado authorized_keys en users\nombre de usuario\.ssh\. Las herramientas de OpenSSH incluyen scp (una utilidad de transferencia de archivos segura) para ayudarte con esta operación.

Para trasladar el contenido de la clave pública (~.ssh\id_ed25519.pub) a un archivo de texto denominado authorized_keys en ~.ssh\ en el servidor o host.

En este ejemplo se usa la función Repair-AuthorizedKeyPermissions en el módulo OpenSSHUtils que se instaló anteriormente en el host de las instrucciones anteriores. PowerShell

# Make sure that the .ssh directory exists in your server's home folder
ssh [email protected]@contoso.com mkdir C:\users\user1\.ssh\

# Use scp to copy the public key file generated previously to authorized_keys on your server
scp C:\Users\user1\.ssh\id_ed25519.pub [email protected]@contoso.com:C:\Users\user1\.ssh\authorized_keys

# Appropriately ACL the authorized_keys file on your server
ssh --% [email protected]@contoso.com powershell -c $ConfirmPreference = 'None'; Repair-AuthorizedKeyPermission C:\Users\user1\.ssh\authorized_keys

Estos pasos completan la configuración necesaria para usar la autenticación con SSH basada en claves en Windows. Después de esto, el usuario puede conectarse al host de sshd desde cualquier cliente que tenga la clave privada.

Seguridad en IOT


El término Internet de las Cosas, en inglés Internet of Things ,hace referencia a la digitalización de todo tipo de dispositivos:

  • Sensores y actuadores 
  • Objetos comunes como vehículos
  • Cámaras de grabación
  • implantes médicos, ropa, etc. 

La conectividad digital de estos dispositivos permite enviar y recibir información para realizar tareas que hasta no hace mucho podrían parecer imposibles como monitorizar el estado de una flota de vehículos ,ver las cámaras de seguridad de la empresa desde un Smartphone, controlar cualquier electrodoméstico de forma remota, etc

Crecimiento

La consultora Gartner  pronostica que para el año 2021 habrá unos 25 mil millones de dispositivos IoT conectados en sectores tan dispares como:

  • Domótica 
  • Salud
  • Transporte y logística 
  • Seguridad y vigilancia

Se podría decir que con el IoT se inicia una revolución en la forma en que vivimos y trabajamos.Sus aplicaciones son muy diversas: monitorización salud , domótica en edificios y ciudades, aplicaciones en industria 4.0.

El acceso a la tecnología ha democratizado el IoT   reduciendo los costes  y con capacidades  avanzadas

  • REDUCIDOS COSTES:
    Los chips para dar inteligencia a los objetos
    Los módulos para dar conectividad a los objetos
    Los entorno de desarrollo para programarlo
    Los costes de hacer un prototipo
  • CAPACIDADES AVANZADAS
    Soluciones de gran capacidad a bajos coste
    Infinidad de tecnologías de comunicación
    Enorme comunidad desarrolladora

El    problema  viene  con algunas aplicaciones de IOT donde nos cuestionamos  hasta que punto los riesgos son mayores que las ventajas  y marabillas en el uso de esta tecnologías: es decir Seguridad vs Confort o lo que es lo mismo RIESGO VS RECOMPENSA

Estas son algunas  brechas que debemos superar:

  • Interacción humana de baja fricción
  • Identificación única de dispositivos
  • Autenticación de dispositivos
  • Asociación dispositivos-usuarios
  • Naturaleza de los datos

Ademas por si fuera poco, tenemos  grandes  retos  y desfios

  • Capacidades limitadas de encriptación
  • Recursos limitados (RAM/ROM)
  • Limitada sincronización
  • El fw debe ser actualizado tiempo al tiempo

Como vemos en la grafica de abajo  pues una de las grandes barreras  para adaptar el IOT es la seguridad:

 

Y es que el mal nunca descansa , como lo demuestran los innumerables ejemplos de  ataques:

Caso Mirai
La botnet Mirai ha sido utilizada en algunos de los ataques del tipo DDoS más grandes y bruscos de la historia, dentro de los que se incluyen el realizado al sitio web de Brian Krebs , y al proveedor Dyn en octubre de 2016.

Mirai es un malware de la familia de las botnets destinada a infectar los equipos conformantes del IoT.​ El objetivo principal de este malware es la infección de routers y cámaras IP, usando estos para realizar ataques de tipo DDoS

Amenazas para el propio dispositivo
Los dispositivos IoT pueden ser una presa fácil para los ciberdelincuentes que buscan este tipo de dispositivos como punto de entrada a las redes de las empresas o a otros puntos que se encuentran más protegidos.

Además, los propios dispositivos IoT no son inmunes a las amenazas pues los ciberdelincuentes pueden enfocar sus esfuerzos en atacar su funcionalidad, siendo la denegación de servicio uno de los principales peligros, dejándolos inoperativos o no accesibles.

Amenazas para el propio dispositivo
Las amenazas a los dispositivos IoT no se reducen a las derivadas de su conectividad a Internet. Muchos de estos aparatos cuentan también con capacidades de conexión inalámbrica como wifi, Bluetooth o Zigbee, lo que puede suponer otro vector de ataque para ciberdelincuentes si se encuentran dentro de su rango de acción

+Amenazas para el dispositivo

Consecuencias graves para la seguridad como:

  • Infectarlos para formar parte de una red zombi que los utilicen para realizar ciberataques, por ejemplo, de denegación de servicio distribuida o DDoS
  • Utilizarlos como puente o punto de entrada para atacar otros equipos de la misma red, para robar información o comprometer servidores o para realizar otras acciones delictivas
  • Reconfigurarlos para inhabilitarlos o cambiar sus condiciones de utilización

Como resumen , estos algunos de los vectores de ataque para los dispositivos IoT:

  • Fallos en la implementación
  • Interceptar datos de tránsito(ataque Man in the Middle)
  • Acceso a la plataforma de administración
  • Vulnerabilidad en el software
  • Configuraciones por defecto
  • Acceso físico al dispositivo
  • Los propios usuarios por ingeniería social

 

Medidas de seguridad

En los dispositivos IoT no se suelen utilizar las soluciones habituales de ciberseguridad como antivirus o cortafuegos; por ello, las siguientes medidas de seguridad están destinadas a proteger el propio dispositivo y, por consiguiente, toda la organización:

  • Acceso seguro al dispositivo (evitar conf. por defecto)
  • Comunicaciones seguras
  • Actualizaciones de seguridad
  • Dispositivos de seguridad perimetral
  • Seguridad física ( ej.: puertos, usb,sd, etc)
  • Concienciación en seguridad de los usuarios

Y  estas son algunas recomendaciones de seguridad:

  • Se comprobará cada cierto tiempo la visibilidad de los dispositivos IoT en Internet con herramientas específicas como Shodan.
  • Si el dispositivo lo permite se habilitará un registro de logs que guarde los eventos que se producen como accesos, cambios de contraseña, actualizaciones, etc.
  • En caso de ser posible, se ha de habilitar algún mecanismo de notificación cuando se produce un evento que pueda afectar a la seguridad del dispositivo.
  • Se monitorizarán de forma centralizada los dispositivos IoT para comprobar su correcto funcionamiento y que no se producen eventos que puedan afectar a su seguridad o a la de la empresa.
  • Se comprobará regularmente la web del fabricante en busca de nuevas actualizaciones de seguridad tanto de firmware como de software siempre que no exista un método alternativo que avise sobre ello
  • Uso de herramientas adicionales (ejemplo https://www.shodan.io)

DISEÑO en IOT:  REGLAS DE DISEÑO

En caso de estar diseñando un nuevo dispositivo IoT , algunos principios que de deberiamos  seguir

Seguridad:

  • CONSTRUIR CON SEGURIDAD INCLUIDA ( NO PUEDE SER AÑADIDA DESPUES)
  • Mantener mecanismos de seguridad simples
  • Usar estándares de seguridad
  • La oscuridad no provee seguridad
  • Encriptar datos sensibles en reposo y en transito
  • Usar bloques criptográficos bien estudiados
  • Identidad y gestión de acceso deben ser parte del diseño
  • Desarrollar un modelo de amenazas realista

Servicios de red

  • ASEGURARSE DE QUE DATOS Y CREDENCIALES SON ENCRIPTADOS MIENTRAS ESTAÑEN TRANSITO
  • USAR CANALES ENCRIPTADOS SEGUROS
  • USAR OPTIMAS LONGITUDES DE CLAVES Y BUENOS ALGORITMOS ( CURVA ELÍPTICA PROVEE UNA ENCRIPTACIÓN EFICIENTE)
  • PROTEGERSE CONTRA ATAQUES REPETITIVOS
  • Encriptación del transporte:
    • ASEGURAR SOLAMENTE LOS PUERTOS ABIERTOS NECESARIOS.
    • ASEGURAR QUE LOS SERVICIOS NO SON VULNERABLES.
    • DESPORDAMIENTO DE BUFEFR Y ATAQUES FUZZING.
    • ASEGURAR QUE LOS SERVICIOS NO SON VULNERABLES A ATAQUES DDNS

Privacidad como parte del diseño

  • Recolectar solamente los datos mínimos para el funcionamiento del dispositivo
  • Asegurarse que datos sensibles recogidos son protegidos con encriptación
  • Asegúrese de que el dispositivo protege adecuadamente los datos personales

Web, movilidad e interfaces cloud

  • No permita credenciales por defecto
  • Asumir accesos al dispositivos internamente y externamente
  • Las credenciales no deberían almacenarse en ficheros planos de texto ni viajar por canales no encriptados
  • Protegerse contra XSS,CSRF,SQLi
  • Implementar un sistema IAM/IRM
  • Protegerse contra la enumeración de cuentas e implementar el bloqueo de cuentas
  • Asegúrese de que su fw no contenga credenciales codificadas ni datos confidenciales
  • Utilice un canal seguro para transmitir el fw durante las actualizaciones
  • Asegúrese de que la actualización esté firmada y verificada antes de permitir la actualización.
  • No envíe la clave pública con el fw, use un hash
  • Asegúrese de que sus repositorios SVN/ GIT no contengan las claves privadas

SOFWARE/ FIRMWARE

  • Seguridad Física
  • Asegurar que el acceso físico a su dispositivo está controlado
  • Los puertos USB o SD accesibles pueden ser eficientes
  • ¿Se puede desmontar fácilmente para acceder al almacenamiento interno (RAM / ROM)?
  • Si los datos locales son confidenciales, considere la posibilidad de cifrarlos

 

Photo by Sebastian Palomino on Pexels.com

DECALOGO SOBRE RECOMENDACIONES DE SEGURIDAD

  1. Minimizar el uso de dispositivos IoT especialmente en empresas utilizando únicamente los que sean estrictamente necesarios.
  2. No usar, en la medida de lo posible, dispositivos IoT que transmitan información o cuya gestión se realice desde servidores externos aunque sea del fabricante.
  3. Comprobar las configuraciones por defecto del dispositivo, especialmente antes de permitir su acceso desde Internet y, de ser posible, elegir aquellos dispositivos que permitan un elevado
    nivel de seguridad.
  4. Si no es posible establecer configuraciones de seguridad robustas no se permitirá el acceso al dispositivo desde Internet y preferiblemente tampoco desde la red local.
  5. Establecer siempre contraseñas de acceso y administración robustas. Siempre que sea posible se forzará su uso.
  6. Establecer siempre contraseñas de acceso y administración robustas. Siempre que sea posible se forzará su uso.
  7. Mantener actualizado el dispositivo a la última versión.
  8. Mantener abiertos a Internet únicamente aquellos servicios que sean necesarios para su administración remota y los que no lo sean se deben deshabilitar. También hay que cambiar los puertos de los servicios cuando sea posible.
  9. Utilizar dispositivos de seguridad perimetral como cortafuegos para proteger la seguridad del dispositivo IoT.
    DECALOGO SOBRE RECOMENDACIONES DE SEGURIDAD
  10. Emplear mecanismos que permitan asegurar la autenticidad,integridad y confidencialidad de las comunicaciones especialmente si estas se realizan vía wifi.
  11. Auditar periódicamente los dispositivos IoT.
  12. Concienciar especialmente a los empleados sobre la importancia de la ciberseguridad en el día a día de su trabajo y en la administración y uso de este tipo de dispositivos.
  13. Comprobar la seguridad física del dispositivo y aplicar
    las medidas necesarias que eviten manipulaciones de terceros
    DECALOGO SOBRE RECOMENDACIONES DE SEGURIDAD

Fuentes
HTTPS://WWW.GARTNER.COM
HTTPS://WWW.INCIBE.ES
HTTPS://WWW.COMPUTING.ES
HTTPS://UNAALDIA.HISPASEC.COM
HTTPS://BLOG.F-SECURE.COM
HTTPS://SOLOELECTRONICOS.COM

 

 

 

Cómo desplegar wordpress en la nube de Google


En este post vamos a ver como configur un servidor de Cloud SQL que conectaremos a una aplicación wordpress a él mediante un proxy a través de una conexión externa. Para ello también configuraremos una conexión a través de un enlace IP privado que ofrece beneficios de rendimiento y seguridad. 

Al final , tendremos 2 instancias de trabajo del frontend de WordPress conectadas a través de 2 tipos de conexión diferentes a su backend de instancia de SQL :

 

 

1: creación de una base de datos de Cloud SQL

En esta parte configuraresmo un servidor SQL de acuerdo con las mejores prácticas de Google Cloud y crearemos una conexión IP privada.

  1. En el menú de navegación ( Menú de Navegación), haga clic en SQL .
  2. Haz clic en Crear instancia .
  3. Haga clic en Elegir MySQL .
  4. Especifique lo siguiente y deje los ajustes restantes como predeterminados:
Propiedad Valor
ID de instancia wordpress-db
Contraseña de root teclee una contraseña 
Región su zona
Zona Alguna
Versión de la base de datos MySQL 5.7

Anote la contraseña de root; se utilizará en un paso posterior y se denominará [ROOT_PASSWORD].

  1. Expanda Mostrar opciones de configuración .
  2. Expanda la sección Conectividad .
  3. Seleccione IP privada .
  4. En el cuadro de diálogo, haga clic en Habilitar API , haga clic en Asignar y conectar y luego haga clic en Cerrar . Esto habilita el acceso a servicios privados y adjunta una dirección IP privada a su servidor Cloud SQL.La IP privada es una conexión interna, a diferencia de la IP externa, que sale a Internet.
  5. Expanda la sección Tipo de máquina y almacenamiento .
  6. Aprovisione la cantidad adecuada de vCPU y memoria. Para elegir un tipo de máquina , haga clic en Cambiar y luego explore sus opciones.

Algunos puntos a considerar: Las máquinas de núcleo compartido son buenas para la creación de prototipos y no están cubiertas por Cloud SLA .Cada vCPU está sujeta a un límite de rendimiento de red de 250 MB / s para un rendimiento máximo. Cada núcleo adicional aumenta el límite de la red, hasta un máximo teórico de 2000 MB / s.Para cargas de trabajo sensibles al rendimiento, como el procesamiento de transacciones en línea (OLTP), una pauta general es asegurarse de que su instancia tenga suficiente memoria para contener todo el conjunto de trabajo y acomodar la cantidad de conexiones activas.

  1. Puede  seleccionar db-n1-standard-1 y luego haga clic en Seleccionar .
  2. A continuación, elija el tipo de almacenamiento y la capacidad de almacenamiento .

Algunos puntos a considerar :SSD (unidad de estado sólido) es la mejor opción para la mayoría de los casos de uso. HDD (unidad de disco duro) ofrece un rendimiento más bajo, pero los costos de almacenamiento se reducen significativamente, por lo que HDD puede ser preferible para almacenar datos a los que se accede con poca frecuencia y que no requieren una latencia muy baja. Existe por tanto  una relación directa entre la capacidad de almacenamiento y su rendimiento.

  1. Agregue algunos ceros a la capacidad de almacenamiento para ver cómo afecta el rendimiento. Restablezca el control deslizante a 10 GB.

Establecer su capacidad de almacenamiento demasiado baja sin habilitar un aumento de almacenamiento automático puede hacer que su instancia pierda su SLA.

  1. Haga clic en Cerrar .
  2. Haga clic en Crear en la parte inferior de la página para crear la instancia de la base de datos.

Es posible que deba esperar a que se propaguen los cambios de IP privada antes de que se pueda hacer clic en el botón Crear .

 

 

2: Configurar un proxy en una máquina virtual

Cuando su aplicación no reside en la misma región y red conectada a la VPC que su instancia de Cloud SQL, use un proxy para proteger su conexión externa.

Para configurar el proxy, necesita el nombre de conexión de la instancia de Cloud SQL. Para continuar necesitaríamos 2 máquinas virtuales preconfiguradas con WordPress y sus dependencias (s también se necesitará un  script de inicio y un  acceso a la cuenta de servicio ). Tenga en cuenta que  se debe usar el principio de privilegio mínimo y solo permitimos el acceso SQL para esa máquina virtual. También hay una etiqueta de red y un firewall preconfigurado para permitir el puerto 80 desde cualquier host.

  1. En el menú de navegación ( Menú de Navegación), haga clic en Compute Engine .
  2. Haga clic en SSH junto a wordpress-europe-proxy .
  3. Descarga el proxy de Cloud SQL y hazlo ejecutable:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy && chmod +x cloud_sql_proxycontent_copy

Para iniciar el proxy, necesita el nombre de conexión de la instancia de Cloud SQL. Mantenga su ventana SSH abierta y regrese a Cloud Console.

  1. En el menú de navegación ( Menú de Navegación), haga clic en SQL .
  2. Haga clic en la instancia de wordpress-db y espere a que aparezca una marca de verificación verde junto a su nombre, que indica que está operativa (esto podría demorar un par de minutos).
  3. Anote el nombre de la conexión de la instancia ; se utilizará más adelante y se denominará [SQL_CONNECTION_NAME].
  4. Además, para que la aplicación funcione, debe crear una tabla. Haga clic en Bases de datos .
  5. Haga clic en Crear base de datos , escriba wordpress , que es el nombre que espera la aplicación, y luego haga clic en Crear .
  6. Regrese a la ventana SSH y guarde el nombre de la conexión en una variable de entorno, reemplazando [SQL_CONNECTION_NAME] con el nombre único que copió en un paso anterior.
export SQL_CONNECTION=[SQL_CONNECTION_NAME]content_copy
  1. Para verificar que la variable de entorno esté configurada, ejecute:
echo $SQL_CONNECTIONcontent_copy

Se debe imprimir el nombre de la conexión.

  1. Para activar la conexión de proxy a su base de datos de Cloud SQL y enviar el proceso a un segundo plano, ejecute el siguiente comando:
./cloud_sql_proxy -instances=$SQL_CONNECTION=tcp:3306 &content_copy

La salida esperada es

Listening on 127.0.0.1:3306 for [SQL_CONNECTION_NAME]
Ready for new connectionscontent_copy
  1. Presione ENTER.

El proxy escuchará en 127.0.0.1:3306 (localhost) y el proxy que se conecta de forma segura a su Cloud SQL a través de un túnel seguro utilizando la dirección IP externa de la máquina.

 

 

3: Conectar una aplicación a la instancia de Cloud SQL

Ahora conectaremos wordpress a la instancia de Cloud SQL.

  1. Configure la aplicación WordPress. Para encontrar la dirección IP externa de su máquina virtual, consulte sus metadatos:
curl -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip && echocontent_copy
  1. Vaya a la dirección IP externa wordpress-europe-proxy en su navegador y configure la aplicación WordPress.
  2. Haga clic en Let’s Go .
  3. Especifique lo siguiente, reemplazando [ROOT_PASSWORD] con la contraseña que configuró al crear la máquina, y deje las configuraciones restantes como sus valores predeterminados:
Propiedad Valor
Nombre de usuario raíz
Contraseña [ROOT_PASSWORD]
Host de base de datos 127.0.0.1

Está utilizando 127.0.0.1, localhost como la IP de la base de datos porque el proxy que inició escucha en esta dirección y redirige ese tráfico a su servidor SQL de forma segura.

  1. Haga clic en Enviar .
  2. Cuando se haya establecido una conexión, haga clic en Ejecutar la instalación para crear una instancia de WordPress y su base de datos en su Cloud SQL. Esto puede tardar unos minutos en completarse.
  3. Complete la información de su sitio de demostración con información aleatoria y haga clic en Instalar WordPress . No tendrá que recordar ni utilizar estos detalles.

La instalación de WordPress puede tardar hasta 3 minutos, porque propaga todos sus datos a su servidor SQL.

  1. Cuando vea ‘¡Éxito!’ apareciendo en la ventana, elimine el texto después de la dirección IP en la barra de direcciones de su navegador web y presione ENTER. ¡Se le presentará un blog de WordPress en funcionamiento!

4: Conéctese a Cloud SQL a través de una IP interna

Si puede alojar su aplicación en la misma región y red conectada a VPC que su Cloud SQL, puede aprovechar una configuración más segura y con mejor rendimiento mediante IP privada.

Al usar la IP privada, aumentará el rendimiento al reducir la latencia y minimizar la superficie de ataque de su instancia de Cloud SQL porque puede comunicarse con ella exclusivamente a través de IP internas.

  1. En Cloud Console, en el menú de navegación ( Menú de Navegación), haga clic en SQL .
  2. Haga clic en wordpress-db .
  3. Anote la dirección IP privada del servidor de Cloud SQL; se denominará [SQL_PRIVATE_IP].
  4. En el menú de navegación , haga clic en Compute Engine .

Tenga en cuenta que wordpress-us-private-ip se encuentra en us-central1, donde se encuentra su Cloud SQL, lo que le permite aprovechar una conexión más segura.

  1. Copie la dirección IP externa de wordpress-us-private-ip , péguela en una ventana del navegador y presione ENTER.
  2. Haga clic en Let’s Go .
  3. Especifique lo siguiente y deje los ajustes restantes como predeterminados:
Propiedad Valor
Nombre de usuario raíz
Contraseña escriba la [ROOT_PASSWORD] configurada cuando se creó la instancia de Cloud SQL
Host de base de datos [SQL_PRIVATE_IP]
  1. Haga clic en Enviar .

Tenga en cuenta que esta vez está creando una conexión directa a una IP privada, en lugar de configurar un proxy. Esa conexión es privada, lo que significa que no sale a Internet y, por lo tanto, se beneficia de un mejor rendimiento y seguridad.

  1. Haga clic en Ejecutar la instalación . Un ‘¡Ya instalado!’ Se muestra la ventana, lo que significa que su aplicación está conectada al servidor de Cloud SQL a través de una IP privada.
  2. En la barra de direcciones de su navegador web, elimine el texto después de la dirección IP y presione ENTER. ¡Se le presentará un blog de WordPress en funcionamiento!

5: Revisión

Hemos visto como , crear una base de datos de Cloud SQL y como configurarla para usar tanto una conexión externa a través de un proxy seguro como una dirección IP privada, que es más segura y de mayor rendimiento. Recuerde que solo puede conectarse a través de IP privada si la aplicación y el servidor de Cloud SQL están ubicados en la misma región y forman parte de la misma red de VPC. Si su aplicación está alojada en otra región, VPC o incluso proyecto, use un proxy para asegurar su conexión a través de la conexión externa.