Sistemas de Inicio de Sesión en instancias EC2

Tenemos las básicas:

SSH para Linux.

RDP para Windows.

Existen otras formas “especiales” de AWS, veremos AWS Systems Manager (SSM).

AWS Systems Manager (SSM)

SSM permite el inicio de sesión en las instancias mediante la instalación de un agente (servicio) que se comunica con la consola de AWS.

EC2 con Linux Debian

wget https://s3.amazonaws.com/amazon-ssm-us-east-1/latest/debian_amd64/amazon-ssm-agent.deb

dpkg -i amazon-ssm-agent.deb

Corregir falta de dependencias si las hubiese.

apt-get install -f

Inicio, parada, estado y servicio activo siempre.

systemctl start amazon-ssm-agent

systemctl stop amazon-ssm-agent

systemctl status amazon-ssm-agent

systemctl enable amazon-ssm-agent

Conexión desde la consola de administración de AWS.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico

Descripción generada automáticamente

EC2 con Windows Server

https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe

Powershell

Start-Service AmazonSSMAgent

Set-Service -Name «AmazonSSMAgent» -StartupType Automatic

MUY IMPORTANTE:

La instancia debe tener un ROL adecuado que permita el uso de SSM. En el caso de instancias de AWS Academy, será “LabRole”

Los pasos para asignar un ROL a una instancia son:

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico

Descripción generada automáticamente

Acciones, Seguridad y “Modificar rol de IAM”.

Interfaz de usuario gráfica, Aplicación

Descripción generada automáticamente

Seleccionar el profile “LabInstanceProfile”.

Tabla

Descripción generada automáticamente con confianza media

Rol de IAM asignado como se puede ver en la imagen anterior.

Interfaz de usuario gráfica, Texto, Aplicación, Correo electrónico

Descripción generada automáticamente

Ahora ya podemos iniciar sesión desde la consola de AWS, pestaña “Administrador de sesiones”.

¡! Estamos dentro ¡!

Nota:

Es un buen momento que veas como aun quitando el puerto 22 (SSH) del grupo de seguridad de la EC2, seguiremos accediendo al terminal mediante SSM.

El resultado de todo esto es un aumento de seguridad en el acceso a la EC2.

WBADMIN: Aclaraciones (vssFull vs vssCopy)

Si tu sistema tiene un motor de base de datos (por ejemplo, SQL Server, MySQL, PostgreSQL, etc.), la elección entre -vssFull y -vssCopy para realizar copias de seguridad con wbadmin depende de varios factores relacionados con la consistencia de los datos, el tipo de backup que estás buscando y los requerimientos de recuperación. Aquí tienes una recomendación dependiendo de algunos escenarios comunes:

Recomendación General para Bases de Datos:

  • Usa -vssCopy para asegurar que cada backup sea completo y consistente, sin afectar las marcas de respaldo de las bases de datos. Este método es más seguro en entornos de bases de datos donde cada backup completo debe ser independiente y autocontenido.

Detalle de las recomendaciones:

1. -vssCopy para copias completas e independientes (Recomendado):

  • Motivo: Las bases de datos suelen realizar sus propios backups y tienen sus propias estrategias de gestión de transacciones. Con -vssCopy, realizas una copia completa de todo el sistema sin modificar las marcas de respaldo de los archivos (incluyendo los archivos de la base de datos). Esto asegura que tu base de datos pueda seguir utilizando su propia política de backups, sin interferencias.
  • Escenarios comunes:
  • Si la base de datos realiza sus propios backups programados (por ejemplo, copias completas e incrementales internas).
  • Si quieres tener backups completos de todo el sistema, incluidos los archivos de la base de datos, para un posible desastre (backup bare-metal), pero no quieres interferir con el proceso de respaldo de la base de datos.
  • Garantiza que cada copia de seguridad sea completa e independiente, útil para una restauración completa del sistema.
  • Ventajas:
  • Evita interferencias con las copias de seguridad de la base de datos.
  • Ideal si deseas realizar backups completos periódicamente del sistema, ya que no marcará los archivos de la base de datos como respaldados.
  • Cada backup es completo, por lo que no dependes de otras copias de seguridad anteriores para la recuperación.
  • Desventajas:
  • Requiere más espacio de almacenamiento y tiempo para cada copia de seguridad, ya que siempre es una copia completa.

2. -vssFull para escenarios con optimización de espacio (Usar con precaución):

  • Motivo: Si utilizas -vssFull, marcarás los archivos respaldados (incluyendo archivos de bases de datos) como copiados, lo que puede interferir con los mecanismos de backup de la propia base de datos. Esto puede generar inconsistencia o afectar la política de retención de transacciones y registros de la base de datos.
  • Posible uso: Si estás buscando hacer backups incrementales de todo el sistema y la base de datos no está realizando sus propios backups internos, podrías considerar usar -vssFull, pero con mucha cautela. En la mayoría de los casos, no es recomendable utilizar esta opción en servidores con bases de datos sin tener en cuenta los mecanismos de backup de la base de datos.
  • Ventajas:
  • Ahorro de espacio en los backups, ya que solo copia los cambios desde el último backup.
  • Desventajas:
  • Peligro de inconsistencia en bases de datos: Al marcar los archivos como respaldados, podrías interferir con el manejo interno de los archivos de la base de datos, lo que puede provocar problemas de integridad o conflictos con sus propios mecanismos de respaldo.
  • Para garantizar la consistencia de los datos, tendrías que detener el motor de la base de datos durante la copia de seguridad, lo cual no es práctico en la mayoría de los entornos de producción.

Otros puntos a considerar:

  1. Backup en caliente y consistencia de bases de datos:
  • Las bases de datos generalmente manejan transacciones activas, y un simple backup de archivos de base de datos puede no ser consistente si el sistema está en uso (esto se denomina backup en caliente). A menos que la base de datos y el sistema de archivos estén en modo de «quiesce» (sin operaciones en curso), es mejor utilizar los mecanismos de respaldo nativos del motor de la base de datos.
  1. Complementar con backups específicos de la base de datos:
  • Para bases de datos, lo ideal es que utilices las herramientas nativas del motor de base de datos para realizar backups consistentes (por ejemplo, SQL Server Management Studio (SSMS), mysqldump, o las herramientas de PostgreSQL), además de utilizar wbadmin para hacer copias de seguridad completas del sistema.
  • De esta manera, tienes backups completos del sistema con wbadmin y backups consistentes y granulares de las bases de datos utilizando las herramientas propias de la base de datos.

Resumen:

  • Usa -vssCopy para garantizar que las copias de seguridad sean completas y no interfieran con los mecanismos de respaldo de la base de datos.
  • No es recomendable usar -vssFull en sistemas con bases de datos activas, ya que podría generar inconsistencias en los archivos de la base de datos o interferir con los mecanismos de respaldo del motor de la base de datos.
  • Complementa los backups del sistema con backups específicos de la base de datos usando las herramientas nativas del motor de la base de datos para garantizar la consistencia de los datos.

Caso de uso recomendado:

  • Opción ideal: Configura backups específicos de la base de datos usando las herramientas nativas de tu base de datos para hacer respaldos consistentes. Usa wbadmin -vssCopy para hacer backups completos del sistema sin interferir con esos procesos.

Con esta estrategia, estarás protegiendo tanto el sistema operativo como la base de datos de manera adecuada.

Chocolatey – Instalador automático para Windows.

  1. Get-ExecutionPolicy
    Verifica la política actual de ejecución de scripts.
  2. Set-ExecutionPolicy AllSigned
    Cambia la política de ejecución para permitir solo scripts firmados por un editor de confianza.
  3. Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1‘))
    Este comando instala Chocolatey en el sistema, permitiendo temporalmente la ejecución de scripts sin restricciones.
  4. choco
    Verifica la instalación de Chocolatey ejecutando el comando.
  5. choco search s3browser
    Busca el software «s3browser» en el repositorio de Chocolatey.
  6. choco install s3browser
    Instala el software «s3browser» usando Chocolatey.
  7. choco install s3browser -y
    Instala «s3browser» sin solicitar confirmaciones adicionales (opción automática).

Estos comandos son utilizados para la instalación y gestión de software en Windows utilizando Chocolatey, un administrador de paquetes para Windows.