PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sicherheit des MySQL-Server gegen Fremdzugriffe


Cerberus
21.05.2008, 18:14
Da ich in den letzten Tagen das leider am eigenen Leib erfahren mußte, gebe ich hier mal ein paar Tipps zur Grundsicherheit. Ihr solltet aber Bedenken, das dies nur ein Baustein in einer in gänze reicht Stabilen Sicherung ist.

Als erstes solltet Ihr euch von der Bequemlichkeit eines ROOT-Users für den Tracker verabschieden. Das ist nicht nur Töricht, sondern auch äußerst sträflich.

geht in euer PHPMyAdmin als root und klickt dann auf Rechte
756
Dort solltet Ihr als erstes ALLEN Benutzern ein Passwort zuweisen.
Dann geht ihr auf neuer Benutzer und legt euch einen neuen User an
757
Dieser bekommt NUR diese 5 Rechte
758
dann abspeichern und die Daten des eben angelegten Users in eine Tracker-Config eintragen. Damit ist es AUSGESCHLOSSEN, das Irgendwer über ein Script einen neuen Account anlegt und so Zugriff auf eure Datenbank nimmt.

Ihr solltet euch immer vor Augen halten -- Bequemlichkeit ist keine Ausrede dafür, die Sicherheit außer Acht zu lassen

in diesem Sinne -- hf :wink:

falls mal wer sein mysql root pwd verlieren sollte, bekommt er es so wieder (root zugriff per ssh vorausgesetzt):
Recover MySQL root password (http://www.cyberciti.biz/tips/recover-mysql-root-password.html)

zusätzlich von den von dir vorgeschlagenen maßnahmen, gewähre ich dem db-user auch nur rechte auf der tracker datenbank...

Solstice
21.05.2008, 18:42
Darf ich fragen...

Wieso kann ich auf meinen Mysql-server von ausserhalb zugreifen (dh beliebiger PC) wenn ich den user mit dem ich mich einlogge auf localhost setze.
Da kann doch was net stimmen?

Er verlangt zwar pass, aber das ich da dann mit pass drufkomm lässt mich dann doch zweifeln...

mfg,
Sol

gotthummer
21.05.2008, 18:46
Zusätzlich fehlt mir auch noch ne erklärung was du mit dem root user gemacht hast der eh zugriff hat wenn du da nix geändert hast und der raufkommt und du dann nur nen zusätzlichen benutzer anlegst vertseh ich das nicht ganz denn dann ist es nur ein acc mehr im phpmyadmin und somit ein angriffspunkt mehr oder versteh ich da gerade was falsch ?

Cerberus
21.05.2008, 18:54
der Root hat Vollzugriff -- und das bedeutet, er kann komplette Datenbanken killen und auch neue Benutzer anlegen ...

wofür muß das der Tracker-User ?????
Wenn der das also nicht kann, ist schonmal ein ganzer Arsch weniger möglich ...
Und die standart-Konfig hat 2 Roots -- einer hat ein PW (vom Setup) -- der andere ist offen (ohne PW -- der Server selber) ...

Ihr solltet euch immer vor Augen halten, das es immer einen bgeben wird der versuchen wird in das System einzubrechen ...

Hat er nen eigenen ROOT-Account in der DB ist ihm eure Source ziemlich egal -- er pinselt von irgendwo her direkt in die DB -- ohne das Ihr was machen könnt ....

daher der Tracker einen "mini-Account" ....
denn -- vieles braucht die Source nicht -- also wofür Ihr mehr rechte geben, als unbedingt notwendig

Joan
21.05.2008, 22:18
kleines problem hab

[1045] dbconn: mysql_connect: Access denied for user 'root'@'localhost' (using password: YES)?

wie kann man das wieder in Ordnung bringen danke

Cerberus
21.05.2008, 22:28
RootPasswort "verlegt" ...

das Rücksetzen wird schwierig ...
der speichert die in der DB und in deiner setup-Datei

Joan
21.05.2008, 22:31
was nun ?:(

Cerberus
21.05.2008, 22:38
also ich hab das einige Male versucht -- aber es hat nie funktioniert ....
wenn der User des Trackers noch Root-Rechte hat, kannst du auch den nutzen -- sonst brauchst du das PW, welches du beim Einrichten des SQL-Servers vergeben hast

Joan
21.05.2008, 22:50
geht leider alles nicht

kann man das nicht löschen und neu installieren ?

Cerberus
21.05.2008, 22:55
du kannst nur versuchen, den SQL-Server zu deinstallieren -- die Rest-Daten zu löschen und neu installieren ...

Joan
21.05.2008, 23:03
hat sich erledigt geht wieder

danke

HaBe
22.05.2008, 01:23
falls mal wer sein mysql root pwd verlieren sollte, bekommt er es so wieder (root zugriff per ssh vorausgesetzt):
Recover MySQL root password (http://www.cyberciti.biz/tips/recover-mysql-root-password.html)

zusätzlich von den von dir vorgeschlagenen maßnahmen, gewähre ich dem db-user auch nur rechte auf der tracker datenbank...

Cerberus
22.05.2008, 08:14
perfekte Ergänzung -- Danke Dir

karlcoxx
03.10.2008, 04:00
So ich glaub ich hab den vogel abgeschoßen ^^

Hab Alle 2 root benutzer gelöscht :no::no:
dann dem tracker benutzer die 5 rechte vergeben...
und nu hab ich das prob das ich keinen benutzer mehr hab der alle rechte hat...wie zb create user usw!!!!!!!!
:(

Das mit dem recovery dingens geht iwie nich....
Der lässt mich den mysql nich stoppen-.- (is ja auch klar...is ja keiner mit root zugriff da -.- )
und nu...ich idiot denk mir so....naja dann killn wa halt den prozess ....
So gedacht getan...der prozess scheint unter #top .. nicht mehr auf...
ABER: Der server läuft (aus irgendeinen grund ) noch immer :confused::confused::confused:
Fühl mich nu gar nich wohl....is der Prozess nu tod oder nich ??
Hab ihn mit kill -9 pid gekillt ...
kann mir da wer was zu sagen ?

Solstice
03.10.2008, 08:58
ich glaub gibt nen putty befehl wo man pass von mysql usern setzen kann.

weiß aber grad nicht welchen....

mfg,
Sol

karlcoxx
03.10.2008, 13:21
oO was bringt mir das wenn ich keinen user mehr mit root rechten hab ??
Wollt eig. nur wissn wie ich den Prozess mysql wieder sichtbar mache ....weil anscheinend läuft der prozess ja noch

Solstice
05.10.2008, 13:12
Man kann auch accounts des mysql über putty steuern...

google mal... findest bestimmt was :wink:


mfg,
Sol

Pr1me
07.10.2008, 19:00
ich nutze kein phpmyadmin,
wie Solstice schon sagt putty schickt :)

NaIch
23.02.2009, 16:47
Tracker-Config ????????????

Tracker-Config.php und dann in den include ordner?

Cerberus
23.02.2009, 16:58
was meinst du damit ????

SP4C3
23.02.2009, 17:02
unter debian kann man mit
dpkg-reconfigure mysql-server
das root passwort für den mysql-server neu setzen!

NaIch
23.02.2009, 17:23
Cerb oben du :

dann abspeichern und die Daten des eben angelegten Users in eine Tracker-Config eintragen. Damit ist es AUSGESCHLOSSEN, das Irgendwer über ein Script einen neuen Account anlegt und so Zugriff auf eure Datenbank nimmt.

Cerberus
23.02.2009, 17:43
aso :D

ja -- config.php (bei wem es die so noch gibt :) )

NaIch
23.02.2009, 18:26
ach so einfach ergänzen, alles klaro:D

phenom
23.02.2009, 22:25
ähm,wenn mich nich alles täuscht,kommt der hacker doch nur aufm sql server,wenn man den phpmyadmin im normalem ordner lässt.wenn ich aber ein ordner erstelle der meinetwegen aus 25 zahlen und buchstaben besteht,und da den phpmyadmin reinhaue,is er doch von aussen( wennn man den ordnernamen nicht kennt) schwer erreichbar,oder?

Cerberus
23.02.2009, 22:29
das kommt er mit ne Scanner -- das nutzt garnix ...
meist ist er einfachste Weg über Lücken in der Source -- oder unsichere Passwörter ....

die meiste Tracker nutzen den ROOT-Zugang des MySQL -- und damit kommen die Probleme :)

D@rk-€vil™
23.02.2009, 23:40
kleiner tip mal von mir, schmeisst den user root komplet im mühl und schafft euch vorher nen neuen acc zu im mysql server, dann gehts auch besser, zum thema sichheit :)

Cerberus
23.02.2009, 23:42
aber vorher nen neuen User (mit anderem Namen) mit ROOT-Rechten erstellen

D@rk-€vil™
23.02.2009, 23:47
jup das wollte ich damit sagen, denn sollte man eh komplet am server machen, also mysql sowie ssh alles andere auch was man so braucht.

und noch nen kleiner tip lasst am besten den ftp server weg, ist eh balasst fürn root ^^. so dies war mal ne kleine hilfe von mir am rande.

SP4C3
24.02.2009, 00:06
Ich schmeiß auch nochmal meinen Senf dazu.

Phpmyadmin braucht man NUR wenn man häufige Änderungen an der Datenbank macht, bzw. viele User auf dem Server hat, die mit ihren Datenbanken spielen sollen. Stichwort shared Hosting.
Also auf einem Trackerserver definitiv nicht.

Hier reicht es, den phpmyadmin zu kicken, den root user zu ersetzen, und die Source NICHT mit mysql-root Rechten laufen zu lassen.
Dann noch den mysqld nur auf lokalhost lauschen lassen, und unnützen Schwachsinn wie Plesk und Co garnicht erst installieren.

Thunder™
08.07.2009, 18:09
jup das wollte ich damit sagen, denn sollte man eh komplet am server machen, also mysql sowie ssh alles andere auch was man so braucht.

und noch nen kleiner tip lasst am besten den ftp server weg, ist eh balasst fürn root ^^. so dies war mal ne kleine hilfe von mir am rande.


warum neuen user anlegen wenn mann den root umbenennen kann

kommt doch das gleiche bei raus...oder nicht?

Cerberus
09.07.2009, 09:50
NEIN -- den ROOT brauchst du, um den MySQL-Server anzusprechen ...

und einen User mit Vollrechten braucht man ja ...

Thunder™
09.07.2009, 14:45
hmm ok....

hab aber das problem wenn ich nen seperaten user anlege
für den tracker das ich die shouty nicht löschen kann...
musste den user extra noch das recht für die struktur geben

und zwar bei Alter noch ein hacken rein...
jetzt gehts wieder...

Cerberus
10.07.2009, 09:08
ich würde auf keinen Fall die Möglichkeit geben, das über ein PHP-Script eine komplette Tabelle gelöscht werden kann. Eher würde ich mir die Befehle zum leeren der SB-Tabelle manuell rauskramen und es einzeln machen...

Man bedenke -- dieses Recht hat dann jedes Script in jeder Tabelle !!

Sauber geschriebene Scripte brauchen solche Funktionen nicht -- grad in der NV -- wos so viele Angriffs-Möglichkeiten gibt

Thunder™
10.07.2009, 10:59
Danke für den tip,
werd mal schauen ob es sich anderweitig lösen lässt
ohne das ich in die db muss um die shouty zu löschen!

Cerberus
10.07.2009, 13:20
sicher gibts diese Methode -- sicher ist das etwas umständlicher -- aber da es je keine Automatische Sache ist und man das ja nur einzeln macht, würde mir die Sicherheit der Bequemlichkeit vor gehen

Thunder™
10.07.2009, 15:20
jo hast recht und will gar nicht wieder sprechen..:D


aber eine frage habe ich noch...

gibt es denn überhaupt ne delshout.php
die mann ausführen kann ohne das ich errors bekomme?

oder werde ich den ümständlichen weg im kauf nehmen müssen
und es direkt über die db zu machen?

Pr1me
10.07.2009, 15:23
erstell dir doch einfach eine eigene mit Truncate :)

Thunder™
10.07.2009, 15:26
ich werde mich gleich mal anmachen nach der Arbeit..
wenn ich nicht weiter komme werde ich euch nochmal
um rat fragen müssen..:cute:

mfg Thunder™:goofy: