Grupos de Seguridad de instancias EC2

Un grupo de seguridad en AWS es como un Firewall virtual con el que podemos controlar el trafico de una o varias instancias. Cuando lanzamos una instancia, podemos crear, seleccionar o añadirla a uno o varios grupos de seguridad, si no especificamos ningún grupo de seguridad o no creamos uno nuevo, por defecto nos cogerá el grupo de seguridad creado por defecto.

En los grupos de seguridad podemos ir añadiendo las diferentes reglas para permitir el trafico a las instancias asociadas a estos grupos de seguridad, añadida la nueva regla, automáticamente se aplicaran a las instancias asociadas a este grupo de seguridad.

Veamos algún ejemplo:

Cuando creamos un grupo de seguridad nuevo, este grupo se creará sin ninguna regla, estas reglas las tendremos que añadir posteriormente a la creación del grupo de seguridad.

Para crear el grupo de seguridad, vamos al a consola de Amazon EC2 >>>Network & Security >>> Create Security Group, donde rellenaremos los campos Security group name, una breve descripción explicativa del grupo y desde el desplegable seleccionaremos la VPC que tengamos o queramos. De momento no añadiremos ninguna regla, que como se ve en la siguiente imagen, no tenemos ninguna creada.

Al crear la instancia te pide añadirla a un grupo de seguridad, la siguiente imagen es el ejemplo de un grupo de seguridad por defecto.

Para cambiar de grupo de seguridad, seleccionamos la instancia y hacemos clic sobre Actions >>> Networking >>> Change Security Groups.

Seleccionamos el grupo al que queremos asociarlo a la instancia, recordar que puedes asociar uno o mas grupos a la instancia, y hacemos clic sobre Assign Security Groups.

Una vez asociado el grupo a la instancia, si intentamos conectarnos por SSH a la instancia, nos rechazará la conexión, lógicamente porque no tenemos todavía ninguna regla añadida.

Para añadir una regla que nos permita conectarnos por SSH a la instancia, seleccionaremos el grupo de seguridad al que pertenece esa instancia y haremos clic sobre Inbound >>> Add Rule.

Con esto crearemos una Regla de entrada para poder conectarnos, configuramos los siguientes campos:

  • Type: protocolo al que abriremos el trafico de red
  • Protocol: el tipo de protocolo, TCP o UDP
  • Port Range: puerto ,lo puedes modificar o personalizarlo según conveniencia.
  • Source: determinas el trafico que puede llegar a la instancia, puede ser una ip o un rango …. en formato CIDR
  • Description: breve descripción para la regla creada.

En esta ocasión, en el origen (Source) seleccionare «My IP» ya que dispongo de una ip publica fija, pero recordar que si me intento conectar desde fuera de mi red no me funcionará, tendré que crear una nueva regla para dar acceso a la ip desde la que me conecto. Una vez rellenados los campos, hacemos clic en Save.

Una vez creada la regla, probamos a conectarnos por SSH y esta vez si podremos acceder.

Probamos a crear otra regla, por ejemplo el acceso a un servidor Web con Apache. Instalamos el servicio en una instancia, solo lo instalaré, con la configuración que venga por defecto ya que solo va a ser una prueba.

Si una vez instalado, intentamos acceder a través del navegador con la ip publica o el DNS publico que se le asigna a la instancia cuando la creas, no mostrará nada.

Esto se debe lógicamente a que no tenemos una regla para el acceso a través del protocolo http y el puerto 80. Hacemos clic en Add Rule y rellenamos los campos, al seleccionar el protocolo http, automáticamente el tipo de protocolo nos lo pone el TCP y el puerto el 80, el campo Source, selecciono mi ip publica y en la descripción el tipo de acceso.

 

Ponemos de nuevo la ip publica o el DNS publico de la instancia y accederemos a la pagina predeterminada de un Apache sin configurar.

Saludos y espero que os guste.