Restricción del acceso SSH a máquinas virtuales en AKS habilitadas por Azure Arc (AKS en Azure Local 22H2)
Se aplica a: AKS en Azure Local 22H2, AKS en Windows Server
En este artículo se describe una nueva característica de seguridad en AKS Arc que restringe el acceso del Protocolo secure Shell (SSH) a las máquinas virtuales subyacentes. La característica limita el acceso solo a determinadas direcciones IP y restringe el conjunto de comandos que puede ejecutar a través de SSH.
Visión general
Actualmente, cualquier persona con acceso de administrador a AKS habilitado por Arc tiene acceso a las máquinas virtuales a través de SSH en cualquier máquina. En algunos escenarios, es posible que quiera limitar ese acceso, ya que el acceso ilimitado dificulta el cumplimiento.
Nota
Actualmente, esta funcionalidad solo está disponible para una nueva instalación de AKS Arc y no para las actualizaciones. Solo una nueva instalación de AKS Arc puede pasar las direcciones IP restringidas y restringir los comandos que se ejecutan a través de SSH.
Habilitación de restricciones ssh
Para habilitar las restricciones de SSH, realice los pasos siguientes:
Cree una configuración de SSH utilizando el cmdlet New-AksHciSSHConfiguration, con las direcciones IP de origen permitidas o CIDR que desea permitir para acceder a las máquinas virtuales.
$ssh = New-AksHciSSHConfiguration -name sshConfig -cidr 172.16.0.0/24
o
$ssh = New-AksHciSSHConfiguration -name sshConfig -ipAddresses 4.4.4.4,8.8.8.8
o bien, para restringir el acceso SSH:
$ssh = New-AksHciSSHConfiguration -name sshConfig –restrictSSHCommands
Nota
Si no se pasan las claves SSH, se reutilizan las claves SSH del clúster de administración.
Agregue la configuración de SSH mediante la ejecución del cmdlet set-AksHciConfig y pase la configuración de SSH que creó en el paso anterior:
Set-AksHciConfig -ssh $ssh
Validación: clúster de destino
Una vez creado el clúster, puede validar manualmente que se agregó la restricción ssh intentando usar SSH en una de las máquinas virtuales. Por ejemplo:
ssh -i (get-MocConfig).sshPrivateKey clouduser@<vm-ipaddress>
Puede realizar este paso dentro de la lista de direcciones IP o CIDR especificadas, o fuera de la lista de direcciones IP. El SSH desde dentro del rango de direcciones IP/CIDR tiene acceso. Los intentos de SSH desde fuera de la lista no tienen acceso.
También puede ejecutar comandos directamente desde SSH. Este comando devuelve la fecha. Los comandos Sudo
no funcionan.
ssh -i (get-mocconfig).sshPrivateKey clouduser@<ip> date
Validación: recopilación de registros
Este comando devuelve los registros de máquina virtual, como cloudinit
, lb
registros, etc.
Get-AksHciLogs –virtualMachineLogs
Consideraciones
- La configuración de SSH individual para clústeres de cargas de trabajo ya está disponible. La configuración de los clústeres de cargas de trabajo usa el cmdlet New-AksHciSSHConfiguration de PowerShell.
- La restricción solo es para Linux. Los nodos de Windows no tienen esta restricción; debería poder conectarse correctamente a SSH.
- Solo puede establecer la configuración durante la fase de instalación de AKS Arc.
- Debe realizar una reinstalación si configura incorrectamente cualquier configuración de SSH.
- No hay soporte para actualizaciones.
- Puede agregar CIDR o direcciones IP a las que se puede restringir el acceso SSH.
- La configuración de SSH que proporcione se reutiliza para todos los clústeres de destino. La configuración de SSH individual para clústeres de cargas de trabajo no está disponible.