Sicherheits-Best-Practices
Sicherheit ist super wichtig, wenn du mit sensiblen Dokumenten und Blockchain-Transaktionen arbeitest. Dieser Leitfaden zeigt dir wichtige Sicherheitsmaßnahmen für die Bereitstellung und Wartung von Chaindoc in Produktionsumgebungen.
Authentifizierung und Autorisierung
Multi-Faktor-Authentifizierung (MFA)
Aktiviere immer die MFA für alle Benutzerkonten, vor allem für Admins und Leute mit besonderen Rechten. Chaindoc unterstützt:
- Zeitbasierte Einmalpasswörter (TOTP) über Authentifizierungs-Apps
- SMS-basierte Verifizierung (weniger sicher, nur bei Bedarf verwenden)
- Hardware-Sicherheitsschlüssel (FIDO2/WebAuthn)
- Biometrische Authentifizierung auf Geräten, die das unterstützen
Richtlinien für sichere Passwörter
Stell sicher, dass strenge Passwortanforderungen gelten:
- Mindestens 12 Zeichen mit Komplexitätsanforderungen
- Passwörter für sensible Konten müssen alle 90 Tage erneuert werden.
- Vermeidung der Wiederverwendung von Passwörtern (die letzten 10 Passwörter)
- Sperre nach 5 fehlgeschlagenen Anmeldeversuchen
- Passwortstärkeanzeige während der Erstellung
Rollenbasierte Zugriffskontrolle (RBAC)
Mach's so, dass die Leute nur die Rechte kriegen, die sie wirklich brauchen:
- Mach die Rollen klar: Betrachter, Redakteur, Administrator, Prüfer
- Nutze detaillierte Berechtigungen für den Zugriff auf Dokumente.
- Überprüfe regelmäßig die Benutzerrollen und lösche unnötige Zugriffsrechte.
- Richte einen zeitbasierten Zugang für befristete Mitarbeiter ein.
- Trenne Aufgaben für wichtige Vorgänge (z. B. Genehmigungsworkflows).
Datenverschlüsselung
Verschlüsselung im Ruhezustand
Alle sensiblen Daten müssen bei der Speicherung verschlüsselt werden:
- Verwende AES-256-Verschlüsselung für die Speicherung von Dokumenten.
- Verschlüssele Datenbank-Backups mit separaten Schlüsseln.
- Speichere Verschlüsselungsschlüssel in einem speziellen Schlüsselverwaltungsdienst (KMS).
- Wechsle die Verschlüsselungsschlüssel alle drei Monate.
- Aktiviere die vollständige Festplattenverschlüsselung auf allen Servern und Workstations.
Verschlüsselung während der Übertragung
Schütze die Daten während der Übertragung:
- TLS 1.3 für alle Verbindungen durchsetzen
- Verwende starke Verschlüsselungssuiten (deaktiviere schwache Verschlüsselungen).
- Implementiere Certificate Pinning für mobile Apps.
- Aktiviere HSTS (HTTP Strict Transport Security).
- Nutze verschlüsselte Kanäle für Blockchain-Transaktionen.
Blockchain-Sicherheit
Verwaltung privater Schlüssel
Private Blockchain-Schlüssel sind das wichtigste Sicherheitselement:
- Speichere private Schlüssel niemals im Klartext oder in Code-Repositorys.
- Benutze Hardware-Sicherheitsmodule (HSMs) für Produktionsschlüssel.
- Nutze Multi-Signatur-Wallets für Transaktionen mit hohem Wert.
- Mach dir wichtige Backup-Verfahren mit sicherer Offline-Speicherung.
- Verwende separate Schlüssel für verschiedene Umgebungen (Entwicklung, Staging, Produktion).
Sicherheit von Smart Contracts
Wenn du benutzerdefinierte Smart Contracts verwendest:
- Mach vor dem Einsatz gründliche Sicherheitsprüfungen.
- Benutz bewährte Muster und vermeid experimentellen Code.
- Setz Not-Aus-Schalter ein.
- Teste alles gründlich in Testnetzen, bevor du es im Mainnet einsetzt.
- Achte auf ungewöhnliche Transaktionsmuster.
Blockchain-Prüfpfade
Nutze die Blockchain für unveränderliche Audit-Protokolle:
- Speichere alle Änderungen am Dokument in der Blockchain.
- Hash-sensitive Vorgänge zur Überprüfung
- Füge Zeitstempel-Nachweise für die Einhaltung der Vorschriften hinzu.
- Überprüfe regelmäßig die Datenintegrität in der Blockchain.
- Blockchain-Transaktionsbelege archivieren
API-Sicherheit
API-Authentifizierung
Sichere alle API-Endpunkte:
- Benutze OAuth 2.0 oder JWT-Token für die Authentifizierung.
- Mach das Ablaufdatum für Tokens klar (15-60 Minuten für Zugriffstokens).
- Wechsel die API-Schlüssel regelmäßig (mindestens alle 90 Tage).
- Benutze für verschiedene Dienste unterschiedliche API-Schlüssel.
- Zeig API-Schlüssel niemals im clientseitigen Code.
Ratenbegrenzung und DDoS-Schutz
Verhindere Missbrauch und Störungen des Dienstes:
- Mach eine Ratenbegrenzung pro API-Schlüssel und IP-Adresse.
- Verwende exponentielles Backoff für fehlgeschlagene Anfragen.
- Setze eine Web Application Firewall (WAF) ein.
- Aktiviere den DDoS-Schutz auf CDN-/Cloud-Anbieterebene.
- Achte auf ungewöhnliche Verkehrsmuster.
Eingabevalidierung und -bereinigung
Schütze dich vor Injektionsangriffen:
- Überprüfe alle Eingabedaten anhand strenger Schemata.
- Überprüfe von Nutzern bereitgestellte Inhalte vor dem Speichern/Anzeigen.
- Benutze parametrisierte Abfragen, um SQL-Injection zu verhindern.
- Implementiere Content Security Policy (CSP)-Header.
- Escape-Ausgabe in allen Kontexten (HTML, JavaScript, URLs)
Infrastruktursicherheit
Netzwerksegmentierung
Isoliere wichtige Teile:
- Trenne Produktions-, Staging- und Entwicklungsumgebungen.
- Benutze VPCs und private Subnetze für sensible Dienste.
- Beschränke den Datenbankzugriff nur auf Anwendungsserver.
- Setze Firewall-Regeln mit Standard-Ablehnungsrichtlinien auf.
- Nutze Jump-Hosts/Bastion-Server für den administrativen Zugriff.
Patch-Management
Halte die Systeme auf dem neuesten Stand:
- Bring Sicherheitspatches innerhalb von 48 Stunden nach der Veröffentlichung an.
- Automatisieren Sie Abhängigkeitsaktualisierungen für nicht relevante Änderungen.
- Container-Images und Basis-Betriebssystem regelmäßig aktualisieren.
- Abonniere Sicherheitshinweise für alle verwendeten Technologien.
- Teste Patches vor der Produktionsbereitstellung in der Staging-Umgebung.
Sicherheit von Containern und Orchestrierung
Bei Verwendung von containerisierten Bereitstellungen:
- Verwende möglichst wenige Basisbilder (Alpine, Distroless).
- Überprüfe Bilder vor der Bereitstellung auf Schwachstellen.
- Lass Container als Nicht-Root-Benutzer laufen.
- Setz Pod-Sicherheitsrichtlinien/-standards um.
- Verwende Geheimnisverwaltung (keine Umgebungsvariablen).
- Aktiviere Netzwerkrichtlinien, um den Datenverkehr zwischen Pods zu beschränken.
Compliance und Prüfung
Einhaltung gesetzlicher Vorschriften
Achte darauf, dass du die relevanten Vorschriften einhältst:
- DSGVO: Recht auf Löschung und Datenübertragbarkeit umsetzen.
- HIPAA: Aktivier die Protokollierung von Audits und Zugriffskontrollen für Gesundheitsdaten.
- SOC 2: Dokumentiere Sicherheitskontrollen und mach jährliche Audits.
- ISO 27001: Implementiere ein Managementsystem für Informationssicherheit.
- Branchenspezifische Vorschriften (z. B. Finanzdienstleistungen, Recht)
Audit-Protokollierung
Führ umfassende Protokolle für Sicherheit und Compliance:
- Protokolliere alle Authentifizierungsversuche (erfolgreiche und fehlgeschlagene).
- Dokumentiere den Zugriff auf Dokumente, Änderungen und Löschungen.
- Verfolge administrative Maßnahmen und Konfigurationsänderungen.
- Speichere Protokolle in einem manipulationssicheren, zentralen System.
- Bewahr die Protokolle mindestens 1 Jahr lang (oder wie vorgeschrieben) auf.
- Sorg für eine Protokollüberwachung und Warnmeldungen bei verdächtigen Aktivitäten.
Regelmäßige Sicherheitsüberprüfungen
Mach regelmäßig Sicherheitsüberprüfungen:
- Mach vierteljährliche Schwachstellenscans.
- Lass jedes Jahr Penetrationstests von Dritten durchführen.
- Überprüfe die Zugriffskontrollen und Benutzerberechtigungen jeden Monat.
- Überprüfe Blockchain-Transaktionen auf Anomalien.
- Teste die Verfahren für Backups und Notfallwiederherstellung vierteljährlich.
Überwachung und Reaktion auf Vorfälle
Sicherheitsüberwachung
Sorg für Echtzeit-Sicherheitsüberwachung:
- SIEM-System (Security Information and Event Management) einrichten.
- Richte Benachrichtigungen für fehlgeschlagene Anmeldeversuche und Privilegienerweiterungen ein.
- Achte auf ungewöhnliche Datenzugriffsmuster.
- Verfolge Anomalien bei der API-Nutzung.
- Benutz Intrusion Detection/Prevention-Systeme (IDS/IPS).
Plan für die Reaktion auf Vorfälle
Mach dich bereit für Sicherheitsvorfälle:
- Dokumentiere die Verfahren zur Reaktion auf Vorfälle.
- Leg Eskalationswege und Kontaktinfos fest.
- Erstell Runbooks für gängige Sicherheitsszenarien.
- Mach vierteljährlich Tabletop-Übungen.
- Kommunikationsprotokolle für Verstöße festlegen
- Forensische Analysefunktionen beibehalten
Sicherung und Notfallwiederherstellung
Sorg dafür, dass alles weiterläuft wie bisher:
- Mach automatische tägliche Backups.
- Speichere Backups an verschiedenen Orten.
- Verschlüssele alle Backup-Daten.
- Überprüfe die Wiederherstellungsprozesse jeden Monat.
- Mach Offline-Backups, um dich vor Ransomware zu schützen.
- Ziel für die Wiederherstellungszeit (RTO) und Ziel für den Wiederherstellungspunkt (RPO)
Entwicklungssicherheit
Sicherer Entwicklungslebenszyklus
Mach Sicherheit zu einem Teil der Entwicklung:
- Mach Code-Reviews mit Fokus auf Sicherheit.
- Nutze Tools für statische Anwendungssicherheitstests (SAST).
- Implementiere Abhängigkeits-Scans in der CI/CD-Pipeline.
- Verlang von allen Entwicklern eine Sicherheitsschulung.
- Speichere niemals Geheimnisse in der Versionskontrolle.
- Nutze Pre-Commit-Hooks, um zu verhindern, dass sensible Daten durchs Netz gehen.
Abhängigkeiten von Drittanbietern
Risiken durch externe Bibliotheken verwalten:
- Aktualisiere Abhängigkeiten regelmäßig auf die neuesten sicheren Versionen.
- Nutze Tools wie Dependabot, Snyk oder npm audit.
- Schau dir die Sicherheitshinweise für die verwendeten Pakete an.
- Mach die Anzahl der Abhängigkeiten so gering wie möglich.
- Überprüfe die Integrität des Pakets und die Reputation des Betreuers.
- Überleg dir, wichtige Abhängigkeiten zu vendoren.
Benutzerschulung und -sensibilisierung
Sicherheit geht uns alle an:
- Mach für alle Nutzer ein Training zum Thema Sicherheitsbewusstsein.
- Mach Schulungen zu Phishing und Social Engineering.
- Mach klare Sicherheitsrichtlinien und -vorgaben.
- Richte Mechanismen ein, um Sicherheitsprobleme zu melden.
- Belohne die verantwortungsvolle Offenlegung von Sicherheitslücken.
- Halte die Sicherheitsdokumente immer auf dem neuesten Stand.
Sicherheits-Checkliste
Check diese Liste ab, bevor du was in die Produktion stellst:
- ✓ MFA für alle Benutzerkonten aktiviert
- ✓ Strenge Passwortrichtlinien durchsetzen
- ✓ RBAC mit geringstmöglichen Berechtigungen
- ✓ Alle Daten werden im Ruhezustand und während der Übertragung verschlüsselt.
- ✓ TLS 1.3 muss auf allen Endpunkten durchgesetzt werden.
- ✓ Private Schlüssel werden in HSM oder einem sicheren Tresor gespeichert.
- ✓ API-Ratenbegrenzung konfiguriert
- ✓ WAF- und DDoS-Schutz aktiviert
- ✓ Eingabevalidierung und -bereinigung implementiert
- ✓ Netzwerk-Segmentierung richtig eingerichtet
- ✓ Alle Systeme sind gepatcht und auf dem neuesten Stand.
- ✓ Umfassende Audit-Protokollierung aktiviert
- ✓ Sicherheitsüberwachung und Warnmeldungen aktiv
- ✓ Plan für die Reaktion auf Vorfälle dokumentiert und getestet
- ✓ Automatische Backups eingerichtet und getestet
- ✓ Sicherheitsscan in der CI/CD-Pipeline
- ✓ Compliance-Anforderungen dokumentiert und erfüllt
Weitere Ressourcen
Mehr Infos zur Sicherheit von Chaindoc:
- OWASP Top 10 der Sicherheitsrisiken für Webanwendungen
- NIST-Cybersicherheits-Framework
- CIS-Sicherheitsbenchmarks
- Best Practices für Blockchain-Sicherheit (Consensys)
- Richtlinien der Cloud Security Alliance
Wenn du Fragen zur Sicherheit hast, schreib unserem Sicherheitsteam unter security@chaindoc.com oder melde Schwachstellen über unser Responsible Disclosure-Programm.