Netzwerkzugriff ermöglichen

19/09/2007 - 12:42 von Alex_B | Report spam
Hallo,

ich habe auf einem Win 2003 Standard, der als Web-Anwendungsserver dient,
eine Instanz der Microsoft SQL Server 2005 Express Edition installiert. Aus
Sicherheitsgründen habe ich bisher die standardmàßige Deaktivierung der
Netzwerkprotokolle belassen.

Ein Freund möchte nun jedoch von seinem Web-Server (mit php-Web-Anwendung)
aus, direkt auf die SQL Server Express Daten zugreifen. Das möchte ich
ermöglichen, ohne jedoch unnötig große Sicherheitslöcher aufzureißen.

In der Hilfe ist beschrieben, dass dazu mindestens ein Netzwerkprotokoll
aktiviert und zusàtzlich der SQL Server-Browserdienst gestartet werden muss.
Dazu stellen sich mir folgende Fragen:

1. Muss der SQL Server-Browserdient unbedingt gestartet sein? Geht's
irgendwie auch ohne?

2. In der SQL Server Netzwerkkonfiguration stehen folgende Protokolle zur
Verfügung: Named Pipes, TCP/IP und VIA. Ich vermute mal, dass ich TCP/IP
aktivieren muss. Wàre es dabei sinnvoll, eine extra IP-Adresse zu verwenden?
Momentan gibt's auf dem Server nur eine, die der Web-Veröffentlichungsdienst
auch nutzt. Da ich über die Firewall-Einstellungen den Zugriff auf den SQL
Server von außen beschrànken möchte (also lediglich die IP-Adresse des
Servers meines Kumpels einstellen würde), erscheint mir das sinnvoll. Wie
seht ihr das?

3. Gibt's sonst was zu beachten? Soll ich vielleicht lieber die Finger davon
lassen - oder ist das im Allgemeinen eher unproblematisch? Gibt's noch
interessante Online-Artikel zu diesem Thema?

Vielen Dank für jeden Hinweis.

Viele Grüße
Alexander Bràumer
 

Lesen sie die antworten

#1 Elmar Boye
19/09/2007 - 16:39 | Warnen spam
Hallo Alex,

Alex_B schrieb ...
ich habe auf einem Win 2003 Standard, der als Web-Anwendungsserver dient,
eine Instanz der Microsoft SQL Server 2005 Express Edition installiert.
Aus Sicherheitsgründen habe ich bisher die standardmàßige Deaktivierung
der Netzwerkprotokolle belassen.

Ein Freund möchte nun jedoch von seinem Web-Server (mit php-Web-Anwendung)
aus, direkt auf die SQL Server Express Daten zugreifen. Das möchte ich
ermöglichen, ohne jedoch unnötig große Sicherheitslöcher aufzureißen.



Wenn der SQL Server Express auf dem gleichen Rechner làuft,
so brauch er nach aussen keinerlei Ports freigeben und sollte
für die Instanz nur Shared Memory Zugriff arbeiten (Standard).

Alles unten stehende gilt nur, und sollte nur verwendet werden,
wenn SQL Server auf einem anderen Rechner liegt bzw. von
aussen zugegriffen werden soll.

In der Hilfe ist beschrieben, dass dazu mindestens ein Netzwerkprotokoll
aktiviert und zusàtzlich der SQL Server-Browserdienst gestartet werden
muss. Dazu stellen sich mir folgende Fragen:

1. Muss der SQL Server-Browserdient unbedingt gestartet sein? Geht's
irgendwie auch ohne?



Für eine Standard Instanz brauchst Du ihn nicht,
dort gilt 1433 als Standardport .
Wenn Du den Port angibts, gehts auch bei Instanzen ohne,
z. B. DataSource=Rechnername,1435

2. In der SQL Server Netzwerkkonfiguration stehen folgende Protokolle zur
Verfügung: Named Pipes, TCP/IP und VIA. Ich vermute mal, dass ich TCP/IP
aktivieren muss.


Nur TCP reicht normalerweise.
Und damit 1.) zuverlàssig funktioniert sollte der Port fest eingestellt
werden, und auf die dynamische Zuordnung verzichtet.

Wàre es dabei sinnvoll, eine extra IP-Adresse zu verwenden?



Ich weiss nicht wo Du damit hinaus willst:
Nein, die wird vom Betriebssystem zugewiesen.
Eine weitere Netzwerkkarte gàbe nur Sinn, wenn
Du ein internes Netzwerk betreibst.

3. Gibt's sonst was zu beachten?



Wenn Du ausschliesslich lokal via Shared Memory verwendest,
ist ein Zugriff von aussen nicht möglich - und die Daten sind auf
der SQL Server Seite sicher.
Es sollte da das zugreifende Programm (PHP) die Eingaben prüfen
und gegen SQL Injection abgesichert sein.

Gruss
Elmar

Ähnliche fragen