AWS - UBUNTU SSHERVER

INTRODUCCIÓN

En esta práctica, aprenderemos a crear y configurar una máquina virtual en la nube utilizando Amazon Web Services (AWS). La máquina que configuraremos será una instancia de Ubuntu Server, un sistema operativo ampliamente utilizado en entornos de servidores debido a su estabilidad, flexibilidad y compatibilidad con herramientas modernas.

Además, exploraremos cómo acceder y administrar esta máquina virtual de forma segura utilizando el protocolo SSH (Secure Shell). Este protocolo nos permitirá establecer una conexión remota cifrada desde nuestra computadora a la instancia de AWS, asegurando la privacidad e integridad de los datos. Para lograrlo, utilizaremos un archivo de clave en formato PEM, que actúa como una llave privada para autenticar nuestra identidad y autorizar el acceso al servidor.

Objetivos de la práctica

  1. Crear una instancia de Ubuntu Server en AWS:

    • Configurar una máquina virtual (instancia EC2) en la plataforma de AWS.
    • Seleccionar la configuración adecuada para nuestro caso práctico, como el tipo de instancia y la red.
  2. Descargar y proteger el archivo de clave PEM:

    • Entender el propósito de este archivo en el proceso de autenticación.
    • Aplicar las configuraciones necesarias para mantenerlo seguro y funcional.
  3. Establecer una conexión remota mediante SSH:

    • Usar herramientas como el cliente SSH en Linux, macOS o Windows para conectarnos a la instancia.
    • Realizar la autenticación con la clave PEM para acceder al servidor de manera segura.
  4. Realizar tareas básicas de administración:

    • Familiarizarnos con el entorno de Ubuntu Server.
    • Ejecutar comandos básicos para administrar la máquina.

Importancia de la práctica

El conocimiento práctico de cómo crear y administrar instancias en AWS es esencial en el mundo actual, donde la computación en la nube se ha convertido en un estándar para la infraestructura tecnológica. Esta práctica nos permitirá:

  • Comprender cómo funcionan los servicios en la nube y cómo interactuar con ellos.
  • Aprender a usar claves criptográficas (archivo PEM) para establecer conexiones seguras.
  • Sentar las bases para tareas más avanzadas, como la implementación de aplicaciones, configuraciones de red y gestión de servidores.

Con esta experiencia, adquiriremos habilidades clave que son altamente demandadas en el ámbito de la administración de sistemas y tecnologías de la nube.

AWS - AMAZON WEB SERVICES

Amazon Web Services (AWS) es una plataforma de servicios en la nube ofrecida por Amazon que proporciona una amplia gama de servicios informáticos a través de internet. Estos servicios incluyen computación, almacenamiento, bases de datos, redes, análisis, inteligencia artificial, aprendizaje automático, herramientas para desarrollo de aplicaciones, entre otros.

AWS permite a empresas y desarrolladores evitar la compra y mantenimiento de infraestructura física, como servidores y centros de datos. En su lugar, pueden usar y pagar solo por los recursos que necesiten, ajustando su capacidad según la demanda.

Características principales de AWS

  1. Modelo de pago por uso:

    • Los usuarios solo pagan por los servicios que consumen sin compromisos a largo plazo.
    • Esto reduce costos iniciales y permite una escalabilidad eficiente.
  2. Escalabilidad:

    • AWS permite a las empresas aumentar o disminuir los recursos según sea necesario. Esto es crucial para manejar picos de demanda o reducir costos durante tiempos de menor actividad.
  3. Alcance global:

    • AWS opera en múltiples regiones geográficas a través de centros de datos distribuidos globalmente. Esto facilita a las empresas ejecutar aplicaciones cerca de sus clientes finales para mejorar la latencia y el rendimiento.
  4. Seguridad robusta:

    • AWS emplea medidas avanzadas de seguridad física y lógica, como cifrado de datos, firewalls, autenticación multifactor y certificaciones de cumplimiento normativo (ISO, SOC, PCI DSS, entre otras).
  5. Amplia oferta de servicios:

    • AWS incluye más de 200 servicios en categorías como almacenamiento, computación, bases de datos, inteligencia artificial, y herramientas de desarrollo.

Categorías de servicios en AWS

  1. Computación:

    • Servicios para ejecutar y administrar máquinas virtuales o contenedores.
    • Ejemplos:
      • Amazon EC2 (Elastic Compute Cloud): Proporciona máquinas virtuales escalables.
      • AWS Lambda: Permite ejecutar funciones de código sin gestionar servidores.
  2. Almacenamiento:

    • Soluciones para almacenar datos con diferentes niveles de acceso y redundancia.
    • Ejemplos:
      • Amazon S3 (Simple Storage Service): Almacenamiento de objetos escalable y duradero.
      • Amazon EBS (Elastic Block Store): Almacenamiento en bloque para instancias EC2.
  3. Bases de datos:

    • Bases de datos relacionales, NoSQL y servicios de análisis.
    • Ejemplos:
      • Amazon RDS (Relational Database Service): Manejo de bases de datos relacionales como MySQL, PostgreSQL y SQL Server.
      • Amazon DynamoDB: Base de datos NoSQL de alto rendimiento.
  4. Redes:

    • Servicios para la creación y gestión de redes y conectividad.
    • Ejemplos:
      • Amazon VPC (Virtual Private Cloud): Permite crear redes virtuales aisladas en la nube.
      • AWS CloudFront: Servicio de red de entrega de contenido (CDN).
  5. Seguridad e identidad:

    • Servicios para proteger recursos y administrar permisos.
    • Ejemplos:
      • AWS IAM (Identity and Access Management): Controla el acceso a recursos.
      • AWS KMS (Key Management Service): Gestión de claves de cifrado.
  6. Inteligencia artificial y aprendizaje automático:

    • Herramientas para implementar soluciones de IA.
    • Ejemplos:
      • Amazon Rekognition: Análisis de imágenes y videos.
      • Amazon SageMaker: Construcción y despliegue de modelos de machine learning.
  7. Desarrollo y gestión:

    • Servicios para facilitar la implementación y administración de aplicaciones.
    • Ejemplos:
      • AWS CloudFormation: Automatización de infraestructura como código.
      • AWS CodeDeploy: Automatiza despliegues de aplicaciones.
  8. Análisis y Big Data:

    • Herramientas para análisis de datos masivos.
    • Ejemplos:
      • Amazon Redshift: Almacenamiento de datos para análisis masivo.
      • AWS Glue: Servicio de ETL para preparación de datos.

Ventajas de AWS

  1. Flexibilidad:

    • AWS se adapta a las necesidades de cualquier tipo de cliente, desde startups hasta grandes corporaciones.
  2. Innovación constante:

    • Amazon actualiza y amplía regularmente su oferta, integrando nuevas tecnologías como inteligencia artificial y machine learning.
  3. Ecosistema robusto:

    • AWS tiene una gran comunidad de usuarios, partners y herramientas de soporte técnico.
  4. Rentabilidad:

    • Gracias al modelo de pago por uso, las empresas pueden optimizar costos según su consumo real.
  5. Compatibilidad híbrida:

    • AWS se integra fácilmente con entornos híbridos, combinando infraestructura local con la nube.

Casos de uso comunes de AWS

  1. Hospedaje web:

    • AWS ofrece herramientas para alojar sitios web simples o aplicaciones complejas como WordPress o plataformas e-commerce.
  2. Almacenamiento y copias de seguridad:

    • Empresas almacenan grandes volúmenes de datos en servicios como S3 o realizan copias de seguridad automatizadas.
  3. Desarrollo de aplicaciones:

    • Desarrolladores implementan y prueban aplicaciones en un entorno escalable sin preocuparse por la infraestructura.
  4. Big Data y análisis:

    • Organizaciones procesan grandes volúmenes de datos en tiempo real para obtener insights de negocio.
  5. Migración a la nube:

    • Empresas mueven aplicaciones y datos desde sus centros de datos locales hacia AWS para aprovechar sus ventajas.

AWS es una plataforma líder en la industria de la computación en la nube debido a su amplia gama de servicios, escalabilidad, seguridad y modelo de pago flexible. Su adopción permite a las empresas y desarrolladores concentrarse en la innovación y el crecimiento, en lugar de la gestión de infraestructura. Sea para pequeñas startups o grandes corporaciones, AWS ofrece soluciones personalizables para satisfacer cualquier necesidad tecnológica.

EC2 - ELASTIC COMPUTE CLOUD

Una instancia EC2 (Elastic Compute Cloud) es una máquina virtual en la nube proporcionada por el servicio Amazon EC2 de Amazon Web Services (AWS). Estas instancias están diseñadas para ejecutar aplicaciones y cargas de trabajo en un entorno virtualizado, ofreciendo flexibilidad y escalabilidad para necesidades computacionales específicas.

En términos simples, una instancia EC2 es como una computadora virtual que puedes configurar, iniciar y detener según tus necesidades, pagando solo por el tiempo que la utilices.

Características principales de las instancias EC2

  1. Elasticidad:

    • Puedes crear, escalar y eliminar instancias según la carga de trabajo.
    • Permite ajustar recursos como CPU, memoria y almacenamiento para optimizar costos y rendimiento.
  2. Configuración personalizada:

    • AWS ofrece diferentes tipos de instancias con configuraciones prediseñadas o totalmente personalizables para adaptarse a casos de uso específicos.
  3. Elección de sistemas operativos:

    • Puedes elegir entre una variedad de sistemas operativos, como Amazon Linux, Ubuntu, Windows Server, Red Hat Enterprise Linux, entre otros.
  4. Modelos de facturación flexibles:

    • Las instancias EC2 ofrecen diferentes modelos de pago, como bajo demanda, ahorro reservado y uso puntual (Spot).
  5. Almacenamiento asociado:

    • Las instancias pueden conectarse a servicios de almacenamiento como Amazon Elastic Block Store (EBS), almacenamiento en volúmenes persistentes, o Amazon S3, para almacenar datos temporales o a largo plazo.
  6. Redes configurables:

    • Las instancias EC2 pueden integrarse con redes privadas virtuales (Amazon VPC), lo que permite controlar cómo las máquinas virtuales se conectan entre sí y al mundo exterior.

¿Cómo funciona una instancia EC2?

  1. Creación de la instancia:

    • A través de la consola de AWS, la línea de comandos (AWS CLI) o APIs, puedes lanzar una instancia EC2. Durante la creación, eliges:
      • AMI (Amazon Machine Image): Imagen que incluye el sistema operativo, software preinstalado y configuraciones necesarias.
      • Tipo de instancia: Determina los recursos asignados (CPU, memoria, almacenamiento).
      • Configuraciones de red: Define si la instancia tendrá una IP pública, estará en una red privada, o será parte de un balanceador de carga.
      • Clave SSH: Usada para acceder a la instancia.
  2. Inicio y uso:

    • Una vez lanzada, la instancia está disponible para ejecutar aplicaciones, hospedar sitios web o servir como un servidor en la nube.
  3. Facturación:

    • Se te cobra por el tiempo que la instancia está en ejecución, o por otros modelos de precio (reservado o Spot).
  4. Terminación:

    • Puedes detener o terminar la instancia cuando ya no la necesites. Si usas almacenamiento temporal, los datos se eliminarán; si usas almacenamiento persistente (EBS), los datos pueden conservarse.

Tipos de instancias EC2

AWS clasifica las instancias EC2 en varias familias según el tipo de carga de trabajo. Estas son las más comunes:

  1. General Purpose (Propósito General):

    • Uso equilibrado de CPU, memoria y almacenamiento.
    • Ejemplo: t2.micro, m5.large.
    • Casos de uso: Aplicaciones web, entornos de desarrollo y servidores pequeños.
  2. Compute Optimized (Optimizado para Cómputo):

    • Diseñadas para cargas de trabajo intensivas en procesamiento.
    • Ejemplo: c6g.large, c5n.2xlarge.
    • Casos de uso: Análisis de datos, procesamiento en tiempo real, computación científica.
  3. Memory Optimized (Optimizado para Memoria):

    • Proporcionan grandes cantidades de RAM para aplicaciones que requieren procesamiento intensivo de datos en memoria.
    • Ejemplo: r5.large, x2idn.8xlarge.
    • Casos de uso: Bases de datos, análisis en memoria, sistemas SAP HANA.
  4. Storage Optimized (Optimizado para Almacenamiento):

    • Ofrecen alto rendimiento en lectura/escritura para grandes cantidades de datos.
    • Ejemplo: i3.large, d2.xlarge.
    • Casos de uso: Big Data, almacenamiento de datos distribuidos, análisis de logs.
  5. Accelerated Computing (Cómputo Acelerado):

    • Incluyen GPUs para cargas de trabajo gráficas o de aprendizaje automático.
    • Ejemplo: p4d.24xlarge, g5.xlarge.
    • Casos de uso: Renderizado 3D, simulaciones científicas, entrenamiento de modelos de machine learning.

Modelos de precios para instancias EC2

AWS ofrece varios modelos de precios para adaptarse a diferentes necesidades económicas:

  1. On-Demand (Bajo Demanda):

    • Paga por segundo o por hora sin compromisos.
    • Ideal para cargas de trabajo temporales o experimentales.
  2. Reserved Instances (Instancias Reservadas):

    • Contratos de 1 o 3 años con descuentos significativos.
    • Adecuado para cargas de trabajo constantes o predecibles.
  3. Spot Instances (Instancias Puntuales):

    • Recursos sobrantes disponibles con descuentos de hasta el 90%.
    • Perfectas para tareas flexibles, como pruebas o procesamiento de datos no urgente.
  4. Savings Plans (Planes de Ahorro):

    • Planes de compromiso de gasto por 1 o 3 años en lugar de comprometerse a tipos específicos de instancias.

Casos de uso de las instancias EC2

  1. Alojamiento de aplicaciones:

    • Servidores para aplicaciones web, APIs o sistemas ERP.
  2. Entornos de desarrollo y prueba:

    • Crear entornos temporales para probar software antes del despliegue.
  3. Cómputo científico:

    • Procesamiento de grandes volúmenes de datos en simulaciones, análisis genéticos o modelado climático.
  4. Análisis de datos y Big Data:

    • Procesamiento masivo de datos con herramientas como Apache Hadoop o Spark.
  5. Renderizado de gráficos o video:

    • Uso de instancias con GPUs para renderizado 3D, edición de video o simulaciones complejas.

Ventajas de usar instancias EC2

  1. Flexibilidad:

    • Configuración adaptada a cualquier tipo de necesidad computacional.
  2. Escalabilidad:

    • Permite agregar o reducir capacidad rápidamente según la demanda.
  3. Modelo de pago eficiente:

    • El pago por uso ayuda a optimizar costos y evitar gastos innecesarios.
  4. Integración con otros servicios AWS:

    • Como S3, RDS, Lambda y CloudWatch para un ecosistema completo.
  5. Globalización:

    • Disponibles en regiones y zonas de disponibilidad en todo el mundo.

Conclusión

Una instancia EC2 es el corazón del servicio de computación en la nube de AWS, proporcionando una base flexible, escalable y segura para ejecutar cualquier tipo de aplicación o carga de trabajo. Gracias a su modelo de pago por uso y su integración con otros servicios de AWS, las instancias EC2 se han convertido en una herramienta esencial para empresas y desarrolladores que buscan optimizar su infraestructura tecnológica.

CLAVE PEM

Una clave PEM es un archivo que contiene información utilizada para la seguridad de sistemas y redes, como claves criptográficas y certificados digitales. Es un estándar ampliamente utilizado que permite representar estos datos de manera legible y compatible con diversas herramientas y sistemas. Las claves PEM son esenciales para proteger la comunicación entre dispositivos, autenticar usuarios o servidores, y garantizar la integridad de los datos que viajan a través de redes, como internet.

El formato PEM (Privacy-Enhanced Mail) fue diseñado originalmente para proteger correos electrónicos, pero actualmente se utiliza en múltiples aplicaciones de seguridad, como conexiones seguras mediante SSH y HTTPS, infraestructura de clave pública (PKI), y encriptación de datos.

Características principales de una clave PEM

  1. Almacenamiento de claves y certificados:

    • Puede contener claves privadas, claves públicas o certificados digitales. Estas claves y certificados se utilizan para autenticar identidades y cifrar comunicaciones.
  2. Formato estándar y compatible:

    • Los archivos PEM están codificados en base64 y delimitados por encabezados y pies que indican el tipo de información que contienen, lo que los hace compatibles con muchas herramientas de software.
  3. Legible como texto:

    • Aunque están codificados, los archivos PEM son legibles y pueden abrirse con cualquier editor de texto, facilitando su transporte y uso en diferentes sistemas.

Funciones de las claves PEM

  1. Autenticación:

    • Las claves PEM permiten autenticar usuarios, servidores o sistemas, verificando que son quienes dicen ser. Por ejemplo, un servidor utiliza un certificado almacenado en formato PEM para demostrar su identidad a los usuarios.
  2. Cifrado de datos:

    • Aseguran que los datos transmitidos entre dispositivos estén protegidos y no puedan ser leídos por terceros.
  3. Establecimiento de conexiones seguras:

    • Son fundamentales en protocolos como SSH, para acceder de forma remota a servidores, y TLS/SSL, que protege la navegación web mediante HTTPS.

¿Qué contiene una clave PEM?

El contenido de una clave PEM depende de su uso específico. Puede incluir:

  1. Claves privadas:

    • Una clave secreta que se utiliza para descifrar datos o firmar digitalmente. Solo el propietario debe tener acceso a esta clave.
  2. Claves públicas:

    • Información que puede compartirse libremente y que se utiliza para cifrar datos o verificar firmas digitales.
  3. Certificados digitales:

    • Documentos electrónicos que garantizan la identidad de un servidor, usuario o sistema, y que están respaldados por una autoridad certificadora (CA).

Funcionamiento de las claves PEM en la criptografía

Las claves PEM se basan en la criptografía de clave pública, un sistema que utiliza un par de claves:

  1. Clave pública:

    • Usada para cifrar datos o verificar firmas digitales.
    • Puede compartirse sin riesgo, ya que no revela información confidencial.
  2. Clave privada:

    • Exclusiva del propietario y utilizada para descifrar datos o generar firmas digitales.
    • Es esencial mantenerla protegida, ya que su exposición comprometería la seguridad.

Cuando un sistema establece una conexión segura, las claves PEM garantizan que los datos:

  • Solo puedan ser leídos por el destinatario correcto (confidencialidad).
  • No hayan sido alterados durante la transmisión (integridad).
  • Provengan de una fuente confiable (autenticidad).

Usos comunes de las claves PEM

  1. Acceso remoto a servidores:

    • Las claves PEM se utilizan en conexiones SSH para autenticar usuarios y permitirles acceder a servidores sin necesidad de contraseñas.
  2. Seguridad web:

    • Sitios web que utilizan HTTPS implementan certificados SSL/TLS en formato PEM para cifrar las comunicaciones y garantizar que los usuarios se conecten al servidor correcto.
  3. Infraestructura de clave pública (PKI):

    • En sistemas que gestionan certificados digitales y autenticación, las claves PEM son esenciales para garantizar la seguridad de las transacciones.
  4. Cifrado de datos:

    • Se utilizan para proteger datos almacenados o en tránsito, asegurando que solo personas autorizadas puedan acceder a ellos.

Ventajas del formato PEM

  1. Compatibilidad universal:

    • Es un estándar ampliamente soportado por herramientas y plataformas como OpenSSL, AWS y servidores web.
  2. Legibilidad y transporte:

    • Al estar codificado en texto, puede transferirse fácilmente por correo electrónico, sistemas de archivos o protocolos de red.
  3. Simplicidad en la gestión:

    • Permite almacenar diferentes tipos de claves y certificados en un solo archivo, manteniendo una organización sencilla.

Desafíos del formato PEM

  1. Falta de cifrado en el archivo:

    • Aunque protege las comunicaciones, el archivo PEM en sí mismo no está cifrado por defecto. Esto significa que si alguien accede al archivo, podría comprometer la seguridad.
  2. Riesgo de mal manejo:

    • Es crucial manejar las claves PEM con cuidado. Exponer una clave privada puede dar acceso no autorizado a sistemas y datos.

Importancia de las claves PEM en la seguridad informática

Las claves PEM son un componente fundamental de la seguridad en redes y sistemas. Permiten establecer y gestionar conexiones seguras, proteger datos sensibles y autenticar identidades. Su adopción en protocolos como SSH, TLS/SSL y PKI demuestra su relevancia en el ecosistema de seguridad actual.

Además, el formato PEM facilita su uso y manejo en diversas aplicaciones, desde el acceso a servidores hasta la implementación de certificados en sitios web, haciendo de ellas una herramienta imprescindible para garantizar la privacidad y la integridad de la información en entornos digitales.

Comentarios

Entradas populares