Esporta (0) Stampa
Espandi tutto

Aggiungere regole di firewall tramite un'attività di avvio

Aggiornamento: agosto 2014

Tramite un'attività di avvio è possibile configurare impostazioni di firewall personalizzate.

In Windows Azure sono disponibili due firewall. Il primo controlla le connessioni tra la macchina virtuale e il mondo esterno. Questa funzionalità è controllata dall'elemento Endpoints nel file ServiceDefinition.csdef. Per altre informazioni sull'elemento Endpoints del file ServiceDefinition.csdef, vedere Abilitare la comunicazione per le istanze del ruolo in Azure.

Il secondo controlla le connessioni tra la macchina virtuale e i processi all'interno della macchina virtuale. Questa funzionalità è controllata dallo strumento da riga di comando netsh advfirewall firewall ed è l'oggetto di questo articolo.

Windows Azure crea regole di firewall per i processi avviati nei ruoli. Ad esempio, quando si avvia un servizio o un programma, Windows Azure crea automaticamente le regole di firewall necessarie per consentire la comunicazione del servizio con Internet. Tuttavia, se si crea un servizio che viene avviato da un processo esterno al ruolo (ad esempio un servizio COM+ o un programma avviato con l'utilità di pianificazione di Windows), è necessario creare manualmente una regola di firewall per consentire l'accesso al servizio. Queste regole di firewall possono essere create utilizzando un'attività di avvio.

Un'attività di avvio che crea una regola di firewall deve disporre di executionContextelevated.

ServiceDefinition.csdef:

<Task commandLine="AddFirewallRules.cmd" executionContext="elevated" taskType="simple" />

Per aggiungere la regola di firewall, è necessario utilizzare i comandi netsh advfirewall firewall appropriati nel file batch di avvio. In questo esempio, l'attività di avvio richiede la sicurezza e la crittografia per la porta TCP 80.

AddFirewallRules.cmd

REM   Add a firewall rule in a startup task.

REM   Add an inbound rule requiring security and encryption for TCP port 80 traffic.
netsh advfirewall firewall add rule name="Require Encryption for Inbound TCP/80" protocol=TCP dir=in localport=80 security=authdynenc action=allow >> "%TEMP%\StartupLog.txt" 2>&1

REM   If an error occurred, return the errorlevel.
EXIT /B %errorlevel%

Mostra:
© 2014 Microsoft