Applikationssicherheit

Dokumentation > Applikationssicherheit

Wir sind bestrebt, die Angriffsfläche unserer Software möglichst klein zu halten.

Wir sind sehr dankbar über Hinweise zu beobachteten oder vermuteten Schwächen.

Abwehrmassnahmen

Abwehr von Cross-site scripting (XSS)

  • Benutzereingaben anonymer Sitzungen
    HTML und JavaScript Code wird vollständig entfernt
  • Benutzereingaben authentifizierter Sitzungen
    HTML und JavaScript Code wird gemäss Konfiguration entfernt
  • Verwendung einer Content Security Policy
    Verhindern von ungewolltem Sideloading, siehe dazu: IIS Web.Config
  • Selfhosting aller Ressourcen
    Erschwert Supply Chain Angriffe

Gegen weitere Vektoren

  • Erkennung und Abwehr eines Sitzungsdiebstahls
    Siehe dazu: Konfiguration Missbrauchserkennung & Prävention
  • Erkennung und Abwehr von Mailflooding
    Siehe dazu: Konfiguration Missbrauchserkennung & Prävention
  • Erkennen von «Brute Force Angriffen»
    Benutzerkonten und/oder IP Adressen können autom. gesperrt werden, wenn Passwortangaben oder Informationen zur MFA wiederholt inkorrekt sind. Siehe dazu: Konfiguration Missbrauchserkennung & Prävention
  • Minimieren der Angriffsfläche auf Ebene des Webservers
    Siehe dazu: IIS Web.Config
  • Lesen/Verstehen der Kommunikation durch Dritte 'verunmöglichen'
    Verwendung der Transportverschlüsselung
  • Speicherort von Ressourcen
    Alle Konfigurationsdaten, Logfiles und verwaltete Ressourcen wie Bilder und Dokumente werden ausserhalb des «Web Verzeichnisses» gespeichert. Die Ausnahme ist prinzipbedingt «web.config». Die Applikation erwartet dort jedoch niemals Zugangsdaten irgendwelcher Natur.

Abwehr von SQL Injection

  • Validierung der Eingabedaten
    Prüfung des Inhalts auf den erwarteten Datentyp
  • Konsequente Verwendung parametrisierter Abfragen
    An die Datenbank durchgereichte Eingabedaten werden immer als Wert behandelt und nicht interpretiert
  • Prinzip der geringsten Privilegien
    Verwendung von Datenbankbenutzern mit möglicht geringen Berechtigungen
  • Auslieferung der Daten ausschliesslich mittels Serialisierung von Instanzen implementierter Klassen
    Erschwert/verunmöglicht das Ausspähen der Datenbankstruktur
  • Keine Ausgabe von Stacktraces aus dem Business- oder Persistenzlayer

Weitere Informationen