Cuando se gestionan y administran servidores y equipos cliente, es de vital importancia tener claro qué tipo de acceso tendrán estos elementos para evitar ataques no deseados o repentinos afectando a toda la operación natural del entorno. Una de las tecnologías más usadas en la actualidad por sus diversas prestaciones, escalabilidad y configuración son los entornos virtuales. Especialmente disponemos de una opción, que, aunque es de pago, nos ofrece un gran número de soluciones y características para llevar a cabo este proceso de la mejor manera. Hablamos de Microsoft Azure, una plataforma que, aunque es de pago disponemos de un periodo de prueba de un año.
Para conocer más sobre el funcionamiento de Microsoft Azure podemos visitar el siguiente enlace:
Una de las tareas, que como hemos mencionado, es fundamental es saber qué accesibilidad se tendrá en los servidores. Esto se logra a través de la apertura de puertos y por esta razón Solvetic dará una explicación sobre cómo podemos abrir los puertos en Microsoft Azure de una forma útil y así administrar el tipo de comunicación con el sistema.
1. Abrir puertos en Microsoft Azure usando Portal Azure
Cuando trabajamos en Azure, si deseamos abrir un puerto o crear un punto de conexión a una de las máquinas virtuales creadas, se requiere la creación de un filtro de red en una subred o en una interfaz de red de máquina virtual, la misión de estos filtros consiste en controlar el tráfico entrante y saliente y para ello se alojarán en un grupo de seguridad de red asociado al recurso que es donde se ha de recibir dicho tráfico.
Para dar inicio a este proceso debemos iniciar sesión en el siguiente enlace. Allí ingresamos nuestras credenciales de usuario para acceder.
2. Crear un grupo de seguridad de red usando Portal Azure
Una vez ingresemos al portal de Azure, debemos crear un grupo de seguridad de red, para ello vamos a la sección “Todos los recursos” y allí, en el campo de búsqueda, ingresamos el término “grupo de” y serán desplegadas una serie de opciones donde debemos seleccionar “Network security group”:
Esto desplegará la siguiente ventana:
Allí seleccionamos la opción “Resource Manager” y pulsamos en el botón “Crear” y en la siguiente ventana definimos. Una vez definido esto pulsamos en el botón “Crear” para ver que se crea nuestro grupo de seguridad de forma correcta en Azure.
- Nombre del grupo de seguridad de red
- Tipo de suscripción a usar
- Grupo de recursos que hemos de asignar
- Ubicación física del recurso
3. Crear una regla de seguridad de entrada usando Portal Azure
Ahora, el siguiente paso a dar consiste en crear una regla de seguridad a nivel de entrada, para ello seleccionamos el grupo que hemos creado y en la sección lateral izquierda seleccionamos “Reglas de seguridad de entrada” y veremos lo siguiente:
Allí damos clic en el botón “Agregar” y en la ventana desplegada definiremos lo siguiente:
- Origen de la regla
- Intervalos de puerto a usar
- Destino de la regla
- Puertos a abrir
- Protocolos a usar
- Acción a ejecutar
- Nivel de prioridad (entre más bajo es el valor numérico, antes se aplica la regla)
- Nombre a asignar
Definidos estos aspectos pulsamos en el botón “Agregar” y veremos nuestra regla añadida:
4. Asociar un grupo de seguridad de red con una subred usando Portal Azure
Es necesario para que todo funcione de forma correcta, que asociemos el grupo de seguridad a una subred existente, para esto vamos a la sección “Subredes” y allí veremos lo siguiente:
Damos clic en el botón “Asociar” y se desplegará lo siguiente:
Allí pulsamos en la opción “Red virtual” y veremos las diversas redes virtuales creadas en Azure:
Seleccionamos la red virtual a usar y posteriormente debemos seleccionar la subred:
Una vez seleccionada veremos lo siguiente:
Allí pulsamos en el botón “Aceptar” para realizar el proceso de integración del grupo de seguridad con la red virtual. Ahora, a través del puerto seleccionado, se podrá acceder a las máquinas virtuales que se conectan a esa subred especifica.
5. Abrir puertos en Microsoft Azure usando PowerShell
Microsoft Azure integra PowerShell con el cual será posible llevar a cabo diversas tareas de creación, gestión y administración de los recursos en Azure.
El primer paso es iniciar sesión en PowerShell de Azure ejecutando:
Connect-AzureRmAccount
También será posible iniciar sesión el Portal Azure y luego ir a una nueva pestaña y allí pegar lo siguiente:
https://shell.azure.com/powershell
Luego de esto, vamos a crear de una regla usando “New-AzureRmNetworkSecurityGroup”, para este ejemplo se creará una regla llamada RedSolvetic para permitir el tráfico TCP en el puerto 80, ejecutamos lo siguiente:
$httprule = New-AzureRmNetworkSecurityRuleConfig ` -Name "RedSolvetic" ` -Description "Allow HTTP" ` -Access "Allow" ` -Protocol "Tcp" ` -Direction "Inbound" ` -Priority "100" ` -SourceAddressPrefix "Internet" ` -SourcePortRange * ` -DestinationAddressPrefix * ` -DestinationPortRange 80
Luego de esto, vamos a crear un grupo de seguridad de red usando “New-AzureRmNetworkSecurityGroup” y allí asignar la regla HTTP:
$nsg = New-AzureRmNetworkSecurityGroup ` -ResourceGroupName "Solvetic" ` -Location "EastUS" ` -Name "SolveticSeguridad" ` -SecurityRules $httprule
El siguiente paso consiste en asignar el grupo de seguridad de red a una subred existente en Azure, para este caso vamos a ejecutar lo siguiente:
$vnet = Get-AzureRmVirtualNetwork ` -ResourceGroupName "Solvetic" ` -Name "Solvetic"
Como vimos anteriormente, será necesario asociar el grupo de seguridad de red con la subred a través del cmdlet "Set-AzureRmVirtualNetworkSubnetConfig", en este ejemplo ejecutamos lo siguiente.
$subnetPrefix = $vnet.Subnets|?{$_.Name -eq 'default'} Set-AzureRmVirtualNetworkSubnetConfig ` -VirtualNetwork $vnet ` -Name "default" ` -AddressPrefix $subnetPrefix.AddressPrefix ` -NetworkSecurityGroup $nsg
En la parte final veremos lo siguiente:
Por último, debemos actualizar la red virtual usando “Set-AzureRmVirtualNetwork” con el fin de que los cambios surtan el efecto esperado:
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet
Como hemos visto, disponemos de estos métodos para simplificar el proceso de apertura de puertos en las máquinas virtuales de Azure.