Sicherheit bei mySQL und Client/Server-Verbindung
Sicherheit bei mySQL und Client/Server-Verbindung
Hallo.
Ich habe heute mal wieder ein paar Fragen, die ich versuche zu gliedern sodass sie einfach behandelt werden können:
1) Wie kann ich für eine webbasierte Client/Server-Verbindung sicherstellen, dass nur ein bestimmter PC Zugriff auf die Oberfläche hat?
-> Ich hab mal was von Zertifikaten für den IE oder Mozilla etc. gehört, die man installieren kann?! Welche Software muss man da einsetzen bzw. in welche Richtung muss ich da suchen?
2) Ist VPN die sicherste Möglichkeit?
3) Wie sicher würdet ihr eine Verbindung mit SSL (ist 128 Bit das höchste?) einschätzen?
-> Hier geht es nur um die Verbindung an sich, es ist klar dass SSL keine Authentifizierungsmethode ist!
4) Ist mySQL eine sichere Datenbank? Kann ich ohne das Admin-Passwort die Daten lesen, angenommen ich "klaue" die Festplatte?
Wäre schön, wenn ihr mir da ein paar Meinungen oder Tipps sagen/geben könntet.
Danke.
Ich habe heute mal wieder ein paar Fragen, die ich versuche zu gliedern sodass sie einfach behandelt werden können:
1) Wie kann ich für eine webbasierte Client/Server-Verbindung sicherstellen, dass nur ein bestimmter PC Zugriff auf die Oberfläche hat?
-> Ich hab mal was von Zertifikaten für den IE oder Mozilla etc. gehört, die man installieren kann?! Welche Software muss man da einsetzen bzw. in welche Richtung muss ich da suchen?
2) Ist VPN die sicherste Möglichkeit?
3) Wie sicher würdet ihr eine Verbindung mit SSL (ist 128 Bit das höchste?) einschätzen?
-> Hier geht es nur um die Verbindung an sich, es ist klar dass SSL keine Authentifizierungsmethode ist!
4) Ist mySQL eine sichere Datenbank? Kann ich ohne das Admin-Passwort die Daten lesen, angenommen ich "klaue" die Festplatte?
Wäre schön, wenn ihr mir da ein paar Meinungen oder Tipps sagen/geben könntet.
Danke.
Fragen
zu 1)
Welche Oberfläche?
Zugriffe regelst Du am besten über die iptables Einstellungen. Hier kannst Du genau sagen, welche IP mit welchem Protokoll über welchen Port auf Deinen Dienst darf.
zu 2)
kommt darauf an, was Du vorhast. VPN ist ja auch nur ein Oberbegriff für verschiedene Szenarien und beschreibt eigentlich nur die Tunnelung von Verbindungen. Internet!
zu 3)
Auch bei SSL kann der Server vom Client ein Zertifikat verlangen, also auch eine Authentifizierung. Das mit den Zertifikaten kommt nicht immer nur vom Server.
zu 4)
Du kannst die Daten in einer mysql Datenbank verschlüsseln. Nur wo liegt dann dieser Schlüssel??!! Also wenn man Gefahr läuft, dass die Platte "geklaut" werden kann, dann muß man sich keine Gedanken mehr darum machen, ob mysql sicher ist...
Welche Oberfläche?
Zugriffe regelst Du am besten über die iptables Einstellungen. Hier kannst Du genau sagen, welche IP mit welchem Protokoll über welchen Port auf Deinen Dienst darf.
zu 2)
kommt darauf an, was Du vorhast. VPN ist ja auch nur ein Oberbegriff für verschiedene Szenarien und beschreibt eigentlich nur die Tunnelung von Verbindungen. Internet!
zu 3)
Auch bei SSL kann der Server vom Client ein Zertifikat verlangen, also auch eine Authentifizierung. Das mit den Zertifikaten kommt nicht immer nur vom Server.
zu 4)
Du kannst die Daten in einer mysql Datenbank verschlüsseln. Nur wo liegt dann dieser Schlüssel??!! Also wenn man Gefahr läuft, dass die Platte "geklaut" werden kann, dann muß man sich keine Gedanken mehr darum machen, ob mysql sicher ist...
Gruß Jürgen
_______________________
Rechner: P4 mit Suse 9.2
_______________________
Und versammeln unsere eigene Armee, um diese Massenvernichtungswaffe zu entschärfen, die wir heute noch unseren Präsidenten nennen...
_______________________
Rechner: P4 mit Suse 9.2
_______________________
Und versammeln unsere eigene Armee, um diese Massenvernichtungswaffe zu entschärfen, die wir heute noch unseren Präsidenten nennen...
Danke, das hat mir schonmal weitergeholfen.
Mit Oberfläche meine ich bspw. eine Internetseite oder sowas. Will die eben bestmöglich nach außen schützen, bzw. den widerrechtlichen Zugriff auf die Datenbank.
Mit Oberfläche meine ich bspw. eine Internetseite oder sowas. Will die eben bestmöglich nach außen schützen, bzw. den widerrechtlichen Zugriff auf die Datenbank.
Last edited by curana on 20. May 2007 22:54, edited 1 time in total.
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
> Mit Oberfläche meine ich bspw. eine Internetseite oder sowas.
Wenn du den Zugriff von nur bestimmten Clienten auf HTML-Dokumente meinst, über die
die Datenbank abgefragt werden kann- das fällt unter die Zugriffskontrolle des Webservers.
Bei Apache sind htaccess und htusers deine Freunde.
Die Rechteverteilung der Datenbanken selbst regelst du so wie den Rest des Systems-
mit den "stinknormalen" Lesr-, Schreib- und Ausführungsrechten.
Der mysql-client bietet zwar "eigene" Befehle für die Rechtekontrolle im Datenbankverzeichnis.
Allerdings nutzen die ohnehin die onboard-tools wie chmod usw.
MfG, Klopskuchen
Wenn du den Zugriff von nur bestimmten Clienten auf HTML-Dokumente meinst, über die
die Datenbank abgefragt werden kann- das fällt unter die Zugriffskontrolle des Webservers.
Bei Apache sind htaccess und htusers deine Freunde.
Die Rechteverteilung der Datenbanken selbst regelst du so wie den Rest des Systems-
mit den "stinknormalen" Lesr-, Schreib- und Ausführungsrechten.
Der mysql-client bietet zwar "eigene" Befehle für die Rechtekontrolle im Datenbankverzeichnis.
Allerdings nutzen die ohnehin die onboard-tools wie chmod usw.
MfG, Klopskuchen
When all else fails, read the instructions .
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
> Ich will im Grunde die HTML-Dokumente per PHP und mysql sichern,
> weil ich bei htaccess diese Abfragefenster nicht schön finde.
Zum Verständnis: Möchtest du einen gesicherten Bereich im Dokumentenverzeichnis des Webservers einrichten,
auf den man nur mit Passwort Zugriff erhält?
Oder sind es mehr allgemeine "Sorgen" um deine Datenbanken?
Die Datenbankabfrage erfolgt über php-scripts die du schreibst. Anders kommt ein client (wenn alles iO. ist)
da nicht ran. Die Administration von mysql ist eine andere Geschichte. Die erfolgt über direkten Zugriff über
entweder tools wie mysqladmin auf Port 3306 (<-default) oder lokales Schreiben in den betreffenden Verzeichnissen
(eingeschränkt).
Das heisst also das ein webclient das bekommen kann was du mit einem phpscript zulässt. Die Filterung des Ports
auf dem mysql horcht ist eine andere Geschichte.
Apache sowie mysql haben eine sehr gute und umfangreiche Dokumentation dabei. Mit der kannst du dir so ziemlich
alles selbst beantworten. Das das aber nicht von heute auf morgen geht dürfte klar sein?!
MfG, Klopskuchen
> weil ich bei htaccess diese Abfragefenster nicht schön finde.
Zum Verständnis: Möchtest du einen gesicherten Bereich im Dokumentenverzeichnis des Webservers einrichten,
auf den man nur mit Passwort Zugriff erhält?
Oder sind es mehr allgemeine "Sorgen" um deine Datenbanken?
Die Datenbankabfrage erfolgt über php-scripts die du schreibst. Anders kommt ein client (wenn alles iO. ist)
da nicht ran. Die Administration von mysql ist eine andere Geschichte. Die erfolgt über direkten Zugriff über
entweder tools wie mysqladmin auf Port 3306 (<-default) oder lokales Schreiben in den betreffenden Verzeichnissen
(eingeschränkt).
Das heisst also das ein webclient das bekommen kann was du mit einem phpscript zulässt. Die Filterung des Ports
auf dem mysql horcht ist eine andere Geschichte.
Apache sowie mysql haben eine sehr gute und umfangreiche Dokumentation dabei. Mit der kannst du dir so ziemlich
alles selbst beantworten. Das das aber nicht von heute auf morgen geht dürfte klar sein?!
MfG, Klopskuchen
When all else fails, read the instructions .
Ich will, dass keiner auf die Datenbank zugreifen kann, wenn er nicht angemeldet ist über User/PW.
Das ist mein Hauptanliegen. Desweiteren würde ich gerne Dateien (PDFs oder sowas) gegen Zugriff von außen schützen, außer man ist eben angemeldet. Aber ich denke da ist das hier vielleicht das falsche Forum.
Das ist mein Hauptanliegen. Desweiteren würde ich gerne Dateien (PDFs oder sowas) gegen Zugriff von außen schützen, außer man ist eben angemeldet. Aber ich denke da ist das hier vielleicht das falsche Forum.
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
> Ich will, dass keiner auf die Datenbank zugreifen kann, wenn er nicht angemeldet ist über User/PW.
Na dann doch htaccess und htusers. Was ist so schlimm an den pop-ups? Irgendwo müssen die Zugangsdaten
ja eingegeben werden. Die Zugangsdaten können zwar mit der url mitgegeben werden, aber die meisten Leute
benutzen in erster Linie Bookmarks und/ oder Links.
> Desweiteren würde ich gerne Dateien (PDFs oder sowas) gegen Zugriff von außen schützen...
Du willst Dateien _bereitstellen_ aber wiederum nicht freigeben? Oder nur an bestimmte Clienten?
-> Zugriffskontrolle Apache
Such dir mit google mal ein paar HowTos zum Thema LAMP. Wenn du weisst wie das ganze überhaupt funktioniert
erledigen sich deine Fragen von selbst.
MfG, Klopskuchen
Na dann doch htaccess und htusers. Was ist so schlimm an den pop-ups? Irgendwo müssen die Zugangsdaten
ja eingegeben werden. Die Zugangsdaten können zwar mit der url mitgegeben werden, aber die meisten Leute
benutzen in erster Linie Bookmarks und/ oder Links.
> Desweiteren würde ich gerne Dateien (PDFs oder sowas) gegen Zugriff von außen schützen...
Du willst Dateien _bereitstellen_ aber wiederum nicht freigeben? Oder nur an bestimmte Clienten?
-> Zugriffskontrolle Apache
Such dir mit google mal ein paar HowTos zum Thema LAMP. Wenn du weisst wie das ganze überhaupt funktioniert
erledigen sich deine Fragen von selbst.
MfG, Klopskuchen
When all else fails, read the instructions .
Ich hab das vielleicht bissl unklar dargestellt. Ich such mal in anderen Foren, vielleicht wird mir dann eher klar was ich brauche.
Mein Problem ist eigentlich nur das Schützen von "Nicht-Internetseiten", sozusagen. Bzw. das Problem ist das, dass ich nicht das htaccess-Fenster will.
Dennoch danke für deine Mühen.
Mein Problem ist eigentlich nur das Schützen von "Nicht-Internetseiten", sozusagen. Bzw. das Problem ist das, dass ich nicht das htaccess-Fenster will.
Dennoch danke für deine Mühen.
naja php halt....
Nehmen wir an, es sollen user auf die Datenbank zugreifen.
Also eigtetnlich macht das ja PHP und nicht der User.
Hier mal eine kleine "Grafik" (Sind alles PHP Seiten):
[Startseite] ->Link-> [Loginseite] -> Login okay? -> [Datenausgabe]
-> Login falsch -> [Fehlerseite]. ----> !Kein Zugriff
Soll heissen, wenn der User/Passwort in der Datenbank existiert, darf er auch rein und bekommt die Seiten angezeigt. PHP wird auf dem Server "gemacht" und die fertigen Seiten zum Browser geschickt.
Es kommt keiner über den Browser auf Deine Datenbank....normalerweise nicht. Man sollte dann aber auch PHP so gestalten, dass "böse" Anhänge an Scripts nicht übernommen werden.
Also eigtetnlich macht das ja PHP und nicht der User.
Hier mal eine kleine "Grafik" (Sind alles PHP Seiten):
[Startseite] ->Link-> [Loginseite] -> Login okay? -> [Datenausgabe]
-> Login falsch -> [Fehlerseite]. ----> !Kein Zugriff
Soll heissen, wenn der User/Passwort in der Datenbank existiert, darf er auch rein und bekommt die Seiten angezeigt. PHP wird auf dem Server "gemacht" und die fertigen Seiten zum Browser geschickt.
Es kommt keiner über den Browser auf Deine Datenbank....normalerweise nicht. Man sollte dann aber auch PHP so gestalten, dass "böse" Anhänge an Scripts nicht übernommen werden.
Gruß Jürgen
_______________________
Rechner: P4 mit Suse 9.2
_______________________
Und versammeln unsere eigene Armee, um diese Massenvernichtungswaffe zu entschärfen, die wir heute noch unseren Präsidenten nennen...
_______________________
Rechner: P4 mit Suse 9.2
_______________________
Und versammeln unsere eigene Armee, um diese Massenvernichtungswaffe zu entschärfen, die wir heute noch unseren Präsidenten nennen...
-
- prolinux-forum-admin
- Posts: 1444
- Joined: 26. Jun 2004 21:18
- Contact:
hallo ihr
also, ich hab auch eine Frage zum Thema Sicherheit bei cgi/sql
Und zwar.. Ich hol mir Username/PWD über ein Formular mit $_REQUEST['username/pwd'] ab. Falls diese Daten mit Daten in der sql-datenbank übereinstimmen, wird eine session-variable registriert.. und ich kann über die session-variable sehen ob ein user oder ein admin eingeloggt ist.
Die Verbindungs-Daten stehen in einer datei, die in einem Ordner auf dem Sever liegt, der mit htaccess geschützt ist.
Seht ihr vielleicht eine Sicherheitslücke oder dergleichen?
Ich bin gerade dabei, mich über dieses Thema ausführlicher zu informieren.. Falls ihr ein paar nützliche Links parrat hättet, wäre ich euch super dankbar
mfg eyz
also, ich hab auch eine Frage zum Thema Sicherheit bei cgi/sql
Und zwar.. Ich hol mir Username/PWD über ein Formular mit $_REQUEST['username/pwd'] ab. Falls diese Daten mit Daten in der sql-datenbank übereinstimmen, wird eine session-variable registriert.. und ich kann über die session-variable sehen ob ein user oder ein admin eingeloggt ist.
Die Verbindungs-Daten stehen in einer datei, die in einem Ordner auf dem Sever liegt, der mit htaccess geschützt ist.
Seht ihr vielleicht eine Sicherheitslücke oder dergleichen?
Ich bin gerade dabei, mich über dieses Thema ausführlicher zu informieren.. Falls ihr ein paar nützliche Links parrat hättet, wäre ich euch super dankbar
mfg eyz
Da würde mich interessieren, ob du auf die Datei zugreifen kannst, wenn der Ordner per htaccess geschützt ist. Poppt dann nicht das htaccess-Fenster auf zum anmelden?
Ich versteh das nämlich einfach nicht. Ich dachte der htaccess-geschützte Ordner ist nicht zugänglich?! Oder für serverseitige Abfragen schon?
Ich versteh das nämlich einfach nicht. Ich dachte der htaccess-geschützte Ordner ist nicht zugänglich?! Oder für serverseitige Abfragen schon?
was ich weiß, ist die Datei im geschützten Ordner (htaccess geschützt) nicht zum einsehen.. ausser man sitzt lokal am Rechner, dann ist alles möglich
auf die Datei kann ich aber zb.: über php: include() oder require() zugreifen, und die Daten auslesen
somit besteht für den client keine chance auf die "sicheren" Daten zuzugreifen
?!
mfg eyz
auf die Datei kann ich aber zb.: über php: include() oder require() zugreifen, und die Daten auslesen
somit besteht für den client keine chance auf die "sicheren" Daten zuzugreifen
?!
mfg eyz