View Categories

05 Sicherheit & Betrieb

MCDMS WebAkte wird für den Betrieb im internen Kliniknetz ausgelegt. Im Produktivbetrieb erfolgt der Zugriff ausschließlich über HTTPS.

HTTPS

Beispiel:

https://mcdms-webakte.klinik.local:8443/

Der verwendete DNS-Name muss im Serverzertifikat enthalten sein.

Empfohlen wird ein Zertifikat der internen Zertifizierungsstelle der Klinik.

Selbstsignierte Zertifikate sollten nur für Testsysteme verwendet werden.

Benutzeranmeldung

Die Anmeldung erfolgt mit vorhandenen MCDMS-Benutzern.

Die Zugangsdaten werden nicht in URLs übertragen und nicht in Logdateien gespeichert.

Sitzungen

Die Sitzungssteuerung erfolgt über WEB.INI.

Beispiel:

[SESSION]
CookieName=MCDMS_SESSION
IdleTimeoutMinutes=30
AbsoluteTimeoutHours=8
MaxSessionsPerUser=3

IdleTimeoutMinutes

Beendet die Sitzung nach der angegebenen Zeit ohne Benutzeraktivität.

AbsoluteTimeoutHours

Begrenzt die maximale Lebensdauer einer Sitzung unabhängig von der Aktivität.

MaxSessionsPerUser

Begrenzt die Anzahl gleichzeitig aktiver Sitzungen eines Benutzers.

Ist eine Sitzung abgelaufen, wird beim nächsten Zugriff wieder die Loginseite angezeigt.

MCDMS5API

Jede WebSession besitzt eine eigene MCDMS5API.Framework-Instanz.

Die MCDMS-Aufrufe werden zentral über die dafür vorgesehene COM-STA ausgeführt.

Beim Ende einer Sitzung wird der aktuelle Patientenkontext sauber geschlossen und die MCDMS-Sitzung beendet.

Patientenschutz

Der aktuell ausgewählte Patient wird serverseitig in der Sitzung verwaltet.

Formular- und Datensatzoperationen werden immer gegen den aktuellen Patienten geprüft.

Eine technische Datensatz-ID allein reicht nicht aus, um auf Datensätze eines anderen Patienten zuzugreifen.

Rollen

Formulare können über Roles auf bestimmte MCDMS-Benutzergruppen eingeschränkt werden.

Beispiel:

Roles=ARZT;ADMIN

Die Prüfung erfolgt serverseitig.

Bei:

Roles=

besteht keine zusätzliche Rollenbeschränkung.

SQL-Sicherheit

Tabellen- und Spaltennamen stammen aus der serverseitigen Konfiguration.

Datenwerte werden parametrisiert an SQL Server übergeben.

Der Browser kann keine eigenen SQL-Befehle, Tabellen- oder Spaltennamen vorgeben.

Die SQL-Verbindung wird aus der bestehenden MCDMS-Konfiguration übernommen.

Script-Sicherheit

Scripts können ausschließlich über die serverseitige Konfiguration referenziert werden.

Erlaubt sind nur .MCFSCR-Dateien innerhalb des APPPATH.

Der Browser kann keine beliebigen Scripts zur Ausführung auswählen.

Dateizugriff über den Browser

Nicht jede Datei unter:

{APPPATH}\Web

ist automatisch per Browser erreichbar.

Statisch freigegeben sind nur die ausdrücklich vorgesehenen Webressourcen.

Ordner wie:

PROGRAM
SETUP
LOGS

sowie INI-Dateien können nicht direkt über HTTP heruntergeladen werden.

Formular-HTML wird ebenfalls nicht frei als statische Datei ausgeliefert, sondern kontrolliert über die Formularlogik der MCDMS WebAkte.

Windows-Dienst

MCDMS WebAkte läuft im Produktivbetrieb als Windows-Dienst.

Dienstname:

MCDMS.WebAkte

Anzeigename:

MCDMS-WebAkte

Status prüfen:

Get-Service MCDMS.WebAkte

Dienst neu starten:

Restart-Service MCDMS.WebAkte

Nach einem Neustart des Windows Servers startet der Dienst automatisch.

Dienstkonto

Für eine lokale MCDMS-Installation kann LocalSystem verwendet werden.

Bei einem APPPATH auf einer Netzwerkfreigabe muss ein geeignetes lokales oder Domänenkonto mit den notwendigen Netzwerkrechten verwendet werden.

Das Dienstkonto benötigt Zugriff auf die für MCDMS WebAkte benötigten Dateien und Datenquellen.

Dateisystemseitig werden durch MCDMS WebAkte ausschließlich Dateien innerhalb von:

{APPPATH}\Web

angelegt, geändert oder gelöscht.

Zuletzt ausgewählte Patienten

Die zuletzt ausgewählten Patienten werden über die vorhandene MCDMS-VRL-Datei verwaltet.

Pfad:

{APPPATH}\CONFIG\USER\<LOGINNAME>.VRL

Die WebAkte liest und aktualisiert diese bestehende MCDMS-Datei.

Die Anzahl der im Web angezeigten Einträge wird über:

[PATIENT]
RecentPatientCount=10

gesteuert.

Logging

Die Logdateien befinden sich unter:

{APPPATH}\Web\LOGS

Beispiel:

D:\Kliniken\KLINIK\MCDMS\Web\LOGS

Dateiname:

MCDMS-WebAkte-YYYY-MM-DD.log

Es werden nur relevante:

WARN
ERROR

Einträge protokolliert.

Normale erfolgreiche Benutzeraktionen werden nicht geloggt.

Nicht protokolliert werden unter anderem:

  • Passwörter
  • Patientenname
  • PatientID
  • Geburtsdatum
  • Diagnosen
  • Medikamente
  • Formularinhalte
  • Session-Cookies
  • SQL-Passwörter

Die Aufbewahrungsdauer wird über WEB.INI eingestellt:

[LOGGING]
DeleteLogsAfterDays=30

Mit:

DeleteLogsAfterDays=0

wird die automatische Löschung deaktiviert.

Statusprüfung

Die Erreichbarkeit des WebServers kann über:

/api/status

geprüft werden.

Beispiel:

Invoke-WebRequest `
  https://mcdms-webakte.klinik.local:8443/api/status `
  -UseBasicParsing

Erwartet:

StatusCode : 200

Der Status-Endpunkt bestätigt, dass der WebServer erreichbar ist.

Er prüft nicht vollständig:

  • MCDMS-Login
  • SQL Server
  • Scripts
  • konkrete Formulare

Updates

Vor einem Update sollte der Windows-Dienst gestoppt werden:

Stop-Service MCDMS.WebAkte

Danach werden die freigegebenen Dateien innerhalb von:

{APPPATH}\Web

aktualisiert.

Anschließend:

Start-Service MCDMS.WebAkte

und:

/api/status

prüfen.

Klinikspezifische Konfigurationen sollten bei Updates nicht ungeprüft überschrieben werden.

Dazu gehören insbesondere:

WEB.INI
FORMULARE.INI
PATIENTEN.INI
AKTENSTRUKTUR.INI