Ogranicz dostęp SSH do maszyn wirtualnych w AKS obsługiwanej przez Azure Arc (AKS w wersji Azure Local 22H2)
Dotyczy: AKS na platformie Azure Local 22H2, AKS na systemie Windows Server
W tym artykule opisano nową funkcję zabezpieczeń w usłudze AKS Arc, która ogranicza dostęp protokołu Secure Shell Protocol (SSH) do bazowych maszyn wirtualnych. Funkcja ogranicza dostęp tylko do określonych adresów IP i ogranicza zestaw poleceń, które można uruchamiać za pośrednictwem protokołu SSH.
Przegląd
Obecnie każda osoba mająca dostęp administratora do usługi AKS włączonej przez usługę Arc ma dostęp do maszyn wirtualnych za pośrednictwem protokołu SSH na dowolnej maszynie. W niektórych scenariuszach możesz chcieć ograniczyć ten dostęp, ponieważ nieograniczony dostęp utrudnia spełnienie wymogów zgodności.
Notatka
Obecnie ta funkcja jest dostępna tylko dla nowej instalacji usługi AKS Arc, a nie w przypadku uaktualnień. Tylko nowa instalacja usługi AKS Arc może przekazywać ograniczone adresy IP i ograniczać polecenia uruchamiane za pośrednictwem protokołu SSH.
Włączanie ograniczeń protokołu SSH
Aby włączyć ograniczenia protokołu SSH, wykonaj następujące kroki:
Utwórz konfigurację SSH przy użyciu polecenia cmdlet New-AksHciSSHConfiguration z dozwolonymi źródłowymi adresami IP lub CIDR, które chcesz dopuścić do dostępu do maszyn wirtualnych:
$ssh = New-AksHciSSHConfiguration -name sshConfig -cidr 172.16.0.0/24
lub
$ssh = New-AksHciSSHConfiguration -name sshConfig -ipAddresses 4.4.4.4,8.8.8.8
lub, aby ograniczyć dostęp SSH:
$ssh = New-AksHciSSHConfiguration -name sshConfig –restrictSSHCommands
Nota
Jeśli klucze SSH nie są przekazywane, klucze SSH klastra zarządzania są ponownie używane.
Dodaj konfigurację SSH, uruchamiając polecenie cmdlet Set-AksHciConfig, przekazując konfigurację SSH utworzoną w poprzednim kroku:
Set-AksHciConfig -ssh $ssh
Walidacja: klaster docelowy
Po utworzeniu klastra można ręcznie sprawdzić, czy ograniczenie SSH zostało dodane, próbując przejąć protokół SSH do jednej z maszyn wirtualnych. Na przykład:
ssh -i (get-MocConfig).sshPrivateKey clouduser@<vm-ipaddress>
Ten krok można wykonać na liście określonych adresów IP/adresów CIDR lub poza listą adresów IP. Protokół SSH z zakresu adresów IP/CIDR ma uprawnienia dostępu. Próby SSH spoza listy nie mają dostępu.
Możesz również uruchamiać polecenia bezpośrednio z poziomu protokołu SSH. To polecenie zwraca datę.
Sudo
komendy nie działają:
ssh -i (get-mocconfig).sshPrivateKey clouduser@<ip> date
Walidacja: zbieranie dzienników
To polecenie zwraca dzienniki maszyny wirtualnej, takie jak cloudinit
, dzienniki lb
itp.
Get-AksHciLogs –virtualMachineLogs
Zagadnienia dotyczące
- Konfiguracja pojedynczego protokołu SSH dla klastrów obciążeń jest teraz dostępna. Konfiguracja klastrów obciążeń używa polecenia cmdlet New-AksHciSSHConfiguration PowerShell.
- Ograniczenie dotyczy tylko systemu Linux. Węzły systemu Windows nie mają tego ograniczenia; Powinno być możliwe pomyślne połączenie SSH.
- Konfigurację można ustawić tylko podczas fazy instalacji usługi AKS Arc.
- Jeśli niepoprawnie skonfigurujesz ustawienia protokołu SSH, musisz wykonać ponowną instalację.
- Nie ma obsługi uaktualnień.
- Można dodawać ciDR lub adresy IP, do których można ograniczyć dostęp SSH.
- Podane ustawienie SSH jest ponownie używane dla wszystkich klastrów docelowych. Pojedyncza konfiguracja protokołu SSH dla klastrów obciążeń nie jest dostępna.