Manipulation
am 08.05.2007 19:20:44 von Oliver Benning
Hallo,
ich möchte einen Datensatz bzw. eine Tabelle in MySQL 5 so sichern, daß
eine Manipulation (UPDATE) verhindert, oder zumindest sicher erkannt
wird. Gibt es da schon Lösungen von MySQL-Seite, oder wie würdet ihr das
realisieren?
Gruß,
Oliver
Re: Manipulation
am 08.05.2007 20:52:07 von Dirk Brosowski
Oliver Benning schrieb:
> Hallo,
>
> ich möchte einen Datensatz bzw. eine Tabelle in MySQL 5 so sichern, daß
> eine Manipulation (UPDATE) verhindert, oder zumindest sicher erkannt
> wird. Gibt es da schon Lösungen von MySQL-Seite, oder wie würdet ihr das
> realisieren?
Hast du dir schonmal Trigger angeschaut? Ich denke unter mysql 5 sollte
es da bereits alles geben, dass du brauchst.
Greetings
Dirk
Re: Manipulation
am 08.05.2007 21:08:31 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Manipulation
am 08.05.2007 22:14:37 von Sebastian Suchanek
Thus spoke Oliver Benning:
> ich möchte einen Datensatz bzw. eine Tabelle in MySQL 5 so
> sichern, daß eine Manipulation (UPDATE) verhindert,
Einfach der betreffenden Kombination(en) aus User(n) und Tabelle
die Update-Permission entziehen.
(Könnte nur etwas zeitaufwendig sein, wenn Du viele User
und/oder Tabellen hast und z.Zt. ein datenbankweites Update-
Recht gesetzt hast.)
HTH,
Sebastian
--
http://www.baumaschinen-modelle.net
http://www.schwerlast-rhein-main.de
Re: Manipulation
am 09.05.2007 08:40:15 von Christian Kirsch
Sebastian Suchanek schrieb:
> Thus spoke Oliver Benning:
>
>> ich möchte einen Datensatz bzw. eine Tabelle in MySQL 5 so
>> sichern, daß eine Manipulation (UPDATE) verhindert,
>
> Einfach der betreffenden Kombination(en) aus User(n) und Tabelle
> die Update-Permission entziehen.
> (Könnte nur etwas zeitaufwendig sein, wenn Du viele User
> und/oder Tabellen hast und z.Zt. ein datenbankweites Update-
> Recht gesetzt hast.)
>
Wie genau sieht das GRANT-Statement aus, das die Änderung genau eines
Datensatzes verhindert? Denn *danach* hatte der OP gefragt, nicht
danach, wie man Usern das Update-Privileg für eine ganze Tabelle gibt
bzw. nimmt.
Re: Manipulation
am 09.05.2007 09:39:11 von Gregor Kofler
Christian Kirsch meinte:
>> Thus spoke Oliver Benning:
>>> ich möchte einen Datensatz bzw. eine Tabelle
> Wie genau sieht das GRANT-Statement aus, das die Änderung genau eines
> Datensatzes verhindert? Denn *danach* hatte der OP gefragt, nicht
> danach, wie man Usern das Update-Privileg für eine ganze Tabelle gibt
> bzw. nimmt.
Jein. Er hat eben von "Datensatz bzw. Tabelle" gesprochen und von
"verhindern oder zumindest erkennen". Etwas mehr Input wäre sicher nicht
schlecht gewesen.
Gregor
--
http://www.gregorkofler.at ::: Landschafts- und Reisefotografie
http://www.licht-blick.at ::: Forum für Multivisionsvorträge
http://www.image2d.com ::: Bildagentur für den alpinen Raum
Re: Manipulation
am 09.05.2007 11:38:10 von Claus Reibenstein
Christian Kirsch schrieb:
> Sebastian Suchanek schrieb:
>
>> Thus spoke Oliver Benning:
>>
>>> ich möchte einen Datensatz bzw. eine Tabelle in MySQL 5 so
¯¯¯¯¯¯¯¯¯¯¯¯
>>> sichern, daß eine Manipulation (UPDATE) verhindert,
>>
>> Einfach der betreffenden Kombination(en) aus User(n) und Tabelle
>> die Update-Permission entziehen.
>
> Wie genau sieht das GRANT-Statement aus, das die Änderung genau eines
> Datensatzes verhindert? Denn *danach* hatte der OP gefragt, nicht
> danach, wie man Usern das Update-Privileg für eine ganze Tabelle gibt
> bzw. nimmt.
Lies noch mal genau nach. Ich habe Dir den relevanten Teil oben
unterstrichen.
Gruß. Claus
Re: Manipulation
am 09.05.2007 11:43:15 von Andreas Kretschmer
Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de
Re: Manipulation
am 09.05.2007 15:28:27 von Oliver Benning
Sebastian Suchanek wrote:
> Thus spoke Oliver Benning:
>
>> ich möchte einen Datensatz bzw. eine Tabelle in MySQL 5 so
>> sichern, daß eine Manipulation (UPDATE) verhindert,
>
> Einfach der betreffenden Kombination(en) aus User(n) und Tabelle
> die Update-Permission entziehen.
> (Könnte nur etwas zeitaufwendig sein, wenn Du viele User
> und/oder Tabellen hast und z.Zt. ein datenbankweites Update-
> Recht gesetzt hast.)
Was aber, wenn der Eindringling sich Admin-Rechte verschafft hat, dann
kann er sich die Update-Permission für diese Tabelle wiedergeben? Kann
man in MySQL eindringen, wenn man Admin-Rechte auf dem Server-OS (z.B.
root-rechte) hat, aber nicht das Admin-Passwort von MySQL weiss?
Re: Manipulation
am 09.05.2007 15:35:10 von Andreas Kretschmer
Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de
Re: Manipulation
am 09.05.2007 16:32:39 von Sebastian Suchanek
Thus spoke Oliver Benning:
> Sebastian Suchanek wrote:
>> Thus spoke Oliver Benning:
>>
>>> ich möchte einen Datensatz bzw. eine Tabelle in MySQL 5
>>> so sichern, daß eine Manipulation (UPDATE) verhindert,
>>
>> Einfach der betreffenden Kombination(en) aus User(n) und
>> Tabelle die Update-Permission entziehen.
>> (Könnte nur etwas zeitaufwendig sein, wenn Du viele User
>> und/oder Tabellen hast und z.Zt. ein datenbankweites
>> Update- Recht gesetzt hast.)
>
> Was aber, wenn der Eindringling sich Admin-Rechte
> verschafft hat, dann kann er sich die Update-Permission für
> diese Tabelle wiedergeben?
> [...]
Klar. Wer MySQL-root ist, darf alles. (Wowereit!)
Sollte es aber ein Angreifer geschafft haben, (MySQL-)root zu
werden, hast Du vermutlich noch ganz andere Probleme. Deswegen
sollte man ja wenigstens die grundlegendsden Sicherheitstips
beherzigen.
Tschüs,
Sebastian
--
http://www.baumaschinen-modelle.net
http://www.schwerlast-rhein-main.de
Re: Manipulation
am 09.05.2007 16:42:33 von Andreas Scherbaum
Oliver Benning wrote:
>
> Was aber, wenn der Eindringling sich Admin-Rechte verschafft hat, dann
> kann er sich die Update-Permission für diese Tabelle wiedergeben? Kann
> man in MySQL eindringen, wenn man Admin-Rechte auf dem Server-OS (z.B.
> root-rechte) hat, aber nicht das Admin-Passwort von MySQL weiss?
Natürlich. Einfach die DB ohne Permissions neu starten, schon hat man Zugang.
Aber da gibt es sicher noch ein paar andere Wege.
Bye
--
Andreas 'ads' Scherbaum
Failure is not an option. It comes bundled with your Microsoft product.
(Ferenc Mantfeld)
Re: Manipulation
am 09.05.2007 16:48:14 von Joachim Durchholz
Oliver Benning schrieb:
> Was aber, wenn der Eindringling sich Admin-Rechte verschafft hat, dann
> kann er sich die Update-Permission für diese Tabelle wiedergeben?
Ja.
> Kann
> man in MySQL eindringen, wenn man Admin-Rechte auf dem Server-OS (z.B.
> root-rechte) hat, aber nicht das Admin-Passwort von MySQL weiss?
Eindringen kann er auf jeden Fall.
Er könnte beispielsweise ein neues Admin-Passwort vergeben und hat dann
sofort Zugriff.
Noch heimtückischer wäre es, einen Logger zu installieren, der alle
Deine späteren Passworteingaben mitprotokolliert.
Wenn auf der Box Geschäftsgeheimnisse sind: mit Rootzugriff kann sich
der Angreifer einen Dump der kompletten Platte ziehen und ihn in Ruhe
zuhause studieren, auch wenn er später wieder ausgesperrt wird. Mein
Popelrootserver mit 10GB genutztem Plattenplatz ist in einer halben
Stunde leergesaugt; wenn das einer um drei Uhr nachts macht, hätte ich
keine Chance, den Angriff auch nur zu bemerken.
Wie Andreas schon schreibt: hat jemand Rootzugriff auf Deine Box, hast
Du ganz andere Probleme als eine gehackte Datenbank.
Grüße
Jo