====== Realisierung eines teamfähigen Passwort-Managers ====== {{https://securityintelligence.com/wp-content/uploads/2018/10/si-eight-character-password-feature.jpg|Titelbild}} 16.5.2022 - 4.7.2022 Lehrperson: Marcello Calisto Kandidat: Serjoscha Evci Teil 1 -- Umfeld und Ablauf ====== Projektorganisation und Aufgabenstellung ====== ===== Personen und Adressen ===== Schüler: Serjoscha Evci\\ Betrieb (=Durchführungsort): Rafisa Informatik GmbH\\ Adresse: Bernstrasse 88, PLZ 8953\\ Telefon: 078 745 02 22\\ Mail: Lehrperson: Marcello Calisto\\ Betrieb: Technische Berufsschule Zürich TBZ\\ Adresse: Ausstellungsstrasse 70, PLZ 8005\\ Telefon: 044 446 96 00\\ Mail: ===== Aufgabestellung ===== In der Rafisa Informatik GmbH werden zurzeit 50 Lernende der Fachrichtungen Applikationsentwicklung, ICT-Fachmann/Fachfrau, Systemtechnik und Betriebsinformatik sowie Plattformentwicklung zu InformatikerInnen EFZ ausgebildet. Neben dem regulären Ausbildungsbetrieb bietet die Rafisa auch Eignungsabklärungen, Arbeitstrainings, Vorbereitungen für eine Informatik-Ausbildung sowie Bewerbungs- und Job-Coachings an. Das Projekt wird in einer abgesicherten Laborumgebung der Firma durchgeführt. Für die Verwaltung der Rafisa Infrastruktur werden eine Vielzahl von Benutzernamen und Kennwörtern benötigt. Diese werden heute dezentral verwaltet. Zur Verbesserung der Koordination und Steigerung der Sicherheit soll ein zentrales Passwort-Management eingerichtet werden. Der Passwort-Manager soll in einer virtuellen Maschine auf der Virtualisierungsplattform Proxmox VE installiert werden. Die Anforderungen an das System sind: * Open Source Software * LDAP-Anbindung * Kostenlos * Self-hosted ====== Projektaufbauorganisation ====== Die Prüfungsexperten bilden zusammen mit dem Fachverantwortlichen der Ausbildung und dem Kunden den Auftraggeber. Zusammen sind sie für die Formulierung der Aufgabenstellung und Benotung der Projektarbeit zuständig. ===== Personen ===== Lehrperson: Marcello Calisto\\ Schüler: Serjoscha Evci ===== Rollen ===== Projektleiter: Serjoscha Evci\\ Auftraggeber, Kunde: Marcello Calisto ===== Aufgaben ===== Der Projektleiter ist für die komplette Realisierung und Dokumentation des Projektes zuständig.\\ Der Auftraggeber ist für die Genehmigung des Auftrages zuständig. ===== Verantwortung ===== Die Realisierung des Projektes liegt allein in der Verantwortung des Schülers. ===== Projektorganigramm ===== {{https://raw.githubusercontent.com/SerjoschaE/M431/main/Dokumentation/Bilder/Projektorganigramm-M431.jpg|Organigramm}} ====== Vorgehen ====== ===== Projektmethode IPERKA ===== IPERKA ist eine Projektmethode und steht für: Informieren: Sich über etwas eine Übersicht verschaffen. Informationen aus dem Internet suchen. Quellenangaben nicht vergessen. Bilder sollten ebenfalls mit einer Quelle verzeichnet sein. Informationen gut veranschaulichen und wenn nötig gleich erklären. Tatsachen und Umstände definieren und sich Gedanken über eine Umsetzung machen. Planen: Mit den recherchierten Informationen ein notwendiges Konzept für ein Thema (Dienst, Teilauftrag) planen. Die Planung sollte immer einen günstigen Fall bevorzugen und falls möglich mehrere Alternativen zu einer bereits geplanten bzw. gegebenen Umsetzung bieten. Entscheiden: Aufgrund der Planung und deren Möglichkeiten wird hier entschieden, wie die Umsetzung erfolgen sollte. Die Umsetzung sollte einen günstigen Fall bevorzugen. Realisieren: In diesem Schritt werden getroffene Entscheidungen umgesetzt. Bei der Realisierung sollten getroffene Entscheidungen bzw. mögliche Vorgehensweisen (Planung) beachtet werden und Umgesetztes sollte dokumentiert werden in einer gut verständlichen, korrekten Fachsprache. Kontrollieren: Die umgesetzte Arbeit wird kontrolliert. Mögliche Konfigurationen bzw. Einstellungen, welche nicht dem günstigsten Fall entsprechen, sollten diesem angepasst werden. (Testing) Auswerten: Hier wird schliesslich dokumentiert, was alles kontrolliert und angepasst wurde. Es wird sozusagen praktisch untermauert, dass (möglichst) alle Konfigurationen dem Idealfall entsprechen und entsprechend dokumentiert sind. Bei der Auswertung werden das Projekt bzw. der Projektverlauf als Ganzes beurteilt. Hier sind auch Verbesserungsvorschläge zu nennen. ===== Sicherung der Resultate ===== Die Dokumentation sowie die wichtigsten Konfig-Files werden in Git versioniert. Teil 2 -- Projekt ====== Kurzfassung Projektbericht ====== Eine konzeptionelle Zusammenfassung der Arbeit und des erarbeiteten Ergebnisses erleichtert dem mit dem Projekt befassten Leser des Berichts (Fachvorgesetzte, Experten) den Einstieg für das Verständnis der geleisteten Arbeit. Die Kurzfassung enthält nur Text und keine Grafik. ====== Informieren ====== ===== Erfassung der zur Verfügung stehenden Hardware ===== ^Gerät ^Modell ^CPU(s) ^RAM ^Disk ^NIC ^OS ^GPU ^ |Proxmox-Server |HP ProLiant DL380p Gen8|Xeon E5-2643 2 Sockets à 4c8t|144GB 24-Channel DDR3 ECC |1.8TB SAS HW-RAID |4x Broadcom BCM5719 GbE |Proxmox Virtual Environment |Matrox MGA G200EH | |PC im Betrieb |ASUS M32CD4-K |I7-7700 4c8t |16GB 2-Channel DDR4 |1TB SATA single disk |1x Realtek GbE |Manjaro-Gnome |Intel HD 630 iGPU | |Laptop für die Schule ByoD|Acer Nitro 5 An517-41 |Ryzen 7 5800h 8c16t |32GB 2-Channel DDR4-3200 CL22-22-22 XMP|2TB NVMe Linux-Software-Raid|1x Killer E2600 10GbE mit Linux, Windows nur 2.5GbE wegen Lizenzen|Kubuntu, das ist aber krüpplig, weil auf Debian basierend, darum bald Manjaro-Gnome|Nvidia RTX 3060 6GB dGPU| |Vega 8 iGPU | | | | | | | | ===== Erfassung der zur Verfügung gestellten Services ===== ==== Die Virtualisierungsumgebung Proxmox VE ==== Proxmox Virtual Environment (Proxmox VE oder PVE) ist ein Open-Source-Software-Server um VMs und Container zu verwalten. PVE ist ein Hypervisor, der Betriebssysteme wie Linux und Windows auf x64-CPUs ausführen kann. Es handelt sich um eine GNU/Linux-Distribution auf Basis von Debian auf einem modifizierten Linux-Kernel und nutzt für die VMs KVM sowie LXC für die Container. Proxmox VE umfasst ein Webinterface und CLI-Tools. PVE ermöglicht es, mit mehreren Proxmox-Nodes High Availability-Systeme aufzubauen. Des Weiteren können mehrere arbeitende Proxmox-Nodes von einem Webinterface aus verwaltet werden. Die Minimal-Anforderungen an die Proxmox-Hardware sind: * CPU: 64bit (Intel EMT64 oder AMD64)Intel VT/AMD-V-fähige CPU/Mainboard (für KVM Full Virtualization Unterstützung) * Mindestens 1 GB RAM * Festplatte * Eine Netzwerkkarte ==== Manjaro GNU/Linux ==== Manjaro ist eine benutzerfreundliche Linux-Distribution, die auf dem unabhängig entwickelten Arch-Betriebssystem basiert. In der Linux-Gemeinschaft ist Arch selbst dafür bekannt, dass es eine außergewöhnlich schnelle, leistungsstarke und schlanke Distribution ist, die Zugang zur allerneuesten und innovativsten Software bietet. Arch richtet sich jedoch auch an erfahrenere oder technisch interessierte Benutzer. Daher wird es im Allgemeinen als unerreichbar für diejenigen angesehen, die nicht über das nötige technische Know-how (oder die nötige Ausdauer) verfügen, um es zu benutzen. Manjaro wurde in Österreich, Frankreich und Deutschland entwickelt und bietet alle Vorteile des Arch-Betriebssystems in Kombination mit einem Schwerpunkt auf Benutzerfreundlichkeit und Barrierefreiheit. Manjaro folgt Archlinux und bietet offiziell nur eine 64-Bit-Version an. Manjaro eignet sich sowohl für Neueinsteiger als auch für erfahrene Linux-Nutzer. Für Neueinsteiger wird ein benutzerfreundliches Installationsprogramm bereitgestellt, und das System selbst ist so konzipiert, dass es direkt nach dem Auspacken voll funktionsfähig ist. ===== Was sind teamfähige Passwortmanager? ===== ==== Warum braucht ein Unternehmen einen Passwortmanager? ==== In jedem Unternehmen müssen die Mitarbeiter ihre geschäftsbezogenen Passwörter und vertraulichen Informationen sicher aufbewahren. Das bedeutet, dass Passwörter nicht wiederverwendet werden dürfen, dass eindeutige und sichere Anmeldedaten erstellt werden müssen und dass alle diese Informationen an einem sicheren Ort aufbewahrt werden müssen. Und "sicher" bedeutet sicherer als ein Post-It-Zettel. Glücklicherweise bieten viele bekannte Sicherheitsunternehmen auf Unternehmen zugeschnittene Passwort-Manager an. ==== Welche vorteile haben Passwort-Manager? ==== Mit einem Passwort-Manager für Unternehmen müssen die Mitarbeiter eines Unternehmens weniger Zeit damit verbringen, sich sichere und eindeutige Passwörter für alle ihre Konten zu merken. Der Passwort-Manager speichert die Anmeldedaten der einzelnen Personen und hilft ihnen, neue, zufällige Passwörter zu erstellen. Mit den besten Passwortmanagern für Unternehmen können Administratoren auch die Passworthygiene der Mitarbeiter im Auge behalten. Das heißt, Sie können sehen, welche Mitarbeiter schwache oder wiederverwendete Passwörter haben und wer seine Konten nicht mit der Multi-Faktor-Authentifizierung schützt, so dass Sie sie auffordern können, ihre Sicherheit zu verbessern. Sobald Sie oder ein Mitarbeiter einen Passwort-Manager installiert und eingerichtet haben, erledigt der Passwort-Manager den größten Teil der restlichen Arbeit automatisch. Wenn Sie sich bei einer sicheren Website anmelden, bietet Ihnen Ihr Passwort-Manager an, Ihre Anmeldedaten zu speichern, damit er die Informationen ausfüllen kann, wenn Sie die Website später wieder besuchen. Viele Passwort-Manager bieten eine Browsererweiterung an, die eine Liste Ihrer Logins speichert, so dass Sie auf eine Webadresse klicken und sich automatisch anmelden können. Die meisten Passwort-Manager können auch persönliche oder Unternehmensdaten in Webformulare eintragen, was sicherer und weniger fehleranfällig ist als die manuelle Eingabe von Informationen. Sie können sensible Unternehmensdaten im verschlüsselten Tresor des Passwortmanagers bearbeiten und speichern. Die Speicherung von Zahlungs- und Identitätsdaten im Tresor Ihres Unternehmens ist sicherer als die Speicherung in Ihrem Browser. ==== Welche Funktionen sind für Unternehmen relevant? ==== Die gemeinsame Nutzung von Passwörtern ist eine wichtige Funktion für Passwort-Manager im Geschäftsleben. Wir raten davon ab, Passwörter weiterzugeben, aber wenn Sie es tun müssen, ist ein Passwortmanager die sicherste Option. Mitarbeiter müssen oft Unternehmensinformationen und Notizen an andere Mitarbeiter und Administratoren weitergeben. Mit einigen Passwort-Managern können Sie eine Anmeldung freigeben, ohne das Passwort sichtbar zu machen, und Sie können die freigegebenen Daten widerrufen, sobald die andere Person sie verwendet hat, oder den Empfänger zum Eigentümer der Anmeldedaten machen. Viele Passwort-Manager bieten Single Sign-On oder Integrationen mit Unternehmenssoftware wie Zoom oder Google Workspace. Diese Integrationen bieten Ihrem Unternehmen eine weitere Ebene der Bequemlichkeit und Sicherheit, da die Mitarbeiter nicht jedes Mal Passwörter eingeben müssen, wenn sie verschiedene arbeitsbezogene Anwendungen nutzen wollen. ==== Projektumfeld: Netzplan ==== ^ **FQDN** ^ **IP** | **Betriebssystem** | **Dienste** | | proxmox.1.tisch.org | 172.16.56.21 | Proxmox VE | Virtualisierung | | Update 8.7.22: teampass.stiftung.ifa | 172.16.56.248 | Debian 11 | Passwort-Manager | | PC-ZH-Manjaro | 192.168.77.DHCP | Manjaro Rolling | Arbeits-PC | | Serjoscha-Nitro-AN515-44 | DHCP | Kubuntu 22.04 | Laptop mit Win11-Schul-VM | ====== Planen ====== ===== Planen VMs auf Proxmox ===== Bei der Erstellung einer virtuellen Maschine in Proxmox hat man viele Möglichkeiten, bestimmte Hardwareressourcen zuzuweisen. Die Kenntnis dieser Ressourcen ist wichtig, um die richtige Hardware für bessere Kompatibilität und Leistung auszuwählen. In der nachstehenden Tabelle sind Ressourcen-Kategorien mit möglichen Varianten: ^**Ressourcen** ^**Varianten** ^ |Disk Bus oder Device|IDE | | |* SATA | | |* VirtIO (Paravirtualised)| | |* SCSI | |Disk Format |* Raw Disk Image | | |* QEMU Image Format | | |* VMWare Image Format | |CPU |Variabel | |RAM |Variabel | |Netzwerkadapter |* Intel E1000 | | |* VirtIO (paravirtualized)| | |* Realtek RTL8139 | | |* VMware vmxnet3 | **Harddisk Bus/Device** IDE: Bietet sehr gute Unterstützung durch alle Betriebssysteme. Es ist nicht sehr performant und unterstützt nur 4 Devices\\ SATA Bietet sehr gute Unterstützung durch Betriebssysteme. Ist performant und bietet Unterstützung für 6 Devices\\ VirtIO: Bis zu 14 Devices. Benötigt unter Windows spezielle Guest-Treiber, abgelöst durch SCSI\\ SCSI: Sehr performant, bis 14 Devices. Benötigt unter Windows spezielle Guest-Treiber **Disk Format** Das QEMU-Image-Format ist ein Copy-on-Write-Format, das Snapshots und Thin Provisioning des Festplatten-Images gestattet.\\ Das Raw-Disk-Image ist ein Bit-zu-Bit-Image einer Festplatte. Dieses Format unterstützt kein Thin Provisioning oder keine Snapshots. Es kann abgesehen davon bis zu 10% schneller sein als das QEMU-Image-Format.\\ Das VMware-Image-Format macht nur für den VMWare-Export Sinn. **CPU** Wie im Ist-Zustand festgehalten, verfügt der physische Server, der auf dem Proxmox VE eingerichtet wird, über 2 Socket à 4 Cores mit je zwei Threads, d.h. über 16 logische CPUs. Um eine bessere Auslastung der Ressourcen zu erhalten, können den VMs mehr CPUs zugeordnet werden, als physisch vorhanden sind. Man nennt das Überbuchen. Man muss aber berücksichtigen, dass auch der Proxmox-Server noch CPU-Ressourcen benötigt. **Memory** Der Proxmox-Server verfügt über 144GB RAM. Auch hier muss man beachten, dass nicht alles RAM den VMs zugesichert wird, da der Proxmox-Server auch noch Memory braucht. **Netzwerkadapter** Intel E1000: Es bietet hohe Kompatibilität an. Für den Intel e1000 gibt es Treiber für ziemlich alte und obskure Betriebssysteme.\\ rtl8139: Es ist einfacher zu emulieren als e1000, aber es bedeutet auch, dass das Betriebssystem innerhalb der VM möglicherweise zusätzliche Arbeit leisten muss, um die Bedingungen der Netzwerkkartenemulation zu erfüllen.\\ VirtIO: Es ist ein para-virtualisierter Treiber, d.h. es “weiss”, dass es in einer VM arbeitet und leitet den Netzwerkverkehr zwischen der VM und dem Host auf die einfachste Weise weiter. ===== In Frage kommende Passwort-Manager ===== Nach einer Webrecherche unter [1], [2] und [3] habe ich neun Passwortmanager herausgesucht, die ich nach den Muss-Kriterien aus der Aufgabenstellung in folgender Tabelle vorgefiltert habe: ==== Vorauswahltabelle ==== ^**Name** ^**Open-Source?** ^**LDAP-Unterstützung?** ^**Free?** ^**Kann Self-Hosted sein?**^ |Bitwarden|Ja |Im Enterprise-Plan ja |Wenn LDAP nötig, Nein|Ja | |LessPass |Ja |Nein |Ja |Ja | |Passbolt |Ja |Business-Plan aufwärts |Wenn LDAP nötig, Nein|Ja | |Padloc |Ja |Nein |Nein |Ja | |Passit |Ja |Ja |Ja |Ja | |Psono |Ja |Nur EE |EE Nein |Ja | |Passwork |Für Source-Code-Audits Ja|Ja |Nein |Ja | |RoboForm |Nein |im Business-Plan ja, aber nur AD|Business-Plan Nein |Ja | |Teampass |Ja |Ja |Ja |Ja | Nach Auswertung dieser Tabelle sind noch sysPass, Passit und Teampass im Auswahlverfahren drin, da nur diese drei alle Muss-Kriterien erfüllen. ====== Entscheiden ====== ===== Entscheidung für Passwort-Manager ===== Nach der Evaluation von Passwortmanagern sind drei übrig geblieben, welche alle Muss-Kriterien erfüllen: * sysPass * Passit * Teampass Um eine Entscheidung zwischen diesen dreien zu treffen, habe ich sinnvolle Entscheidungskriterien zusammengetragen: * Installation: Wie einfach ist das Produkt zu installieren? * Bedienbarkeit: Wie einfach ist das Produkt auf verschiedenen Skill-levels zu bedienen? * Dokumentation: Wie gut ist das Produkt dokumentiert? * Community: Wie tragfähig ist die Community, welche das Produkt unterhält? * Wartbarkeit: Ist das Produkt einfach zu aktualisieren? * Funktionalität: Nicht zu viel, nicht zu wenig Diese Kriterien habe ich meinem Ausbildner für die Gewichtung vorgelegt. Ich habe jedes Kriterium aufgrund von Recherchen und Tests mit virtualisierten Liveversionen auf einer Skala von 1 bis 11 bewertet. ^**Entscheidung** ^ ^ ^ ^ ^ ^ ^ ^ | | |**sysPass** | |**Passit** | |**Teampass** | | |**Kriterien** |**Gewichtung**|**Bewertung**|**Summe Kriterien**|**Bewertung**|**Summe Kriterien**|**Bewertung**|**Summe Kriterien**| |Installation |2 |8 |16 |2 |4 |5 |10 | |Bedienbarkeit |5 |1 |5 |5 |25 |8 |40 | |Dokumentation |4 |6 |24 |2 |8 |8 |24 | |Community |4 |1 |4 |2 |8 |7 |28 | |Wartbarkeit |4 |7 |28 |2 |8 |9 |36 | |Funktionalität |5 |3 |15 |6 |30 |9 |45 | |**Summe Variante**| |92 | |83 | |183 | | Die Entscheidungsmatrix ergibt, dass Teampass über alle Kriterien hinweg am besten abschneidet, deswegen wird im Folgenden Teampass realisiert. ===== Entscheiden Proxmox ===== Der Seite [[de:https://www.how2shout.com/linux/teampass-password-manager-installation-on-ubuntu-20-04-lts/|https:%%//%%www.how2shout.com/linux/teampass-password-manager-installation-on-ubuntu-20-04-lts/]] sind folgende Systemanforderungen zu entnehmen: - A standard Linux server with a minimum of 512 MB RAM and a dual-core processor will work. However, 1 GB of memory will be needed depending on how many people simultaneously going to access the webserver. - Apache Webserver. - MySQL 5.1 or higher Database. - PHP 5.50+ - non-root sudo user access. Im Kapitel Planen wurde aufgezeigt, für welche Proxmox-Ressourcen Entscheidungen getroffen werden müssen. Der zu erstellenden VM werden gemäss den Anforderungen folgende Ressourcen zugeteilt: ^**Ressourcen** ^**Varianten** ^**Begründung** ^ |Disk Bus oder Device|SCSI |Schnell und kompatibel | |Disk Format |Raw Disk Image |Default von PVE | |CPU |2 Cores [kvm64,flags=+aes][cpuunits=3072]|2 Cores in den Systemanforderungen | |RAM |2GB |1GB Recommended, mehr weil Zukunftssicher| |Netzwerkadapter |VirtIO (paravirtualized) |Default von proxmox | Als Betriebssystem wird das Firmeninterne Standardsystem Debian Stable (Version 11 Bullseye) verwendet. ===== Meilensteine ===== Als Meilensteine dienen mir die einzelnen Phasen von IPERKA. ---- IPERKA-Phase Erledigt bis ---- Informieren 13.06.2022 Planen 20.06.2022 Entscheiden 20.06.2022 Realisieren 27.06.2022 Kontrollieren 04.07.2022 ===== Auswerten 04.07.2022 ===== ====== Realisieren ====== ===== Aufsetzen der VM ===== Im Proxmox-Interface habe ich mit "Create VM" eine neue VM angelegt, welche mit den im Kapitel "Entscheiden" festgelegten Parametern ausgestattet ist. Als Hostname wurde teampass.stiftung.ifa gewählt. {{https://raw.githubusercontent.com/SerjoschaE/M431/main/Dokumentation/Bilder/Bildschirmfoto%20vom%202022-06-30%2016-38-08.png|HW-Summary}} ===== Basisinstallation OS ===== Als Betriebssystem wurde Debian 11 "Bullseye" aufgesetzt. Ich habe darauf geachtet, nur die notwendigsten Dienste zu installieren. So wurde zum Beispiel auf eine grafische Oberfläche verzichtet. {{https://raw.githubusercontent.com/SerjoschaE/M431/main/Dokumentation/Bilder/Dextop-Env.png|Oberfläche}} Dem System wurde die statische IP 172.16.56.248/24 gegeben. Dazu wurde das Konfigurationsfile /etc/network/interfaces angepasst: auto lo iface lo inet loopback allow-hotplug ens18 iface ens18 inet static address 172.16.56.248/24 gateway 172.16.56.1 ===== Aufsetzen des Passwort-Managers ===== ==== Aufsetzen LAMP-Stack ==== Da Teampass einen LAMP-Stack braucht, habe ich nach einrichten eines externen Repositories mit folgendem Befehl Apache, mariaDB und PHP 7.4 installiert: sudo apt install apache2 apache2-utils mariadb-server mariadb-client php7.4 libapache2-mod-php7.4 php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-bcmath php7.4-curl php7.4-fpm php7.4-gd php7.4-xml php7.4-mbstring -y Dann habe ich die Dienste Apache und MariaDB enabled und mit folgenden Befehlen gestartet: sudo systemctl start apache2 sudo systemctl start mariadb ==== Einrichten Datenbank ==== In diesem Schritt habe ich die Datenbank und einen Teampass-DB-Admin erstellt. Das ging mit folgenden Befehlen: # mysql -u root -p > create database teampass; > grant all privileges on teampass.* to teampass_admin@localhost identified by 'Password1'; > flush privileges; > exit; ### Einrichten Apache In diesem Schritt habe ich Apache für Teampass konfiguriert. Dazu habe ich das Installationspaket von Teampass aus seinem GitHub-Repository mit folgenden Befehlen geklont: ```plaintext # cd /var/www/html/ # git clone https://github.com/nilsteampassnet/TeamPass.git Dann wurden Permissions und Ownership angepasst: # chown -R www-data:www-data TeamPass/ # chmod -R 775 /var/www/html/TeamPass/ Ich habe auch die Ausführungszeitbegrenzung von PHP in der php.ini-Datei auf 60 erhöht: # nano /etc/php/7.4/apache2/php.ini max_execution_time = 60 :wq! Ctrl O Ctrl X ==== Installation Teampass ==== Zu diesem Zeitpunkt wurde der Installationsprozess von Teampass gestartet, in dem ich im Browser auf [[de:http://172.16.56.248/TeamPass|http://172.16.56.248/TeamPass]] ging und von diesem Fenster begrüsst wurde: {{https://raw.githubusercontent.com/SerjoschaE/M431/main/Dokumentation/Bilder/Begr%C3%BCssungsfenster.png|Begrüssungsfenster}} Dann habe ich die Schritte auf dem Bildschirm befolgt, jeweils "Start" geklickt und nachdem die Erfüllung der Dependencies (inkl. dingen wie DB-Verbindungsdaten, Admin-PW etc.) bestätigt wurde auf "Next" geklickt. Schlussendlich musste ich noch das install-Verzeichnis mittels mv /var/www/html/TeamPass/install /dev/null löschen. ===== Einrichten der Objekte ===== ==== Einrichten des Ordners ==== Nach erfolgreicher Anmeldung als admin habe ich einen neuen Ordner im Elternordner Root erstellt, die erforderliche Passwortstärke auf mittel gesetzt, den damit verbundenen Zugriff für Rollen auf schreiben gesetzt mit Erneuerungsperiode 0 und die Erlaubnis ohne erforderliche Passwortstärke items zu erstellen und modifizieren verweigert. ==== Einrichten der Rollen und User ==== Dann habe ich die Rolle Manager mit mittleren Anforderungen an die Passwortstärke erstellt. Im folgenden Schritt habe ich einen User mit Vornamen linux, Nachnamen user, login linux.user und E-Mail-Addresse erstellt. Dieser hat Zugriff auf den vorher erstellten Ordner. ==== Speichern der Testcredentials ==== In diesem Schritt wurde ein Neuer Satz Credentials mit folgenden Daten erstellt und gespeichert: * label * passwort * beschreibung * Ordner * URL * Speichern! ====== Kontrollieren ====== ===== Durchführung der Tests ===== ==== Die VM hat Internetverbindung ==== ^**Testfall Nr.** ^**#1** ^ |Beschreibung |Prüfen, ob die VM per Ping erreichbar ist.| |Testperson |Serjoscha Evci | |Testzeitpunkt |08.07.2022, 15:36 | |Voraussetzung |Die Netzwerkkarte ist richtig konfiguriert| |Erwartetes Resultat |Die VM antwortet | |OK / nicht OK |OK | |Aufgetretene Fehler / Bemerkungen|keine | ==== Das Webinterface ist erreichbar ==== ^**Testfall Nr.** ^**#2** ^ |Beschreibung |Prüfen, ob das Webinterface aufrufbar ist. | |Testperson |Serjoscha Evci | |Testzeitpunkt |08.07.2022, 15:41 | |Voraussetzung |Das Web-Frontend von Teampass ist sauber konfiguriert | |Erwartetes Resultat |Das Webinterface wird beim Öffnen von [[de:http://172.16.56.248/TeamPass/|http:%%//%%172.16.56.248/TeamPass/]] angezeigt| |OK / nicht OK |OK | |Aufgetretene Fehler / Bemerkungen|um Zeit zu sparen nur http ohne s | ==== admin kann sich einloggen ==== ^**Testfall Nr.** ^**#3** ^ |Beschreibung |Prüfen, ob admin sich einloggen kann. | |Testperson |Serjoscha Evci | |Testzeitpunkt |08.07.2022, 15:43 | |Voraussetzung |Die Authentifizierung im Backend ist richtig konfiguriert| |Erwartetes Resultat |Die Startseite von Teampass wird angezeigt | |OK / nicht OK |OK | |Aufgetretene Fehler / Bemerkungen|Keine | ====== Auswerten ====== Kriterien und Fragen in dieser Phase * Rückblick auf das Projekt Das Projekt hat katastrophal angefangen, dann gab es zwischendurch ein Tief, da mir nicht klar war, dass die Dokumentation im GitHub-**Wiki** eingetragen werden muss aber schliesslich habe ich es dann doch noch hingekriegt das Projekt fertigzustellen.\ ==== Auswertung der Erfahrungen ==== Alles in Allem war das Projekt trotz, oder gerade wegen den Schwierigkeiten sehr lehrreich für mich, da ich sehr wichtige Schwächen lokalisieren konnte.\ ==== Welche Probleme wurden gelöst? ==== - Team hat nicht funktioniert (gelöst durch Spaltung in Einzelarbeit)\ - Die Dokumentation war am falschen Ort (GitHub-Markdown gelernt und den damals bestehenden Teil der Doku ins GitHub-Wiki abgeschrieben)\ - Realisieren wurde nicht gespeichert, weil der Tab abgestürzt ist (Neu geschrieben)\ - Ich hoffe dass Drei Beispiele reichen\ ==== Was war erfolgreich? ==== Den Startschwierigkeiten zum Trotz war es erfolgreich, das Projekt durchzuführen und gerade noch rechtzeitig damit fertig zu werden\ ==== Was muss verbessert werden? ==== - Der Anfang muss koordinierter ablaufen, das heisst es darf keine so grossen Anfangskonflikte im Team geben.\ - Das Lernjournal hätte bedingt durch die Startverzögerung zu viel Zeit gefressen\ - Von Anfang an die Dokumentation am korrekten Ort führen\ ==== Fazit und Reflexion ==== Alles in Allem ein Flug mit Turbulenzen, aber ohne auseinandergebrochenes Flugzeug ====== Literaturverzeichnis ====== [0] C. Jacob, „c-jakob," 18 07 2008. [Online]. Available: [[de:http://c-jacob.ch/iperka.pdf|http:%%//%%c-jacob.ch/iperka.pdf]]. [Zugriff am 10 06 2020]. \\ [1] [[de:https://wisdomplexus.com/blogs/self-hosted-password-managers/|https:%%//%%wisdomplexus.com/blogs/self-hosted-password-managers/]] \\ [2] [[de:https://medevel.com/14-web-password-managers/|https:%%//%%medevel.com/14-web-password-managers/]] \\ [3] [[de:https://nerdschalk.com/8-best-self-hosted-password-managers/|https:%%//%%nerdschalk.com/8-best-self-hosted-password-managers/]] \\ [N/A] [[de:https://linuxways.net/ubuntu/how-to-setup-teampass-passwords-manager-on-ubuntu-20-04/|https:%%//%%linuxways.net/ubuntu/how-to-setup-teampass-passwords-manager-on-ubuntu-20-04/]]