1

Wir verfügen über eine Web-App, die in Azure als App-Service bereitgestellt wird. Wir möchten den Zugriff darauf beschränken, indem wir eine weiße Liste mit IP-Adressen erstellen, die in einer Azure App Service-Einstellung und nicht in web.config, die wir im Projekt haben, vorgenommen werden können.So schränken Sie den Zugriff auf einen App-Service mithilfe einer Einstellung im Azure-Portal ein

Gegenwärtig beschränken wir so die Beschränkung der IP-Adresse in unseren Umgebungen.

  • Produktion: Wir haben VNet Integration Setup für den App-Service. Wir haben eine NSG an die VNet'sSubnet angeschlossen und von der NSG können wir eingehenden und ausgehenden Zugriff steuern.
  • Inszenierung: Wir haben folgenden Block der Konfiguration in unserem web.config, die die weißen Liste IP-Adressen enthalten, die berechtigt sind, den App-Service in unserem Staging-Server zugreifen zu können.

    <security> 
        <ipSecurity allowUnlisted="false" denyAction="NotFound"> 
         <add allowed="true" ipAddress="some ip address" subnetMask="255.255.255.254"></add> 
         <add allowed="true" ipAddress="some ip address" subnetMask="255.255.255.254"></add> 
        </ipSecurity> 
    </security> 
    
  • Entwicklung (lokal): Wir haben den <security> Konfigurationsblock in unseren lokalen Entwicklungsmaschinen Kommentar- Coz wir es nicht wirklich brauchen. Und es verursacht einen Fehler, siehe Screenshot unten.

enter image description here

Dies ist einige der Inhalt des HttpFailre_09-07-33.html

Module   IpRestrictionModule 
Notification BeginRequest 
Handler  aspNetCore 
Error Code  0x80070021 
Config Error This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false". 

Wir möchten ganz diesen <security> Block von web.config entfernen, weil aus einem anderen Grund Wir möchten nicht, dass die IP-Adressen die Produktion erreichen.

Und auch, wir dürfen nicht VNet-Integration in unserem Staging-Server (Management-Zeug, duh! Kostensenkung was auch immer!).

Gibt es eine Möglichkeit, IP-Adressen in Azure App Service einzuschränken?

Antwort

7

Gibt es eine Möglichkeit, IP-Adressen in Azure App Service einzuschränken?

1.We könnte web.config verwenden IP-Adresse zu beschränken, wie Sie

erwähnt

2.We zu einer WebApp von IIS-Manager verbinden könnte, und wir können leicht IPconfig beschränken. Weitere Informationen finden Sie unter blog.

3. Wir könnten REST API verwenden, um dies zu tun, und wir könnten es leicht mit Azure Resource Exploer (https://resources.azure.com/) tun. Wir könnten das auch mit PowerShell-Cmdlets-Detailinformationen tun, die Sie bitte in einem anderen SO Thread finden. Im Folgenden finden Sie die einfachen Schritte zur Verwendung des azure-Ressourcen-Explorers.

a. Öffnen Sie den Azure-Ressourcen-Explorer und wählen Sie die entsprechende Website-Konfigurations-Weboption aus, um auf die Schaltfläche Edit zu klicken.

enter image description here

b. Ändern Sie ipSecurityRestrictions in einen Array-Wert.

enter image description here enter image description here

c. Klicken Sie auf die Schaltfläche Put, um eine Anfrage zu senden.

enter image description here

Config Error Dieser Konfigurationsabschnitt kann nicht auf diesem Weg verwendet werden

Wenn wir die Handler nicht entsperren, müssen wir die Handler entsperren, weitere Informationen zu einem anderen SO Thread entnehmen Sie bitte . Im Folgenden ist das aus dem SO-Thread ausgeschnitten.

1) Wechseln Sie im Verbindungsbaum (in IIS) zu Ihrem Serverknoten und dann zu Ihrer Website.

2) Für die Website sehen Sie im rechten Fenster den Konfigurationseditor unter Verwaltung.

3) Doppelklicken Sie auf den Konfigurationseditor.

4) Im sich öffnenden Fenster finden Sie oben eine Dropdown-Liste für Abschnitte. Wählen Sie "system.webServer/handlers" aus dem Dropdown.

5) Auf der rechten Seite gibt es ein weiteres Dropdown. > Wählen Sie "ApplicationHost.Config"

6) Auf der rechten Seite finden Sie unter "Section" den Eintrag "Unlock Section". Klicke darauf.

7) Sobald die Handler im ApplicationHost entsperrt sind, sollte Ihre Website gut laufen.

+0

Danke dafür! Ich entschied mich, # 2 zu verwenden, wo ich die 'ipRestriction' Werte direkt im' Azure Resource Explorer' hinzufüge. Ich habe jedoch eine Frage, behält es die "ipRestriction" -Werte, selbst wenn ich eine neue "web.config" bereitstellen? Ich habe gerade eine Bereitstellung durchgeführt und es hat sich nicht geändert, ich möchte nur bestätigen :) Wenn es sich bei jeder Bereitstellung ändert, muss ich möglicherweise PowerShell-Skripte verwenden, um 'ipRestrictions' zu setzen. – jmc

+0

Aus meiner Erfahrung wird empfohlen, PowerShell-Skript zu verwenden das zu tun. –

+0

Ok, eine letzte Frage bitte. Wo empfiehlst du, dass ich das PowerShell-Skript einfüge? Ich denke an zwei Stellen - 1.) Innerhalb 'project.json' werde ich eine' postpublish' Aktion hinzufügen, um das Skript auszuführen ODER 2.) Innerhalb der 'PublishProfiles' kann ich eine' .ps1' Datei oder einfach hinzufügen setze die Skripte direkt in das generierte 'publish-module.psm1' – jmc

Verwandte Themen