Generalidades
Los Grupos de Seguridad se pueden crear y administrar dentro del panel de DreamCompute. Sin embargo, los usuarios avanzados pueden aprovechar la CLI de OpenStack para administrar grupos de seguridad.
Este artículo asume que ya has configurado la CLI de OpenStack.
Crear y eliminar Grupos de Seguridad
Después de iniciar sesión en tu instancia, corre el siguiente comando para enumerar los grupos de seguridad configurados actualmente.
[user@localhost]$ openstack security group list
Crear un Grupo de Seguridad
Corre el siguiente comando para crear un Grupo de Seguridad con un nombre y una descripción especificados.
El carácter de barra invertida \ se usa al ingresar un comando largo. Cuando ingresas \, el comando de terminal continúa a la siguiente línea hasta que termines de ingresarlo.
También puedes eliminar el carácter \ y poner cada parámetro en una sola línea.
[user@localhost]$ openstack security group create \ --description GROUP_DESCRIPTION SECURITY_GROUP_NAME
Si corres el comando openstack security group list de arriba, verás que ahora existe. También puedes verlo en tu panel de DreamCompute en la página 'Network > Security Groups'.
Eliminar un Grupo de Seguridad
Corre lo siguiente para eliminar un Grupo de Seguridad.
[user@localhost]$ openstack security group delete SECURITY_GROUP_NAME
No puedes eliminar un Grupo de Seguridad de tu proyecto 'default'. Tampoco es posible eliminar un Grupo de Seguridad que está asignado a una instancia.
Crear y administrar reglas de Grupos de Seguridad
Puedes modificar los Grupos de Seguridad con el comando openstack security group rule.
Lista de reglas para Grupo de Seguridad
[user@localhost]$ openstack security group rule list SECURITY_GROUP_NAME
Permitir solicitudes al puerto 8080
Para permitir solicitudes al puerto 8080 en todas las instancias que usan este grupo, elige una de las siguientes opciones:
Crear nuevas reglas para un grupo
Permitir acceso para todas las direcciones IP (especificadas como una subnet de IP 0.0.0.0/0
en la notación de CIDR).
[user@localhost]$ openstack security group rule create \ --proto tcp --dst-port 8080 SECURITY_GROUP_NAME +-------------------+------------------------+ | Field | Value | +-------------------+------------------------+ | created_at | 2018-02-08T20:33:38Z | | description | | | direction | ingress | | ether_type | IPv4 | | id | fdd92e21-c474-4349-8...| | name | None | | port_range_max | 8080 | | port_range_min | 8080 | | project_id | e52cde3c560547cf950b...| | protocol | tcp | | remote_group_id | None | | remote_ip_prefix | 0.0.0.0/0 | | revision_number | 1 | | security_group_id | 36f1dcb4-e2fb-3a03-9...| | updated_at | 2018-02-08T20:33:38Z | +-------------------+------------------------+
Si ves las reglas de nuevo, verás el nuevo que ha sido agregado:
[user@localhost]$ openstack security group rule list SECURITY_GROUP_NAME +---------------+-------------+-----------+------------+-----------------------+ | ID | IP Protocol | IP Range | Port Range | Remote Security Group | +---------------+-------------+-----------+------------+-----------------------+ | 7b106e0e-0... | None | None | | None | | 87b0de27-1... | None | None | | None | | fdd92e91-c... | tcp | 0.0.0.0/0 | 8080:8080 | None | +---------------+-------------+-----------+------------+-----------------------+
Agregar reglas de un grupo existente
Permite el acceso solo desde direcciones IP de otros grupos de seguridad (grupos de origen) para acceder al puerto especificado.
Corre lo siguiente para ver el ID y Nombre de los grupos de seguridad existentes:
[user@localhost]$ openstack security group list +----------------+-------------+------------------------------+-------------+ | ID | Name | Description | Project | +----------------+-------------+------------------------------+-------------+ | 26f1dfb4-e2... | NEW_group | OSCLI_Desc | e52ede2a... | | 29abef85-b8... | default | Default security group | e52ede2a... | | 7b450512-d3... | Cloud | Security Group for NextCloud | e52ede2a... | +----------------+-------------+------------------------------+-------------+
Una vez que hayas localizado el ID y Nombre del grupo que deseas importar, corre siguiente:
[user@localhost]$ openstack security group rule create \ --proto tcp --dst-port 8080 --remote-group SOURCE_GROUP_ID GROUP_NAME_TO_ADD_RULE_TO
SOURCE_GROUP_ID es el ID del grupo que deseas agregar.
GROUP_NAME_TO_ADD_RULE_TO es el grupo al que estás agregando la regla.
Mira la página 'Grupos de Seguridad' en tu panel. A la derecha del nuevo Grupo de Seguridad, haz clic en el botón Administrar. Verás una nueva regla agregada y el nombre del otro Grupo de Seguridad ahora está debajo de la columna Grupo de Seguridad Remoto. En el ejemplo anterior, el otro Grupo de Seguridad se denomina 'Cloud'.
Esto permite que el tráfico de origen de cualquier otra instancia de ese grupo de seguridad acceda a cualquier otra instancia.
Permitir el acceso a través de un puerto UDP
Agregar reglas para UDP es lo mismo que para TCP. Puedes usar los mismos comandos anteriores, solo asegúrate de cambiar --proto tcp con --proto udp y cambia el puerto a 53.
Eliminar una regla de un Grupo de Seguridad
Primero, corre el siguiente comando para ver todas las reglas del Grupo de Seguridad.
[user@localhost]$ openstack security group rule list
Esto enumera todas las reglas con su ID correspondiente. El ID es una larga cadena de números y letras. Por ejemplo:
- 55f3cf46d-2c57-4b05-8dab-e12ab585af33
Para eliminar una regla, corre el siguiente comando con el ID de regla correcto.
[user@localhost]$ openstack security group rule delete SECURITY_GROUP_RULE_ID