Hallo Guido,
Post by Guido StepkenHallo, Olaf !
Oh, da stimme ich Dir zu, man muß Daten nicht in Blobs speichern.
Aber, wenn Du es nicht tust, dann ergeben sich schnell Probleme, weil
die Links in der SQL Datenbank immer auf die richtige Stelle auf dem
Filesystem zeigen müssen. Ich brauche dann sowas wie einen verifier
oder link-checker, oder sogar indexer.
Naja, das Problem mit dem zentralen Virenscanner und DoS (Denial of
Servce = Stillegen) habe ich ja geschildert.
Das Beispiel von K.H. Bittner finde ich ganz witzig. Nach meinem
Verständnis hat er nicht von Viren geredet, sondern von einem
Zugriffsproblem auf /proc, welches ein Abbild der Kernel - Parameter
in dem Filesystem zur Laufzeit darstellt. PROC erlaubt es, durch
einfaches hineinschieben von Daten in die 0 Byte großen Dateien
(ähnlich Pipes , so kann man sich das vorstellen) den Kernel wärend
der Laufzeit zu manipulieren echo "100000" > /proc/sys/fs/file-max
erhöht die Zahl der maximal gleichzeitig offenen Files auf 100.000.
Diese Probleme waren da, das ist korrekt, die sind aber seit OpenWall
Patches und GRSecurity (siehe http://www.freshmeat.net) nicht mehr
da. Leider ist SuSE so doof, und implementiert es nicht.
Und zu der Haftungsunsicherheit bei Linux. Wer sich die EULA
durchgelesen hat, weiß, daß Microsoft auch nicht haftet, für garnix.
Microsoft maßt sich sogar an, seit XP den Usern verbieten zu wollen,
GNU Software auf XP zu installieren, und hat diese Änderung der EULA
sogar recht versteckt über die Servicepacks untergeschoben.
Herr Gates hat außerdem in einem Interview gesagt, daß noch nie in der
Geschichte Software releases oder Updates wegen Fehlern verkauft
wurden, sondern immer nur wegen neuen Features, auf die die Leute
heiß waren. Die Philosophie von MS ist halt so, die wollen in allen
Zeitungen im Gespräch bleiben, über perfekte Software redet niemand
und regt sich auch keiner auf, wie man bei Digital UNIX, NOVELL,
IRIX, u.s.w. bemerken konnte. Da sind die Admins schon in Rente, und
keiner merkt es....;-))
Die Microsoft Businness Leute machen hier Propaganda, leider alles
falsch. Ich habe jedenfalls noch nie einen Virenscanner für Linux
gebraucht, wohl aber Sicherheitskorrekturen und Updates. Dank apt-get
für Redhat, Debian und SuSE inzwischen wohl auch, habe ich immer
kostenlose Updates, jede Stunde holt der sich die automatisch. Seit
dem habe ich keine Probleme mehr mit Linux, Hackern, Trojanern, u.s.w.
wenn man solche Fragen diskutiert, dann sollte man m. E. nicht
ausschließlich schwarz weiß malen. Denn es gibt noch einen ganz anderen
Faktor, das sind m. E. wir, die Anwendungsentwickler.
Ich kann mich bei Unix daran erinnern, dass für die Entwicklung nur 777 im
Filesystem verwendet und dagegen getestet wurde. Schließlich ist der
Administrator später beim Betrieb der Anwendung für die
Sicherheitseinstellungen zuständig. Nur das ist nicht immer gut gegangen.
Ein ganz anderes Beispiel, ich musste vor kurzem in einem Unternehmen mit
vielen hundert Usern eine Lösung mit einführen, die auf einer
zweischichtigen C/S-Lösung beruhte, fat Client mit lokaler MSDE und Merge
Replikation zu einem zentralen Datenbankserver. Die erste Diskussion mit dem
Entwickler der Lösung ergab sich, wieso SP3 für die MSDE nicht installiert
werden sollte. Dann stellte sich heraus, dass die MSDE mit mixed security
betrieben werden musste. Und siehe da, die Anwendung griff auf die Datenbank
per sa zu. Nur leider durfte anfangs der sa kein Passwort haben, weil die
Anwendung das Passwort nicht an die MSDE richtig übergab. Weiterhin waren
die User als SQL-Server Login eingerichtet und hatten volle
Datenänderungsberechtigung auf den Tabellen. Die User mit Access hatten sich
gefreut und konnten ungeschützt auf dem Datenbestand rum hacken. Das ist
dieses Jahr passiert! Die Anwendung wurde schließlich nicht eingesetzt.
Heute sollte man aus meiner Sicht doch wirklich mehr Sicherheitsbewußtsein
auch von den Anwendungsentwicklern erwarten. Was nutzen da
Sicherheitsfeatures, die von den Herstellern ersonnen werden und einfach
nicht beachtet oder implementiert werden.
SQL-Injektion ist aus meiner Sicht ein weiter Problemkreis innerhalb der
Anwendungsentwicklung, der nach meiner Einschätzung vom Betriebssystem und
dem verwendeten Datenbanksystem unabhängig ist.
Es kann aber auch nicht die Lösung sein, jede "Woche" einen neuen
Security-Patch herauszugeben. Die Adminstratoren schaffen es in Unternehmen
einfach nicht, die Patches zeitnah auszurollen. Das liegt nicht daran, das
dieses nicht technisch durchführbar wäre, sondern die Patches müssen erst
gegen die vorhandenen Anwendungen auf Verträglichkeit getestet werden. Das
kostet Zeit. Und bei manchen Patch haben wir schon gestaunt, was alles nicht
mehr geht. (Das lag nicht immer am Patch sondern auch schon mal an der
Anwendung.) Ich habe auch Administratoren erlebt, die sich für solche Fragen
überhaupt nicht interessieren.
Haftungsfragen zu diskutieren überlasse ich den dafür ausgebildeten
Juristen.
Bzgl. der der Speicherung von Dokumenten aussserhalb der SQL-Datenbank ist
nicht so problematisch, wie Du es darstellst, solange der User keinen
direkten Zugriff auf die Files hat. (Dann können Dokumente nicht so einfach
verschwinden.) Die Datensicherung muss auch gut geplant werden. Du hast aber
damit vollkommen recht, es sind 2 Storages vorhanden, die nichts voneinander
wissen - alles hat so seine Vor- und Nachteile.
Gruß Olaf