Sichere WebApp (Proof of Concept)

Konzept für eine sichere Web-Anwendung

Wir haben gerade den Test von Yammer abgebrochen, weil diese Enterprise Microblogging Plattform aktuell einige z.T. schwere Sicherheitslücken (u.a. Cross-Site-Scripting, Phishing) hat. Grund genug sich mal konzeptionell Gedanken darüber zu machen, ob und wie man ein Web-Frontend für’s Business wirklich sicher machen kann.

Yammer ist ein reiner Cloudservice, den man auch nicht Inhouse hosten kann. Wenn man unbedingt interne Firmendaten bei einem Drittanbieter speichert, dann sollten diese zumindest halbwegs sicher sein. Für mich hat das Testfeld mit Yammer gezeigt, worauf man alles achten sollte bzw. was man alles vergessen kann.

Ziel ist es, eine sichere(re) WebApp zu konzipieren. Es geht dabei um eine Lösung auf Basis von HTML und Javascript als Alternative zu native VPN-Anwendungen, die vorab auf dem PC oder Smartphone installiert werden müssen und einen Gateway im Firmennetz erfordern.

Sichere(re) Web-Anwendung:

  • immer SSL-Verschlüsselung mittels HTTPS
  • Precompiler zur Obfuscation des JS-Quellcodes + DOM-ID’s
  • zusätzliche JS-Verschlüsselung vom Code + AJAX
  • Hauptquellcode wird erst durch Passwort entschlüsselt
  • je Session eine eigene + neue Subdomain
  • keine Session-ID als Cookie oder HTTP-Get-Parameter
  • keine persistente Daten (Cookie, SQLite, Flash, AIR, …)
  • temporäre Daten immer verschlüsseln (Cookie)
  • schneller Timeout durch Inaktivität (Mouse, Scroll)
  • Session verliert nach Schliessen des Fensters die Gültigkeit
  • Mehrfachlogin pro User führt jeweils zu Passwortprompt
  • keine 3rd Party API für JSON, XML-RPC, SOAP & Co
  • kein JSONP, kein XML-RPC und kein AJAX-Proxy
  • API-Call nur per HTTP-POST (auch Lesen nicht per GET)
  • bei Upload von Bildern, diese immer neu errechnen
  • Uploads (insbesondere Avatare) und Profile nie öffentlich
  • Timeout auf Freischaltlink in Email nach Anmeldung
  • Suchmaschinen-Indizierung verhindern (UAgent, robots, MetaTag)
  • Opera Mini und änhliche SSL-ManInTheMiddles aussperren
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: