SecDoc issueshttps://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues2022-03-08T11:24:15+01:00https://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues/97Überarbeitung Installations- und Updateskript2022-03-08T11:24:15+01:00Dustin Gawrond.gawron@uni-muenster.deÜberarbeitung Installations- und UpdateskriptDas aktuelle Installations-/Updateskript ist nur sehr eingeschränkt nützlich und bietet nur wenig Konfigurationsoptionen. Darüber hinaus fehlt eine ordentliche Absicherung des Skripts, z.B. durch ein zufällig generiertes Passwort, wodurc...Das aktuelle Installations-/Updateskript ist nur sehr eingeschränkt nützlich und bietet nur wenig Konfigurationsoptionen. Darüber hinaus fehlt eine ordentliche Absicherung des Skripts, z.B. durch ein zufällig generiertes Passwort, wodurch es immer gelöscht oder unbrauchbar gemacht werden muss.
## Ideen:
* Skript zu CLI umbauen, sodass es nur mit Server-Zugriff genutzt werden kann (Nachteil: keine ordentliche Nutzeroberfläche möglich)
* Skript generiert ein zufälliges Passwort und Nutzer muss es per Server-Zugriff auslesen, um das Skript im Browser nutzen zu können
* Update aus der Anwendung heraus wie bei [MISP](https://github.com/MISP/MISP/blob/6cf7d4279150a8349bc1e63dc681cc12362bb80e/app/Model/Server.php#L4121)
* Builds/Sources signieren (wie z.B bei [Cryptomator](https://github.com/cryptomator/cryptomator))
* Installationsskript nur zur Erstinstallation und Updates aus der Anwendung heraus
* Ablauf Installation: Umgebung prüfen; Pfade prüfen (evtl. mit `pathConfig.php` überschreiben); Ordner-Struktur anlegen; Rechte prüfen; Weiterleitung auf Oberfläche zur Konfiguration (Demo-Instanz zusätzlich absichern? Passwort? IP-Check?); Installation mit Variable `installed` gesperrt; Installationsskript mit zufälligem Passwort gesichert (`installPWConfig.php` wird beim ersten Starten generiert); Konfigurationen in `.gitignore` ergänzen
* Ablauf Update: Neue Version prüfen; Backup erstellen; Git Pull; falls `composer.lock` geändert Composer ausführen; DB-Update anbieten, falls verfügbar (vorher DB-Backup)
## ToDo:
* [ ] Besseren Installations-/Update-Ablauf planen
* [ ] Umbau des Installationsskripts
* [ ] Erweiterung des Installationsskript zur grundlegenden Konfiguration von SecDoc
* [ ] Verbesserung der DB-Update-Funktionen
* [ ] Wartungs-Funktionen ergänzen (z.B. Wartungsmodus ein-/ausschalten, gelöschte Verfahren bereinigen)Version 2.0 - Backend Reworkhttps://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues/95Nutzung von Templates2022-02-22T14:24:45+01:00Thorsten KüferNutzung von Templates * Wie sollen Templates genutzt werden?
* Wo ist die Abgrenzung zu Abhängigkeiten?
Idee:
* *Templates* stellen Richtlinien des Bereichs mit Vorgaben für die sichere Verarbeitung von personenbezogenen Daten dar. Das Template könnte al... * Wie sollen Templates genutzt werden?
* Wo ist die Abgrenzung zu Abhängigkeiten?
Idee:
* *Templates* stellen Richtlinien des Bereichs mit Vorgaben für die sichere Verarbeitung von personenbezogenen Daten dar. Das Template könnte als Sicherheitskonzept genutzt werden.
* *Abhängigkeiten* stellen genutzte Ressourcen dar, darunter fallen auch Arbeitsplatzrechner, Windows- und Office-Nutzung.Version 2.0 - Backend Reworkhttps://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues/47Gewährleistungsziele aus SDM integrieren2022-01-17T13:43:17+01:00Thorsten KüferGewährleistungsziele aus SDM integrierenDas SDM verwendet zur Systematisierung datenschutzrechtlicher Anforderungen
sieben „Gewährleistungsziele“ (siehe SDM A4, C1).
* Datenminimierung,
* Verfügbarkeit,
* Integrität,
* Vertraulichkeit,
* Nichtverkettung,
* Transparenz,
* Inte...Das SDM verwendet zur Systematisierung datenschutzrechtlicher Anforderungen
sieben „Gewährleistungsziele“ (siehe SDM A4, C1).
* Datenminimierung,
* Verfügbarkeit,
* Integrität,
* Vertraulichkeit,
* Nichtverkettung,
* Transparenz,
* Intervenierbarkeit.
Wie lassen sich diese integrieren?
* [ ] Tabelle mit Zuordnungen Anforderung<->Gewährleistungsziel(e) und gesonderte Darstellung?Zukünftige Versionenhttps://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues/23Diverse Feature- und Verbesserungsvorschläge2021-11-26T10:28:47+01:00Dustin Gawrond.gawron@uni-muenster.deDiverse Feature- und Verbesserungsvorschläge# Anbindung/Import/Export
* [ ] [Verinice](https://verinice.com/) Anbindung zur weiteren Verarbeitung/Auswertung der gesammelten Daten
* [ ] Import bestehender Dokumentationen (z.B. aus Excel)
* [x] Template-Management mit Ex-/Import => ...# Anbindung/Import/Export
* [ ] [Verinice](https://verinice.com/) Anbindung zur weiteren Verarbeitung/Auswertung der gesammelten Daten
* [ ] Import bestehender Dokumentationen (z.B. aus Excel)
* [x] Template-Management mit Ex-/Import => #72
* [ ] Komplexere Ex-/Import-Funktion (Zusammenhänge zwischen Ebenen beibehalten)
# Bedienbarkeit
* [ ] Import von Kategorien von Nutzerdaten (z.B. automatisch Einträge für SAP-gepflegte Nutzerdaten im Wizard anlegen)
* [ ] DB-Updates auskoppeln und manuell ausführbar machen
* [ ] Durchsuchbare TOM-Liste
* [ ] Masseneditor für Dokumentationen anbieten
* [ ] Verschiedene Nutzer in Demo-Instanz anbieten (z.B. um Lese-/Schreibberechtigungen zu testen)
* [ ] TOMs vorausfüllen/vererben (zentral TOMs als erfüllt markieren und als read-only übernehmen? Import/Auswahl von fertig ausgefüllten Katalogen? Vererben aus Abhängigkeiten?)
* [ ] Sortierung der Maßnahmen nach Wichtigkeit? (R-Werte im Maßnahmenkatalog?)
# Neue Funktionen
* [x] Generierung von Informationsblättern für Betroffene (z.B. für Auskunftsanfragen) => #73
* [ ] Verträge zur Datenverarbeitung laut GDPR/Auftragsdatenverarbeitung
* [ ] Möglichkeit zur Anzeige von wichtigen Änderungen/Neuerungen für Endnutzer
* [ ] Abfrage der TOMs anhand von dazugehörigen Prüffragen (granularer bearbeitbar; allerdings mehr Aufwand für Nutzer) und Gesamtumsetzungsstand ermitteln
* [ ] Review-Prozess einbauen/etablieren (evtl. neuen "In Review"-Status)
* [ ] E-Mail-Benachrichtigungen bei Änderung von Verantwortlichen oder Berechtigungen
* [ ] Über Aktualisierungen von gewählten Abhängigkeiten informieren (evtl. Abhängigkeit an Version koppeln?)
* [ ] Auswertungsfunktionen nach verschiedenen Standards BSI/SDM/ISO (Mapping zwischen Anforderungen notwendig!)
* [ ] Hinterlegung von Prüfvermerken (bestimmter Rollen) ermöglichen / Erzeugung von Prüfvermerk-Dokumenten (Formular Marc)
* [ ] Wiedervorlage-Datum bei Bearbeiterweitergabe (Erinnerung/Benachrichtigung bei Überschreitung)
* [ ] Schutzbedarfsermittlung einbauen (Anhand von Prüffragen; siehe BSI oder SDM)
* [ ] Anbindung an d.3 Dokumentenverwaltung
# Sonstiges
* [ ] Code-Review (Verwendung von let/var; einheitliche Strukturierung; Dokumentation/Kommentare verbessern)
* [ ] Guten Update-Ablauf planen und dokumentieren
* [ ] Schwachstellenscans durchführen (z.B. mit [OWASP ZAP](https://www.zaproxy.org/docs/automate/))
* [x] Wartungs-/Read-Only-Modus für Updates oder Anpassungen => #62Zukünftige Versionenhttps://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues/13Weitere Anmeldemöglichkeiten2022-01-17T13:43:11+01:00Dustin Gawrond.gawron@uni-muenster.deWeitere Anmeldemöglichkeiten* [x] Login-Oberfläche
* [x] Modulare/Erweiterbare Authentifizierungsmethoden
* [x] LDAP Authentifizierung
* [ ] Shibboleth-Authentifizierung (Über Reverse-Proxy + Server Variablen? Oder direkt integriert z.B. mit [SimpleSAML](https:...* [x] Login-Oberfläche
* [x] Modulare/Erweiterbare Authentifizierungsmethoden
* [x] LDAP Authentifizierung
* [ ] Shibboleth-Authentifizierung (Über Reverse-Proxy + Server Variablen? Oder direkt integriert z.B. mit [SimpleSAML](https://simplesamlphp.org/)?)Zukünftige Versionenhttps://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues/9Versionierung2021-06-17T12:57:14+02:00Dustin Gawrond.gawron@uni-muenster.deVersionierung* Verschiedene Versionen abgeschlossener Verfahren speichern
* Anzeige gelöschter Verfahren zur evtl. Wiederherstellung
* Verlauf von Bearbeitungen (Unterschiedene zwischen Versionen anzeigen?)* Verschiedene Versionen abgeschlossener Verfahren speichern
* Anzeige gelöschter Verfahren zur evtl. Wiederherstellung
* Verlauf von Bearbeitungen (Unterschiedene zwischen Versionen anzeigen?)Zukünftige Versionenhttps://zivgitlab.uni-muenster.de/secdoc/secdoc/-/issues/8Automatisierte Tests2022-02-22T14:27:00+01:00Dustin Gawrond.gawron@uni-muenster.deAutomatisierte TestsNeue Versionen automatisiert testen lassen, um Funktionalität und Qualität zu gewährleisten.
**Funktionstests:**
* [PHPUnit](https://phpunit.de/) zum Testen der Backend-Komponenten?
* [Cypress](https://www.cypress.io/) als End-to-End-Te...Neue Versionen automatisiert testen lassen, um Funktionalität und Qualität zu gewährleisten.
**Funktionstests:**
* [PHPUnit](https://phpunit.de/) zum Testen der Backend-Komponenten?
* [Cypress](https://www.cypress.io/) als End-to-End-Tests (z.B. für API-Abfragen)?
* [Jest](https://jestjs.io/) zum Testen des React-Frontends?
**Sicherheitstests:**
* [PHP_CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) mit [PHPCS Security Audit](https://github.com/FloeDesignTechnologies/phpcs-security-audit) zum statischen Testen des PHP Codes? => [GitLab SAST](https://zivgitlab.uni-muenster.de/help/user/application_security/sast/index)
* [ESLint](https://eslint.org/) zur JS Analyse => [GitLab SAST](https://zivgitlab.uni-muenster.de/help/user/application_security/sast/index)
* [GitLab Dependency Scanning](https://zivgitlab.uni-muenster.de/help/user/application_security/dependency_scanning/index)
* [GitLab Secret Detection](https://zivgitlab.uni-muenster.de/help/user/application_security/secret_detection/index)
* [GitLab DAST](https://zivgitlab.uni-muenster.de/help/user/application_security/dast/index)
**Code Style:**
* [ESLint](https://eslint.org/) für einheitlichen Code
Siehe auch:
* https://www.heise.de/developer/artikel/Debugging-Monitoring-und-Code-Qualitaet-Tools-in-der-Web-Entwicklung-5070139.htmlVersion 2.0 - Backend ReworkDustin Gawrond.gawron@uni-muenster.deDustin Gawrond.gawron@uni-muenster.de