Windows Azure Access Control List

V nedávné aktualizaci Windows Azure služby umožnil Microsoft nastavit Access Control List (ACL) pro přístup k virtuálním strojům v Azure přes Public Endpointy.

Co lze pomocí Azure ACL nastavit:

Jak nastavit ACL

Azure ACL je možné zatím nastavit pouze přes Azure PowerShell.

Pro testovací účely jsem založil v Windows Azure testovací Windows Server stroj, kde jsem povolil Telnet Server.

Poté jsem vytvořil nový Azure Endpoint pro přístup na port Telnet serveru – Endpoint můžeme nastavit buď přes GUI nebo pomocí PowerShell. Pomocí PS můžeme použít následující:

Get-AzureVM -ServiceName TestServer |Add-AzureEndpoint -Name Telnet -Protocol tcp -PublicPort 23 -LocalPort 23|Update-AzureVM

Kde PublicPort je port, na který se budeme ke službě připojovat, a LocalPort je lokální port, na kterém běží služba. Můžeme tedy „zamaskovat“ skutečný port, na kterém služba běží.

Po konfiguraci Endpointu je možné ověřit komunikaci na Telnet server:

image

Azure ACL poté nastavíme následovně. Jako příklad použiji stav, kdy chci povolit připojení na Telnet server pouze z „mé“ IP adresy xx.168.58.210

$acl=New-AzureAclConfig

Set-AzureAclConfig -AddRule -ACL $acl -Order 200 -Action Permit -RemoteSubnet xx.168.58.210/32 -Description "Permit IP"

Get-AzureVM -Name TestServer -ServiceName TestServer|set-AzureEndpoint -Name telnet -ACL $acl -Protocol tcp -LocalPort 23 -PublicPort 23 |Update-AzureVM

Po aplikaci ACL na Telnet Endpoint je stále možné přistoupit na Telnet port z „mé“ IP adresy. Ale pokud zkusím přístup z jiné, tak přístup není možný:

image

Další body na zvážení:

Závěrem uvádím přehled cmdlets, které umožňují konfiguraci ACL

ACL jsou vítaným rozšířením Windows Azure služby, které umožňují například ochránit port, na kterém běží administrace dané aplikace, nebo povolit přístup pouze z firemních IP adres, pokud je služba běžící v Azure určena pouze přístup z interní sítě společnosti.