Freigeben über


FTP-Unterstützung in Azure Firewall

Um FTP zu unterstützen, muss eine Firewall die folgenden wichtigen Aspekte berücksichtigen:

  • FTP-Modus – aktiv oder passiv
  • Client-/Serverstandort – Internet oder Intranet
  • Flussrichtung – eingehend oder ausgehend.

Azure Firewall unterstützt sowohl aktive als auch passive FTP-Szenarien. Weitere Informationen zum FTP-Modus finden Sie unter Active FTP vs. Passive FTP, a Definitive Explanation (Aktives oder passives FTP: eine definitive Erklärung).

Standardmäßig ist passives FTP aktiviert, und die Unterstützung von aktivem FTP ist deaktiviert, um vor FTP-Bounce-Angriffen mithilfe des FTP-PORT-Befehls zu schützen.

Sie können jedoch aktives FTP aktivieren, wenn Sie Azure PowerShell, die Azure-Befehlszeilenschnittstelle oder eine Azure ARM-Vorlage verwenden. Azure Firewall kann sowohl aktives als auch passives FTP gleichzeitig unterstützen.

ActiveFTP ist eine Azure Firewall Eigenschaft, die für Folgendes aktiviert werden kann:

  • alle Azure Firewall SKUs
  • Sichere Hub- und VNet-Firewalls
  • Firewalls mit Richtlinien und klassischen Regeln

Unterstützte Szenarios

Die folgende Tabelle zeigt die Konfiguration, die zur Unterstützung verschiedener FTP-Szenarien erforderlich ist:

Tipp

Denken Sie daran, dass es möglicherweise auch erforderlich sein kann, Firewallregeln auf der Clientseite zu konfigurieren, um die Verbindung zu unterstützen.

Hinweis

Standardmäßig ist das passive FTP aktiviert, und das aktive FTP muss für Azure Firewall zusätzlich konfiguriert werden. Anweisungen dazu finden Sie im nächsten Abschnitt.

Die meisten FTP-Server akzeptieren aus Sicherheitsgründen keine Daten- und Steuerungskanäle von verschiedenen IP-Quelladressen. Daher sind FTP-Sitzungen über Azure Firewall erforderlich, um eine Verbindung mit einer einzelnen Client-IP-Adresse herzustellen. Dies impliziert, dass für E-W-FTP-Datenverkehr niemals eine SNAT mit einer privaten Azure Firewall-IP-Adresse durchgeführt werden sollte. Verwenden Sie stattdessen die Client-IP-Adresse für FTP-Datenflüsse. Ebenso wird für den FTP-Datenverkehr mit dem Internet empfohlen, Azure Firewall mit einer einzelnen öffentlichen IP-Adresse für die FTP-Konnektivität bereitzustellen. Es wird empfohlen, NAT Gateway zu verwenden, um eine SNAT-Überlastung zu vermeiden.

Firewallszenario Aktiver FTP-Modus Passiver FTP-Modus
VNet-VNet Zu konfigurierende Netzwerkregeln:
– Zulassen vom Quell-VNet zum Ziel-IP-Port 21
– Zulassen vom Ziel-IP-Port 20 zum Quell-VNet
Zu konfigurierende Netzwerkregeln:
– Zulassen vom Quell-VNet zum Ziel-IP-Port 21
– Zulassen vom Quell-VNet zum Ziel-IP-<Bereich von Datenports>
Ausgehendes VNet – Internet

(FTP-Client im VNet, Server im Internet)
Nicht unterstützt * Zu konfigurierende Netzwerkregeln:
– Zulassen vom Quell-VNet zum Ziel-IP-Port 21
– Zulassen vom Quell-VNet zum Ziel-IP-<Bereich von Datenports>
Eingehendes DNAT

(FTP-Client im Internet, FTP-Server im VNet)
Zu konfigurierende DNAT-Regel:
– DNAT von der Internetquelle zum VNet-IP-Port 21

Zu konfigurierende Netzwerkregel:
– Lassen Sie Datenverkehr von einer FTP-Server-IP-Adresse zur IP-Adresse des Internetclients in den aktiven FTP-Portbereichen zu.
Nicht unterstützt**

* Aktives FTP funktioniert nicht, wenn der FTP-Client einen FTP-Server im Internet erreichen muss. Aktives FTP verwendet einen PORT-Befehl vom FTP-Client, der dem FTP-Server mitteilt, welche IP-Adresse und welcher Port für den Datenkanal verwendet werden soll. Der PORT-Befehl verwendet die private IP-Adresse des Client, die nicht geändert werden kann. Clientseitiger Datenverkehr, der die Azure Firewall durchquert, wird für internetbasierte Kommunikation per NAT übersetzt, sodass der PORT-Befehl vom FTP-Server als ungültig angesehen wird. Dies ist eine allgemeine Einschränkung von aktivem FTP bei Verwendung mit einer clientseitigen NAT.

** Passives FTP über das Internet wird derzeit nicht unterstützt, da der Datenpfaddatenverkehr (vom Internetclient über Azure Firewall) potenziell eine andere IP-Adresse verwenden kann (aufgrund des Lastenausgleichs). Aus Sicherheitsgründen wird nicht empfohlen, die FTP-Servereinstellungen so zu ändern, dass der Datenverkehr auf Steuerungs- und Datenebene von verschiedenen Quell-IP-Adressen akzeptiert wird.

Bereitstellen mit Azure PowerShell

Verwenden Sie zur Bereitstellung mithilfe von Azure PowerShell den Parameter AllowActiveFTP. Weitere Informationen finden Sie unter Erstellen einer Firewall durch Zulassen von aktivem FTP.

Aktualisieren einer vorhandenen Azure Firewall-Instanz mithilfe von Azure PowerShell

Um eine vorhandene Azure Firewall-Instanz mithilfe von Azure PowerShell zu aktualisieren, stellen Sie den Parameter AllowActiveFTP auf „True“ ein.

$rgName = "resourceGroupName"
$afwName = "afwName"
$afw = Get-AzFirewall -Name $afwName -ResourceGroupName $rgName
$afw.AllowActiveFTP = $true
$afw | Set-AzFirewall

Bereitstellen über die Azure-Befehlszeilenschnittstelle

Verwenden Sie zur Bereitstellung mithilfe der Azure-Befehlszeilenschnittstelle den Parameter --allow-active-ftp. Weitere Informationen finden Sie unter az network firewall create.

Bereitstellen einer ARM-Vorlage (Azure Resource Manager)

Für die Bereitstellung mithilfe einer ARM-Vorlage verwenden Sie das Feld AdditionalProperties:

"additionalProperties": {
            "Network.FTP.AllowActiveFTP": "True"
        },

Weitere Informationen finden Sie unter Microsoft.Network azureFirewalls.

Nächste Schritte