Maschinenraum/cp.uugrn.org: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 1: | Zeile 1: | ||
= 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:
- systemctl restart nftables
- 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.
- Wartung ankündigen
- /root/sichercp
- systemctl stop cryptpad
- su - cryptpad
- cd /home/cryptpad/cryptpad
- git fetch --depth 1 origin tag VERSION
- git checkout VERSION
- npm ci
- npm run install:components
- ./install-onlyoffice.sh
- exit
- systemctl start cryptpad
Danach prüfen:
- systemctl status cryptpad
- journalctl -u cryptpad -n 100
- https://cp.uugrn.org/checkup/
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:
- BACKUP=$(ls -1t /root/backups/cp-backup-*.tar.gz | head -1)
- mkdir -p /root/restore-test
- tar --acls --xattrs --numeric-owner -C /root/restore-test -xzf "$BACKUP"
Nach der Kontrolle:
- rm -rf /root/restore-test
Notfall-Restore
Bei vollständigem Serververlust:
- Debian 13 installieren
- Node.js 24 und nginx installieren
- passende CryptPad-Version installieren
- npm-Abhängigkeiten und OnlyOffice installieren
- CryptPad stoppen
- Daten aus dem Backup zurückspielen
- Besitzer cryptpad:cryptpad prüfen
- Serverkonfiguration wiederherstellen
- Dienste starten
- 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
```