2016-03-24 9 views
2

Ich habe gerade meinen ersten Azure SQL Server und meine erste Datenbank erstellt und versuche nun, die Firewall so zu konfigurieren, dass meine Webanwendung eine Verbindung herstellen und Änderungen an der einzelnen Datenbank auf dem Server vornehmen kann.Konfigurieren der Azure SQL Server-Firewall - Ermöglicht allen IPs, eine rote Flagge zu verbinden?

Ich sehe, dass Sie alle Clients, indem eine Regel so verbinden lassen können: enter image description here

Allerdings ist diese schlechte Praxis? Ich sehe, dass meine Client-IP-Adresse im Azure-Portal aufgeführt ist. Ich kann klären, dass ich nur diesen Zugriff auf eine einzelne IP-Adresse zulassen soll. Später, wenn ich meine Webanwendung für Azure veröffentliche, wird mir eine IP-Adresse zugewiesen Web-App lebt und schränkt nur den Zugriff darauf ein (unter der Annahme, dass Benutzer nur Datenbankänderungen über meine Frontend-Anwendung vornehmen können).

Danke

Antwort

3

Ja, das ist schlechte Praxis. Es gibt andere Ebenen, die sie durchkommen müssten (z. B. den Server-Login), aber dies öffnet die Haustür und erlaubt es jedem, sie in ihrer Freizeit auszuwählen.

Wenn Sie einen Web-Server haben, der Ihre Webanwendung auf einem Server hostet (was Sie sein müssen), listen Sie die IP-Adresse des Servers auf (und vielleicht Ihre eigenen für Entwicklungs-/Verwaltungszwecke), aber das Zulassen aller IPs wird nicht als gut angesehen üben, nein.

Ein besonderer Fall, in dem Sie dies möglicherweise zulassen möchten, ist, wenn Sie eine Desktopanwendung an unbekannte Clients verteilen, die eine Verbindung zum Back-End herstellen müssen. Es wird an diesem Punkt sehr verlockend, aber dennoch, die empfohlene Praxis (oder zumindest, meine empfohlene Praxis) würde sein, einen Webdienst zu verwenden, der eine Anwendungsregistrierung beim Start der App akzeptiert, die Client-IP temporär dadurch registrieren und dann einen Hintergrund-Server (denke WebJobs), der die Firewall-Regeln sagt, sagen jede Nacht oder so (oder für eine kompliziertere Setup, akzeptieren Sie die Registrierung mit einem Timeout und verwenden Sie eine kontinuierliche WebJob um die Zeitüberschreitung abzufragen und zu aktualisieren/widerrufen wenn nötig)

+0

Ich dachte, das wollte nur eine Bestätigung, danke! – Pipeline

+0

@Pipeline Freut mich zu helfen. Denken Sie daran, dass die Sicherheit aus vielen Schichten besteht und dass sie alle so beschränkt sein sollten, wie es sinnvoll ist. Während das an sich nicht notwendigerweise Leuten erlauben würde, Ihre Datenbank leicht zu hacken, ist es eine weniger Schicht, die sie durchlaufen müssten! – jleach