Maschinenraum/cp.uugrn.org: Unterschied zwischen den Versionen

Aus UUGRN
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
```text
= cp.uugrn.org =
= cp.uugrn.org =
;Admin Kontakt: sh[at]uugrn.org
;Hostname: cp.uugrn.org
;Aufgabe: Plattform für Echtzeit-Er-/Bearbeitung von Texten, Tabellen, Präsentationen, Kanban, Terminfindung…
==== Beschreibung ====
Ein CryptPad sind Inhalte, die gemeinsam und gleichzeitig (kollaborativ) erarbeitet werden können. Im Vergleich zu Etherpad sind die Inhalte verschlüsselt auf dem Server gespeichert. Die Software ermöglicht das Erstellen und Bearbeiten von Inhalten mit mehreren Personen gleichzeitig. Es gibt verschiedene Dokumenttypen.
[https://gnulinux.ch/cryptpad-zusammen-an-dokumenten-arbeiten Anleitung an Dokumenten arbeiten]


{| class="wikitable"
{| class="wikitable"

Version vom 2. August 2026, 11:04 Uhr

cp.uugrn.org

Admin Kontakt
sh[at]uugrn.org
Hostname
cp.uugrn.org
Aufgabe
Plattform für Echtzeit-Er-/Bearbeitung von Texten, Tabellen, Präsentationen, Kanban, Terminfindung…

Beschreibung

Ein CryptPad sind Inhalte, die gemeinsam und gleichzeitig (kollaborativ) erarbeitet werden können. Im Vergleich zu Etherpad sind die Inhalte verschlüsselt auf dem Server gespeichert. Die Software ermöglicht das Erstellen und Bearbeiten von Inhalten mit mehreren Personen gleichzeitig. Es gibt verschiedene Dokumenttypen.

Anleitung an Dokumenten arbeiten

Bereich Wert
URL https://cp.uugrn.org
Sandbox https://sandboxcp.uugrn.org
Betriebssystem Debian 13.6 (Trixie)
CryptPad v2026.5.1
nginx 1.30.4
Node.js 24.18.1
Installation /home/cryptpad/cryptpad
Benutzer cryptpad

CryptPad dient zur verschlüsselten gemeinsamen Bearbeitung von Dokumenten. Der öffentliche Zugriff erfolgt über nginx. CryptPad selbst ist nur über Loopback erreichbar.

Betrieb

Dienste

  • CryptPad: systemctl status cryptpad
  • nginx: systemctl status nginx
  • SSH: systemctl status ssh
  • nftables: systemctl status nftables
  • Fail2ban: systemctl status fail2ban
  • Fehlerhafte Dienste: systemctl --failed

CryptPad:

  • Starten: systemctl start cryptpad
  • Stoppen: systemctl stop cryptpad
  • Neustarten: systemctl restart cryptpad
  • Log: journalctl -u cryptpad -f

nginx:

  • Konfiguration prüfen: nginx -t
  • Neu laden: systemctl reload nginx

CryptPad-Diagnose:

SSH

Administrativer Benutzer: adminBenutzer

Anmeldung:

  • ssh -4 -i ~/.ssh/ssh-rsa-private-4096-key adminBenutzer@cp.uugrn.org
  • anschließend sudo -i

SSH-Härtung:

  • direkter Root-Login deaktiviert
  • Passwort-Login deaktiviert
  • ausschließlich Public-Key-Authentifizierung
  • Zugriff nur für Mitglieder der Gruppe sshusers
  • LoginGraceTime 30
  • MaxAuthTries 3
  • MaxStartups 10:30:30
  • PerSourceMaxStartups 3

Prüfung:

  • sshd -t
  • sshd -T

Netzwerk und Firewall

Port Dienst
22/tcp SSH
80/tcp HTTP
443/tcp HTTPS

CryptPad lauscht intern auf Loopback, unter anderem auf Port 3000 und 3003.

nftables:

  • Konfiguration: /etc/nftables.conf
  • Regeln: nft list ruleset
  • Tabellen: nft list tables

Standardrichtlinien:

  • INPUT DROP
  • FORWARD DROP
  • OUTPUT ACCEPT

Fail2ban schützt zusätzlich den SSH-Dienst.

  • Konfiguration: /etc/fail2ban/jail.d/sshd.local
  • 4 Fehlversuche innerhalb von 10 Minuten
  • Sperrdauer 1 Stunde
  • Status: fail2ban-client status sshd

Nach einem Neustart von nftables auch Fail2ban neu starten:

  1. systemctl restart nftables
  2. systemctl restart fail2ban

Updates

Debian-Sicherheitsupdates werden automatisch über unattended-upgrades installiert.

Manuell aktualisiert werden:

  • normale Debian-Updates
  • Node.js
  • nginx
  • CryptPad

Automatische Neustarts sind deaktiviert.

Prüfung:

  • apt update
  • apt list --upgradable
  • unattended-upgrade --dry-run

Neustartbedarf:

  • test -f /var/run/reboot-required && cat /var/run/reboot-required

CryptPad aktualisieren

Vor jedem Update die Release Notes der Zielversion lesen und ein Backup erstellen.

  1. Wartung ankündigen
  2. /root/sichercp
  3. systemctl stop cryptpad
  4. su - cryptpad
  5. cd /home/cryptpad/cryptpad
  6. git fetch --depth 1 origin tag VERSION
  7. git checkout VERSION
  8. npm ci
  9. npm run install:components
  10. ./install-onlyoffice.sh
  11. exit
  12. systemctl start cryptpad

Danach prüfen:

Zusätzlich Anmeldung, Pads, Datei-Upload und OnlyOffice testen.

Backup

Backup-Skript:

  • /root/sichercp

Backup-Verzeichnis:

  • /root/backups/

Aufbewahrung:

  • 180 Tage

Gesichert werden insbesondere:

  • data/
  • datastore/
  • block/
  • blob/
  • config/config.js
  • customize/
  • onlyoffice-conf/
  • nginx-Konfiguration
  • SSH-Konfiguration
  • nftables
  • Fail2ban
  • APT-Konfiguration
  • systemd-Konfiguration
  • Paket- und Versionsinformationen

Nicht gesichert werden reproduzierbare Daten:

  • .git/
  • node_modules/
  • www/
  • OnlyOffice-Distribution

Aktuelle Backupgröße: etwa 133 MB.

Backup erstellen:

  • /root/sichercp

Backups anzeigen:

  • ls -lh /root/backups/

Hinweis: Die Backups liegen derzeit ausschließlich lokal auf dem Server. Gegen einen vollständigen Verlust der VM besteht damit kein Schutz.

Restore

Backup testweise entpacken:

  1. BACKUP=$(ls -1t /root/backups/cp-backup-*.tar.gz | head -1)
  2. mkdir -p /root/restore-test
  3. tar --acls --xattrs --numeric-owner -C /root/restore-test -xzf "$BACKUP"

Nach der Kontrolle:

  1. rm -rf /root/restore-test

Notfall-Restore

Bei vollständigem Serververlust:

  1. Debian 13 installieren
  2. Node.js 24 und nginx installieren
  3. passende CryptPad-Version installieren
  4. npm-Abhängigkeiten und OnlyOffice installieren
  5. CryptPad stoppen
  6. Daten aus dem Backup zurückspielen
  7. Besitzer cryptpad:cryptpad prüfen
  8. Serverkonfiguration wiederherstellen
  9. Dienste starten
  10. CryptPad vollständig testen

Wichtige Pfade

Bereich Pfad
CryptPad /home/cryptpad/cryptpad
Konfiguration /home/cryptpad/cryptpad/config/config.js
Anpassungen /home/cryptpad/cryptpad/customize/
nginx /etc/nginx/
SSH /etc/ssh/
Firewall /etc/nftables.conf
Fail2ban /etc/fail2ban/
Backup-Skript /root/sichercp
Backups /root/backups/

Regelmäßige Kontrolle

  • Dienste: systemctl --failed
  • Ports: ss -lntup
  • Firewall: nft list ruleset
  • Fail2ban: fail2ban-client status sshd
  • Updates: apt list --upgradable
  • Speicherplatz: df -h
  • Warnungen: journalctl -p warning..alert --since today

Dokumentation

```