MySQL-Dump Passwortabfrage

MySQL-Dump Passwortabfrage

Beitragvon Freki » 11.12.2015 07:07

Hallöchen liebe Gemeinschaft,

Kaum die Erste Frage seid langem hinter mir, hier die zweite....
Ich möchte einen Cronjob anlegen zur Erstellung eines MySQL-Dumps.
Das Ganze sieht so aus:

Code: Alles auswählen
[b]mysqldump –p[root-passwort] testlink |gzip > /var/www/html/databasedump.sql.gz[/b]


Wenn ich ein Passwort eingebe hinter -p, meldet er

Code: Alles auswählen
mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect


Gebe ich keins ein, kommt keine Passwort-abfrage.

Das Passwort ist auf jeden Fall richtig, da ich mich einfach per "mysql -p" einloggen kann.
Ich habe auch schon versucht, statt "-p" "--password=[root-passwort]" einzugeben. Wirft aber "mysqldump: unknown option '-▒'" aus.
Google spuckt da auch nicht wirklich was aus.

Danke schonmal für eure Hilfe :/
Freki
 
Beiträge: 20
Registriert: 10.04.2015 09:16

Re: MySQL-Dump Passwortabfrage

Beitragvon Freki » 11.12.2015 07:16

ok.... Habe gerade die Ursache gefunden...
lokal eingegeben läufts, aber per Putty gehts nicht.
Freki
 
Beiträge: 20
Registriert: 10.04.2015 09:16

Re: MySQL-Dump Passwortabfrage

Beitragvon Rayne » 11.12.2015 09:20

Du solltest das Passwort nicht als Argument angeben, da dann jeder Benutzer dieses in der Prozessliste auslesen kann. Stattdessen solltest Du --defaults-file verwenden.

Der Inhalt der Datei könnte so aussehen:

Code: Alles auswählen
[client]
user="…"
password="…"
Qualität im Forum

tno: Aufsetzen und warten sind zwei völlig unterschiedliche Sachen, die unterschiedlich viel Spaß machen. Das ist ungefähr wie mit den Kindern: Sie zu zeugen macht Spaß, sie aufzuziehen ist deutlich anstrengender.
Benutzeravatar
Rayne
 
Beiträge: 131
Registriert: 20.09.2014 18:01

Re: MySQL-Dump Passwortabfrage

Beitragvon marce » 11.12.2015 11:06

in der Prozessliste wird das Passwort anonymisiert und ist somit nicht auslesbar.
ich bin root - ich darf das.
marce
 
Beiträge: 100
Registriert: 20.09.2014 19:33
Wohnort: Dettenhausen

Re: MySQL-Dump Passwortabfrage

Beitragvon Rayne » 11.12.2015 15:16

marce hat geschrieben:in der Prozessliste wird das Passwort anonymisiert und ist somit nicht auslesbar.
Dazu würde ich gerne mehr Informationen haben. mysqldump gibt auf Ubuntu 14.04 sogar eine Warnung aus:

Code: Alles auswählen
 Warning: Using a password on the command line interface can be insecure.


An die Passwörter der soeben ausgeführten Tests bin ich auch ohne Probleme gekommen:

Code: Alles auswählen
while true; do
 ps auxf | grep password >> ~/test-dump
done


Code: Alles auswählen
grep test test-dump
root 30511 0.0 0.0 22912 2044 pts/5 D+ 16:13 0:00 | \_ mysqldump --password=test


Mein Testnutzer war übrigens nicht root, aber root hat mysqldump ausgeführt.
Qualität im Forum

tno: Aufsetzen und warten sind zwei völlig unterschiedliche Sachen, die unterschiedlich viel Spaß machen. Das ist ungefähr wie mit den Kindern: Sie zu zeugen macht Spaß, sie aufzuziehen ist deutlich anstrengender.
Benutzeravatar
Rayne
 
Beiträge: 131
Registriert: 20.09.2014 18:01

Re: MySQL-Dump Passwortabfrage

Beitragvon Freki » 16.12.2015 09:30

ok... interessant zu wissen.

Werde ich beherzigen ;)
Freki
 
Beiträge: 20
Registriert: 10.04.2015 09:16

Re: MySQL-Dump Passwortabfrage

Beitragvon marce » 16.12.2015 09:39

Bei CentOS:
Code: Alles auswählen
[root@vm-031 ~]# ps -fe |grep mysqldump
root      4285  6215  2 10:36 pts/0    00:00:00 mysqldump -u root -px xxx --all-databases
root      4302  6601  0 10:36 pts/1    00:00:00 grep mysqldump

bzw.
Code: Alles auswählen
[root@vm-031 ~]# ps auxf |grep mysqldump
root      6137  8.6  0.0  50944  2536 pts/0    R+   10:40   0:00      |   \_ mysqldump -u root -px xxx --all-databases
root      6227  0.0  0.0 103308   832 pts/1    S+   10:40   0:00          \_ grep mysqldump
ich bin root - ich darf das.
marce
 
Beiträge: 100
Registriert: 20.09.2014 19:33
Wohnort: Dettenhausen

Re: MySQL-Dump Passwortabfrage

Beitragvon Rayne » 16.12.2015 17:12

Das Passwort sollte auch unter CentOS mit meiner Schleife extrahierbar sein, da die "Anonymisierung" natürlich nicht vor dem Ausführen des Shellbefehls durchgeführt werden kann, da mysqldump die Logindaten benötigt. Siehe auch: http://dev.mysql.com/doc/refman/5.6/en/ ... -user.html

This is convenient but insecure. […] MySQL clients typically overwrite the command-line password argument with zeros during their initialization sequence. However, there is still a brief interval during which the value is visible.
Qualität im Forum

tno: Aufsetzen und warten sind zwei völlig unterschiedliche Sachen, die unterschiedlich viel Spaß machen. Das ist ungefähr wie mit den Kindern: Sie zu zeugen macht Spaß, sie aufzuziehen ist deutlich anstrengender.
Benutzeravatar
Rayne
 
Beiträge: 131
Registriert: 20.09.2014 18:01

Re: MySQL-Dump Passwortabfrage

Beitragvon TomcatMJ » 16.12.2015 19:34

Es gibt da noch einen weiteren Aspekt: Das Passwort dürfte dann auch in der Shell-History zu finden sein wenns über die Shell in der Aufrufzeile direkt als Parameter mit eingegeben wurde....da müsste ein potentieller Angreifer zwar auch erstmal rankommen, aber es wäre im Grunde ebenso eine systemische Sicherheitslücke dieses Vorgehens.
Benutzeravatar
TomcatMJ
 
Beiträge: 142
Registriert: 20.09.2014 18:16
Wohnort: Köln


Zurück zu Datenbanken

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron