nizeboy
Goto Top

Online-Kundenverwaltung und Sicherheit

Ich erstelle momentan ein Webportal für Mitarbeiter eines Dienstleistungs-Unternehmens (Außendienst!). Dieses Portal dient zur Kundenverwaltung und Abrechnungserstellung. Hierzu habe ich einige Fragen bzgl. Sicherheit:

1. Ist es eine Schandtat solch ein System online verfügbar zu machen?
2. Wie prüfe ich mein System auf Sicherheit?
3. Was passiert, wenn sich jemand ins System reinhackt? Haftungsausschluss, etc...?
4. Welche Daten sollten wenn möglich nicht in einer Datenbank abgelegt werden?


Vielen Dank!

[EDIT masterG 07.05.08 17:32]:
Verschoben nach Web Entwicklung

Content-ID: 87084

Url: https://administrator.de/contentid/87084

Ausgedruckt am: 25.11.2024 um 09:11 Uhr

51705
51705 06.05.2008 um 21:00:15 Uhr
Goto Top
Hallo nizeboy,

1. Ist es eine Schandtat solch ein System
online verfügbar zu machen?
2. Wie prüfe ich mein System auf
Sicherheit?
3. Was passiert, wenn sich jemand ins System
reinhackt? Haftungsausschluss, etc...?
4. Welche Daten sollten wenn möglich
nicht in einer Datenbank abgelegt werden?

5. Gibt es ein Lastenheft?
6. Gibt es ein aus dem Lastenheft erstelltes Pflichtenheft?

Grüße, Steffen
megacarsIT
megacarsIT 06.05.2008 um 22:06:10 Uhr
Goto Top
Hallo!!

Zu
1) Denk doch über VPN nach!? So brauchst nicht in der öffentlichkeit online zu stellen.
Welche Zugangsmöglichkeiten haben die Aussendienstler?

4) Was meinst Du damit genau??


Gruss,
megacarsIT
spacyfreak
spacyfreak 06.05.2008 um 22:16:46 Uhr
Goto Top
Wenn man solch sensible Dinge über ein Webinterface abwickeln will würde ich das auf jeden Fall von Web-Profis machen lassen. Der Server muss auch regelmässig gewartet / upgedatet werden.
Andere Lösung wäre wie bereits erwähnt VPN oder eine SSL-VPN Variante. Letztere sind sehr empfehlenswert um interne Webserver dahinter zu verstecken und dennoch dem Benutzer einen sehr einfachen und dennoch sicheren Zugriff zu ermöglichen.
Ja, ich würde das auf jeden Fall über eine SSL-VPN Lösung absichern.
nizeboy
nizeboy 06.05.2008 um 23:23:42 Uhr
Goto Top
Hey,

welche Voraussetzungen muss ich für SSL-VPN erfüllen? Einen frei konfigurierbaren Webserver? Oder reicht an Server von einem x-beliebigen Anbieter, der SSL Zertifikate vergibt (1&1, Strato, ...)?
nizeboy
nizeboy 07.05.2008 um 00:22:12 Uhr
Goto Top
Nachtrag: wie lösen z.B. Banken das Sicherheitsproblem? Die nutzen doch auch "nur" SSL oder?
spacyfreak
spacyfreak 07.05.2008 um 23:09:37 Uhr
Goto Top
Nachtrag: wie lösen z.B. Banken das
Sicherheitsproblem? Die nutzen doch auch
"nur" SSL oder?

Das SSL ist auch garnicht das Problem.
Eine komplexe Webanwendung mit PHP, MySQL etc ist recht anfällig,wenn nicht von kundigen Profis erstellt. Crosssite-Scripting, SQL Injection etc etc.
nizeboy
nizeboy 08.05.2008 um 13:19:44 Uhr
Goto Top
SSL dient z.B. zur Vermeidung von Session Hijack oder ausspähen von Daten.
Klar ist eine Webanwendung mit PHP relativ anfällig - aber das ändert nichts an der Tatsache, dass ich versuche, die Webanwendung möglichst sicher zu gestalten.
XSS, SQL Injections, Session Fixation, CSRF, ...

Auf dem Webserver wird alle 10min ein Backup auf versch. physikalischen Datenträgern gemacht, die 3 Wochen lang auf 10min genau zurückverfolgt werden können und ggf. wiederhergestellt werden kann.

Solange die Anwendung noch in der Entwicklung ist, kann ich auf Sicherheit besser achten, als wenn's zu spät ist ;) Und Erfahrung habe ich schon, nur eben nicht die langjährige PHP Erfahrung, sondern eben langjährige C++ Erfahrung.

Vielleicht gibt es da draussen im WWW auch eine Seite die sich nur mit PHP Sicherheit beschäftigt? Ich habe sie noch nicht entdeckt face-smile
Creator1981
Creator1981 12.05.2008 um 09:01:42 Uhr
Goto Top
1. Ist es eine Schandtat solch ein System online verfügbar zu machen?
Nein
2. Wie prüfe ich mein System auf Sicherheit?
Ist nicht ganz einfach, weil man dafür auch die Angriffs möglichkeiten kenn muss.
3. Was passiert, wenn sich jemand ins System reinhackt? Haftungsausschluss, etc...?
Der Haftungsauschluss Interessiert niemanden. Ausbaden muss es eh die Firma.
4. Welche Daten sollten wenn möglich nicht in einer Datenbank abgelegt werden?
Flascher Frage. Es muss alles in der Db stehen was du für Applicationen benötigst.

Ich bin bistzer eines Windows Root Servers der jetzt ca. 2 Monate online ist.
Pro Tag habe ich ca. 20.000 Scans. Also irgendwelche Pots die Versuchen sich über PHPmyadmin anzumelden usw.
Um die Sicherheit zu erhöhen, habe ich bei mir jede möglichkeit verhindet, das man Irgend was übers Web Administrieren kann. Das hilft schonmal ungemein.

Bei der Entwicklung von PHP Aplicationen gillt immer:
Vertraue niemanden. Prüfe jedes verfluchte Formular Feld. Prüfe bei jedem Seitenaufruf die URL. Verwende auf jedenfall SSL bei Wichtigen daten. Ein Login ohne SSL bietet absolut keine Sicherheit.

Sessions ausschliesslich über Cookies abwickeln, da sonst Url klau auch eine Sicherheitslücke ist.

Verwende bei jedem String, der richtung Db geht immer mysql_real_escape_string().
Arbeite mit PHP5 und nicht mit PHP4.

Verwende nie mals die Funktion global().

Und so könnte ich wahrscheinlich noch lange weitermachen.

Wenn du erst angefangen hast dich mit PHP zu beschäftigen, dann lass es bleiben.
spacyfreak
spacyfreak 12.05.2008 um 10:06:19 Uhr
Goto Top
Selbst bei Einsatz von SSL ist die Sicherheit nicht unbedingt gegeben.
Mit Tools wie xxxx oder xxxxxx kann man mit zwei Klicks einen Webserver-Besucher "umlenken" und die Tools spucken sofort das Passwort aus das der User eingibt.
Das Raffinierte ist dass xxxx sich das Original Webserverzertifikat holt, daraus Informationen extrahiert und dem ahnungslosen Benutzer ein gefälschtes Zertifikat unterschiebt.
Das Zertifikat zeigt zwar Fehlermeldungen an- doch wenn der User einfach ok klickt, dann ist es zu spät. Die Vertrauenswürdigkeit des Webserverzertifikats sollte im Idealfall durch eine öffentl. zertifizierungsstelle wie Verisign beglaubigt sein.

Besonders an öffentl. WLAN Hotspots ist das schon riskant da man nicht weiss wer sich noch so alles im lokalen Netz tummelt. Paranoia bringt natürlich auch nix - doch wenn es um unternehmenskritische Anwendungen geht kann man garnicht paranoid genug sein.

Es ist schon massives Spezialwissen notwendig das immer wieder aktualisiert werden muss um komplexe und unternehmenskritische Webanwendungen zuverlässig abzusichern. Die beste Methode ist meiner Meinung nach den Webserver hinter einer SSL-VPN Lösung zu verstecken, da der Webserver in dem Fall überhaupt nicht direkt angreifbar ist.
Creator1981
Creator1981 12.05.2008 um 10:43:31 Uhr
Goto Top
Selbst bei Einsatz von SSL ist die Sicherheit
nicht unbedingt gegeben.
Mit Tools wie xxxx oder xxxxxx kann man mit
zwei Klicks einen Webserver-Besucher
"umlenken" und die Tools spucken
sofort das Passwort aus das der User
eingibt.
Das Raffinierte ist dass xxxx sich das
Original Webserverzertifikat holt, daraus
Informationen extrahiert und dem ahnungslosen
Benutzer ein gefälschtes Zertifikat
unterschiebt.
Das Zertifikat zeigt zwar Fehlermeldungen
an- doch wenn der User einfach ok klickt,
dann ist es zu spät. Die
Vertrauenswürdigkeit des
Webserverzertifikats sollte im Idealfall
durch eine öffentl.
zertifizierungsstelle wie Verisign beglaubigt
sein.
Ich bin jetzt davon ausgegangen das das Zertifikate von einer Ofiziellen Stelle aus beglaubigt werden. Bei mir Geotrust.
Wie soll xxxx an das Zertifikate kommen?
Habe schon die eine oder andere Config gesehen wo sowas im Apache Root liegt, das ist sicherlich selten dämlich. Dann kann ich es auch gleich zum DW anbieten *XD
Außerdem sehe ich das so das dann auch eine Grobe fehlerhafte Administration des Servers vorliegt.

Es ist schon massives Spezialwissen
notwendig das immer wieder aktualisiert
werden muss um komplexe und
unternehmenskritische Webanwendungen
zuverlässig abzusichern. Die beste
Methode ist meiner Meinung nach den Webserver
hinter einer SSL-VPN Lösung zu
verstecken, da der Webserver in dem Fall
überhaupt nicht direkt angreifbar ist.

Das beudetet aber auch, das die Administration sehr aufwendig ist, und man sich mit Wildgewordenen Rechner von Mitarbeitern beschäftigen muss.

Diese Lösung in Mittelständigen Unternehmen anzuwenden führt zum absoluten Caos.
Außer jeder Außendienstmitarbeiter bekommt ein Notebook gestellt von dem er arbeiten kann, an diesem hat er natürlich kaum rechte.

Die Kosten sind dann aber auch nicht wech zu denken.

Ich denke mal das die Daten die er verwalten muss sich nicht weit unterscheiden von dem eines Onlineshops. Stell dir mal vor jeder Shop betreuer wäre so Paranoit und würde einen Tunnel erzwingen.

Angriffe auf einem Server sind immer nur dann möglich wenn ich meinen Server falsch eingerichtet habe, oder meine Application falsch entwickelt habe.

Das ist die einzige möglichkeiten die ich als Admin und/oder Entwickler beeinflussen kann.
Liegt eine Sicherheitslücke im z.b. Apache vor und es gibt noch kein Update dann bin ich machtlos.

Das es überhaupt Möglich ist einen Root Server zu Mieten ohne die Ausbildung dafür zu haben sehe ich Persönlich als grop Fahrlässig an. Aber das ist nur meine Bescheidene Meinung.