SQL Server Management Studio für eine entfernte Datenbank

13

Mit einer SQL Server-Datenbank, die sich auf einem remote gehosteten dedizierten Server befindet, kann ich mit SQL Server Management Studio arbeiten, das entweder auf demselben Server oder auf meinem lokalen Computer installiert ist. Im ersten Fall sollte ich mit Remotedesktop arbeiten, was die Arbeit etwas verlangsamt. Im zweiten Fall muss ich einen zusätzlichen Port in der Firewall des Servers öffnen, aber ich werde eine komfortablere Benutzererfahrung haben.

Was ist die empfohlene Praxis dieser beiden?

rem
quelle
Erst als ich die erste Antwort las, wurde mir klar, dass ich davon ausging, dass Sie ein VPN verwenden würden.
Larry Coleman

Antworten:

9

Das Öffnen des SQL-Servers zum Leiten von Verbindungen nach außen sollte nach Möglichkeit vermieden werden. Sie vergrößern die sichtbare Angriffsfläche erheblich, und die Kommunikation zwischen Ihnen und dem Server (abgesehen von Anmeldeinformationen in der Authentifizierungsphase) wird möglicherweise nicht möglich sein verschlüsselt. Wenn Sie den Port öffnen müssen, stellen Sie sicher, dass er nur für Ihre feste (n) IP-Adresse (n) geöffnet ist (vorausgesetzt, Sie haben feste Adressen, die von niemand anderem geteilt werden, dh Sie verwenden keinen ISP, der Sie hinter einer NAT-Vereinbarung wie hat) den meisten Mobilfunkanbietern).

Eine viel bessere Option wäre die Installation eines VPN-Setups (z. B. OpenVPN ) oder eines SSH-Dienstes ( Cygwin)enthält einen Port des gemeinsamen Standards OpenSSH, den ich derzeit als Dienst unter Windows 2003 und 2008 fördere), über den Sie eine Verbindung tunneln können. Auf diese Weise übernimmt SSH oder das VPN sowohl die Authentifizierung als auch die Verschlüsselung und fügt (vorausgesetzt, Sie haben sichere Kennwörter / Schlüssel) eine signifikante Schutzschicht hinzu, die ein direkt offener Port nicht bieten würde. Die von ihnen angebotene Komprimierungsunterstützung hilft bei der Beantwortung von Fragen, die auch mehr als eine kleine Datenmenge zurückgeben. Eine SSHd-basierte Anordnung ist möglicherweise einfacher einzurichten, insbesondere wenn Sie mit SSH bereits vertraut sind, obwohl die meisten echten VPNs (wie OpenVPN) den Vorteil haben, dass die Kommunikation über sie eher kurze Kommunikationsausfälle übersteht (wie der Verlust eines ADSL-Routers) synchronisieren und erneut verbinden). Die VPN-Option ist auch weniger problematisch, wenn auf dem Zielcomputer oder am Zielstandort mehrere Instanzen von SQL Server ausgeführt werden. Ich habe beide Methoden erfolgreich für eine Reihe von Dingen verwendet, einschließlich der Kommunikation mit SQL Server unter Verwendung lokaler Versionen der Standardtools, und festgestellt, dass sie gut funktionieren (obwohl meine OpenVPN-Server alle unter Linux laufen, aber mir wurde mitgeteilt, dass sie auch gut funktionieren Server auch unter Windows).

Eine direkte Verbindung zum Remote-Computer (in) kann sehr praktisch sein. Beachten Sie jedoch, dass Sie selbst bei einer sorgfältigen VPN-Einrichtung die Anzahl der Computer erhöhen, denen Ihr SQL Server ausgesetzt ist, insbesondere wenn es sich um ein Produktionssystem mit Ihrem Computer handelt Stellen Sie sicher, dass Sie sich die Zeit nehmen, um sicherzustellen, dass die Computer, die den Server über das VPN / den Tunnel sehen können, sicher und nicht infiziert sind (Sie tun dies wahrscheinlich bereits, aber es lohnt sich immer, es erneut zu wiederholen!).

David Spillett
quelle
10

Ich kenne diese Methode, um eine VPN-Verbindung zum anderen Standort herzustellen, wodurch die Notwendigkeit, einen Port zu öffnen und die Sicherheit des Setups aufrechtzuerhalten, überflüssig wird, RDP auf den anderen Server zu übertragen. Zugegeben, Sie laufen Gefahr, während der Arbeit eine Verbindung zu trennen, wodurch möglicherweise Abfragen vorzeitig beendet werden, aber ansonsten ... tun wir das und es funktioniert gut für uns.

Wenn Sie sie regelmäßig aus der Ferne verwenden möchten, können Sie eine semipermanente VPN-Verbindung (ich bin sicher, es gibt einen besseren Namen ... VPN-Bridge?) In Betracht ziehen, mit der Sie eine Verbindung nur über die IP-Adresse herstellen können. Ein Networker kann hier besser abwägen.

jcolebrand
quelle
5

In unserem Büro haben wir zwei Firewalls, eine Firewall für das öffentliche Internet und eine für das interne Netzwerk. Wenn Sie sich im internen Netzwerk befinden, können Sie direkt eine Verbindung zum SQL-Server herstellen. Wenn Sie sich im externen Internet befinden, können Sie dies nicht, da der Port in der Firewall nicht geöffnet ist. Wenn Sie eine Verbindung über das Internet herstellen möchten, müssen Sie sich über VPN anmelden.

SchwartzE
quelle
3

In unserem Büro verfügen wir über ein permanentes VPN zu allen Datenbankservern und arbeiten mit lokalem Management Studio über Remoteserver. Die Verwendung des Remotedesktops ist etwas langsamer als das Look & Feel der lokalen Tools :).

Wenn eine Remotedesktopverbindung wirklich benötigt wird, können Sie ein kostenloses Tool (wie Royal TS) verwenden und alle Serververbindungen in einer verschlüsselten Datei speichern und nur bei Bedarf verwenden.

Marian
quelle