Thomas Bandt

Über mich | Kontakt | Archiv

SQL Server 2000/2005 absichern

Es soll vorkommen, dass sich manche Leute in Port 1433 verlieben, und dann seltsame Dinge damit veranstalten. Dem gestressten Administrator kann mit Windows-Bordmitteln, etwas Zeit und viel Rumprobieren geholfen werden.

Das Szenario:

Schritt 1: Port dicht machen.

Diesen Schritt kann man auf verschiedenen Wegen erledigen, wie eigentlich alles hier beschriebene. Ich bin bei den Windows-Bordmitteln geblieben. Für den ersten Schritt bieten sich die "Lokalen Sicherheitsrichtlinien" an. Diese erreicht man über die Computerverwaltung (Start > Verwaltung > Lokale Sicherheitsrichtline).

Unter dem Ast "IP-Sicherheitsrichtlinien auf lokalem Computer" legt man sich nun seine eigene Richtlinie an. Wie das im Detail funktioniert will ich hier nicht erklären, das würde den Rahmen sprengen. Das ist auf jeden Fall mal der erste Breakpoint, an dem man sich etwas Zeit mitbringen sollte - und Vorsicht, dass man sich nicht selbst aussperrt, wenn man remote auf dem Server arbeitet.

Die erste Regel für das Sperren von Port 1433 sollte folgende Angaben in der Filterliste enthalten:

Adressierung/Quelladresse: Eigene IP-Adresse
Adressierung/Zieladresse: Beliebige IP-Adresse
Protokoll/Typ: TCP
Port: Von 1433 zu jedem Port.

Wenn alle Angaben gemacht sind, alles bestätigen und nachfolgend die Richtlinie zuweisen (Rechtsklick, Zuweisen).

Schritt 2: VPN einrichten

Wenn nun alles geklappt hat, ist der SQL Server von außen nicht mehr zu erreichen. Die Webanwendungen auf dem gleichen physischen Server dürften ohne Probleme weiterlaufen, da die verwendeten IP's zum Zugriff auf den SQL Server, wenn nicht eh eine Trusted-Connection verwendet wird, automatisch richtig geroutet werden. Zumindest war das in meinem Fall so.

Das Problem: nun kommt man auch von seinem eigenen Arbeitsplatz aus nicht mehr auf die Datenbank. Weder via Enterprise Manager bzw. Management Studio, noch können die lokalen Webanwendungen auf ihre Daten zugreifen. Damit man nicht die Datenbanken doppelt vorhalten muss (an dieser Stelle kann man darüber streiten ob das nicht sinnvoller wäre, in einigen Fällen würde ich dem zustimmen), muss man nun also eine abgesicherte Hintertür auf den Server einbauen.

Der Weg zum Glück führt hier über VPN. Dieses lässt sich problemlos einrichten, wenn man dazu noch einen Windows-2000-Client oder höher als Arbeitsplatzrechner benutzt.

Also im nächsten Schritt eine neue Netzwerkverbindung anlegen:

  1. Eingehende Verbindung akzeptieren
  2. Überspringen mit Weiter
  3. Virtuelle private Verbindungen zulassen
  4. Benutzer auswählen
  5. Weiter
  6. Name vergeben
  7. Fertig

Nun in den TCP/IP-Eigenschaften der neuen Verbindung folgendes festlegen:

Jetzt eine neue Verbindung am Client einrichten. Unter XP schaut das wie folgt aus:

  1. Verbindung mit dem Netzwerk am Arbeitsplatz herstellen
  2. VPN-Verbindung
  3. Irgendeinen Namen wählen
  4. Weiter
  5. Ip-Adresse des Servers eingeben (die öffentliche)
  6. Fertig

Nun ist die Verbindung bereit, und die Einwahl zum Server sollte klappen. Den beim Anlegen der eingehenden Verbindung am Server ausgewählten Benutzer verwenden, Passwort angeben, einwählen.

Bezieht man sich auf mein Beispiel, wird für den "VPN-Server" immer die erste IP im Range verwendet, also 192.168.7.5, der Client bekommt die 6. Wählt sich nun noch jemand ein, was ich hier aber mal komplett außen vor lasse, weil es bei mir nicht eintritt, bekommt der die 7, usw. Man kann aber natürlich auch eine feste IP vorgeben.

Schritt 3: SQL Server für VPN freigeben

Nun ist man zwar direkt auf dem Server eingewählt, allerdings kam bei mir trotzdem die Verbindung zum SQL Server nicht zustande, weil Port 1433 ja geblockt wird.

Hierfür muss man nun in der selbst angelegten Sicherheitsrichtlinie noch eine umgekehrte Regel erstellen: eine, die den Zugriff über die VPN-Verbindung kommend erlaubt.

Die zuständige Filterliste für die Regel schaut bei mir wie folgt aus:

Adressierung/Quelladresse: Eigene IP-Adresse
Adressierung/Zieladresse: Spezielle IP-Adresse

Hier wird die IP des Clients eingetragen, der Zugriff erhalten soll. Also: 192.168.7.6 im Beispiel-Fall.

Als Protokoll habe ich beliebig gewählt, da ich bei mir keinerlei Sicherheitsbedenken habe ;-).

als Filteraktion jetzt noch "Zulassen" wählen und alles bestätigen, anschließend in der Liste der Regeln noch anhaken.

Fertig

Nun sollte auch der Zugriff vom über VPN eingewählten und authentifizierten Client funktionieren. Alles in allem keine wirklich einfache Sache, vor allem bis man sich mal durch die Optionen der Sicherheitsrichtlinien gefummelt hat, vergehen Zeit und Nerven. Aber wenn man es einmal geschafft hat, erhält man dafür einen friedlichen Server, der nicht mehr unter der Last der Attacken ächzt :-).

Alle Angaben übrigens ohne Gewähr.



« Zurück  |  Weiter »