Benutzer-Werkzeuge

Webseiten-Werkzeuge


open:it:crypto

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
open:it:crypto [2024/06/22 10:15] – Externe Bearbeitung 127.0.0.1open:it:crypto [2025/08/13 15:33] (aktuell) – [Container & Laufwerke verschlüsseln] k@i
Zeile 1: Zeile 1:
-====== Kryptografie ======+====== Datenschutz & Kryptografie ======
 ===== Daten ===== ===== Daten =====
-==== Dateien ====+==== Dateien verschlüsseln ====
 GnuPG = GNU Privacy Guard \\ GnuPG = GNU Privacy Guard \\
 PGP = Pretty Good Privacy PGP = Pretty Good Privacy
  
 +++++ Quellen: |
   * [[https://www.gnupg.org/|Projekt GnuPG]]   * [[https://www.gnupg.org/|Projekt GnuPG]]
   * [[https://www.gnupg.org/gph/en/manual/r899.html|GnuPG Befehle]]   * [[https://www.gnupg.org/gph/en/manual/r899.html|GnuPG Befehle]]
   * [[https://wiki.ubuntuusers.de/GnuPG/|GnuPG bei Ubuntuusers]]   * [[https://wiki.ubuntuusers.de/GnuPG/|GnuPG bei Ubuntuusers]]
   * [[https://www.gnupg.org/download/index.html|GnuPG-Software (auch für Windows-Systeme)]]   * [[https://www.gnupg.org/download/index.html|GnuPG-Software (auch für Windows-Systeme)]]
 +++++
  
-Installation +Installation((gnuPG2 is an encryption tool that includes digital signatures and certificates.)) 
-  sudo apt-get install gnupg2+  sudo apt install gnupg2
  
 === Verschlüsseln mit Passwort === === Verschlüsseln mit Passwort ===
Zeile 26: Zeile 28:
 Für das verschlüsseln wird ein Schlüsselpaar benötigt. Mit dem öffentlichen Schlüssel wird verschlüsselt, den kann jeder haben. So ist es kein Problem diesen auf der eigenen Webseite zu veröffentlichen. Mit dem privaten Schlüssel wird entschlüsselt, der muss geheim bleiben. Verschlüsselt ein Dritter mit dem öffentlichen Schlüssel, kann auch dieser die Datei nicht mehr ohne den privaten Schlüssel entschlüsseln. da er i.d.R. das Original besitzt, ist das auch nicht notwendig. Für das verschlüsseln wird ein Schlüsselpaar benötigt. Mit dem öffentlichen Schlüssel wird verschlüsselt, den kann jeder haben. So ist es kein Problem diesen auf der eigenen Webseite zu veröffentlichen. Mit dem privaten Schlüssel wird entschlüsselt, der muss geheim bleiben. Verschlüsselt ein Dritter mit dem öffentlichen Schlüssel, kann auch dieser die Datei nicht mehr ohne den privaten Schlüssel entschlüsseln. da er i.d.R. das Original besitzt, ist das auch nicht notwendig.
  
-<WRAP alert>+<WRAP important>
 **Der private Schlüssel muss unbedingt vor fremdem Zugriff geschützt bleiben!** \\ **Der private Schlüssel muss unbedingt vor fremdem Zugriff geschützt bleiben!** \\
 Das gilt auch für den wie u.a. exportierten Schlüssel für die E-Mail-Nutzung. \\ Das gilt auch für den wie u.a. exportierten Schlüssel für die E-Mail-Nutzung. \\
Zeile 75: Zeile 77:
   gpg2 --verify test.txt.asc   gpg2 --verify test.txt.asc
  
-==== E-Mails ====+==== E-Mails verschlüsseln ====
 [[https://support.mozilla.org/de/kb/nachrichten-digital-signieren-und-verschlusseln|E-Mails digital signieren und verschlüsseln]] \\ [[https://support.mozilla.org/de/kb/nachrichten-digital-signieren-und-verschlusseln|E-Mails digital signieren und verschlüsseln]] \\
  
Zeile 94: Zeile 96:
 Abhängig von der notwendigen Sicherheitsstufe sollte auch die Komplexität bzw. die Länge des Passwortes gewählt werden. Einfache Passwörter sind ungeeignet, letztlich nur für unwichtige Dokumente richtig und dann kann man auch Unverschlüsselt senden. Abhängig von der notwendigen Sicherheitsstufe sollte auch die Komplexität bzw. die Länge des Passwortes gewählt werden. Einfache Passwörter sind ungeeignet, letztlich nur für unwichtige Dokumente richtig und dann kann man auch Unverschlüsselt senden.
  
-==== Partitionen ====+==== Partitionen verschlüsseln ====
 Handelt es sich um die Systempartition, muss dies bereits während der Installation des OS erfolgen. \\ Handelt es sich um die Systempartition, muss dies bereits während der Installation des OS erfolgen. \\
 Achtung: Muss ein Server mit verschlüsseltem System neu gestartet werden, dann kann man dies __nicht aus der Ferne__ durchführen. Das Passwort muss lokal, vor Ort eingegeben werden!!! \\ Achtung: Muss ein Server mit verschlüsseltem System neu gestartet werden, dann kann man dies __nicht aus der Ferne__ durchführen. Das Passwort muss lokal, vor Ort eingegeben werden!!! \\
Zeile 108: Zeile 110:
  
 Mit cryptsetup (LVM-LUKS) \\ Mit cryptsetup (LVM-LUKS) \\
-**/dev/nvme0n1p3** = verschlüsselte Partition. \\ +Anzeige der Header-Information((**/dev/nvme0n1p3** = die hier gewählte verschlüsselte Partition))
-Anzeige der Header-Information+
   sudo cryptsetup luksDump /dev/nvme0n1p3   sudo cryptsetup luksDump /dev/nvme0n1p3
 Anzeige Status: Anzeige Status:
   sudo cryptsetup status /dev/nvme0n1p3_crypt   sudo cryptsetup status /dev/nvme0n1p3_crypt
-Passwort: Bis zu 8 Passwörter/Slots möglich (Keyslot 0 bis 7) / Vor dem Löschen immer erst neues anlegen \\+Passwort: Bis zu 8 Passwörter/Slots möglich (Keyslot 0 bis 7)\\
 Neues Passwort/Slot anlegen Neues Passwort/Slot anlegen
   sudo cryptsetup luksAddKey /dev/nvme0n1p3   sudo cryptsetup luksAddKey /dev/nvme0n1p3
-Passwort/Slot löschen <SLOT> = 0 bis 7+Passwort/Slot löschen <SLOT> = 0 bis 7((Vor dem Löschen ein neues anlegen!!!))
   sudo cryptsetup luksKillSlot /dev/nvme0n1p3 <SLOT>   sudo cryptsetup luksKillSlot /dev/nvme0n1p3 <SLOT>
 +Passwort ändern
 +  sudo cryptsetup luksChangeKey /dev/nvme0n1p3
  
-==== Container & Laufwerke ====+==== Container & Laufwerke verschlüsseln ====
  
 === LUKS === === LUKS ===
Zeile 125: Zeile 128:
  
 === Veracrypt === === Veracrypt ===
 +
 +<WRAP important>
 +**Wenn es wirklich sicher sein muss:** \\
 +a) VeraCrypt kann ein **verstecktes Laufwerk** (hidden volume) erstellen. Dabei werden zwei verschiedene Passwörter für den selben Container vergeben. Und je nach Passworteingabe wird das sichtbare oder das versteckte Volumen geöffnet. Veracrypt empfiehlt, während der Installation in das sichtbare Laufwerk einige Daten zu legen, die vermeintlich wichtig sind - falls man **ein** Passwort, z.B. bei Entführung, verraten muss. Erst anschließend wird das versteckte Volumen erstellt. Das sichtbare Volumen sollte man dann nicht mehr verändern (keine neuen Daten aufspielen), weil dadurch das versteckte Volumen zerstört werden könnte. \\
 +
 +b) Liegt der verschlüsselte Container auf einem entfernten Server, dann sollte dieser nicht auf dem Server "geöffnet" werden, sondern auf dem lokalen System. Dadurch wird nur der verschlüsselte Container Online übertragen und nicht die darin enthaltenen Dateien bzw. Daten, wodurch die Datenübertragung zusätzlich gesichert ist. Die räumliche Trennung von Containerablage (auf dem Server) und Passworteingabe (auf dem lokalen System) macht zusätzlich Sinn, damit das PW nicht in irgendeinem Zwischenspeicher auf dem Server erhalten bleiben kann.\\
 +
 +c) In der Standardeinstellung von Veracrypt bleibt die **Änderungszeit** der Containerdateien erhalten, auch wenn deren Inhalt verändert wurde. Dadurch ist auch der Zeitpunkt der letzten Änderung von außen nicht sichtbar.\\
 +Einstellung über die GUI-Anwendung: Einstellungen -> Voreinstelllungen -> "Änderungszeiten von Containerdateien erhalten". \\
 +Hinweis: Soll jedoch von einer Containerdatei regelmäßig ein Backup erstellt oder diese synchronisiert werden (Nextcloud, etc.), kann ggf. nicht erkannt werden, ob sich innerhalb des Containers Änderungen ergeben haben und der Vorgang kann scheitern. Lösung: Auf betroffenen Systemen o.a. Änderungszeiten ... erhalten -> **abschalten**. Die Änderung bezieht sich auf das System und nicht auf den Container!\\
 +</WRAP>
 +
 Hier Installation und Befehle über Konsole. \\ Hier Installation und Befehle über Konsole. \\
 Beispielhaft für ein verschlüsseltes und am Server angeschlossenes USB-Speichermedium. Beispielhaft für ein verschlüsseltes und am Server angeschlossenes USB-Speichermedium.
Zeile 131: Zeile 146:
 https://github.com/arcanecode/VeraCrypt-CommandLine-Examples/blob/main/Linux/post.md https://github.com/arcanecode/VeraCrypt-CommandLine-Examples/blob/main/Linux/post.md
    
-Download Programm +Download Programm über Konsole mit\\ 
-  wget https://launchpad.net/veracrypt/trunk/1.25.9/+download/veracrypt-console-1.25.9-Debian-11-amd64.deb +  wget https://launchpad.net/veracrypt/trunk............deb 
-Versionsnummer entsprechend der aktuellen bzwverwendeten Version anpassen\\+Pfad & Dateiname holen unter https://www.veracrypt.fr/en/Downloads.html 
 Installation Installation
-  sudo apt install ./veracrypt-console-1.25.9-Debian-11-amd64.deb+  sudo apt install ./veracrypt-console-.........deb
  
 Anzeige der Speichermedien Anzeige der Speichermedien
Zeile 157: Zeile 173:
  
 === Veracrypt Auto-Mount === === Veracrypt Auto-Mount ===
-Soll eine Partition oder eine Container-Datei automatisch nach dem Einloggen eingebunden werden, dann muss hierfür auch das Passwort auf dem PC hinterlegt werden. Wenn dies in einem __nicht__ geschützten Bereich erfolgt, dann ist das grundsätzlich problematisch, da auch ein Angreifer, der im Besitz des Gerätes ist, das Passwort auf der Festplatte finden kann. Hier würde sich [[#Variante 1|Variante 1]] anbieten. \\ +Soll eine Partition oder eine Container-Datei automatisch nach dem Einloggen eingebunden werden, dann muss hierfür auch das Passwort auf dem ungeschützten Teil des PCs hinterlegt werden. Das ist grundsätzlich problematisch, da auch ein potentieller Angreifer, der im Besitz des Gerätes ist, das Passwort auf der Festplatte finden kann. Trotzdem: [[#Variante 1|Variante 1]]. \\ 
-Ist die Systemplatte geschützt, Passworteingabe bereits beim Booten des Rechners, kann das Passwort für weitere Festplatten in diesem geschützten Bereich abgelegt werden. Siehe  [[#Variante 2|Variante 2]].+Ist die Systemplatte geschützt, Passworteingabe bereits beim bzw. zum Booten des Rechners erforderlich, kann das Passwort für weitere Festplatten in dem dadurch geschützten Bereich abgelegt werden. Siehe  [[#Variante 2|Variante 2]].
  
 == Variante 1 == == Variante 1 ==
Zeile 217: Zeile 233:
  
 ===== Datenübertragung ===== ===== Datenübertragung =====
-==== SSH ==== +Siehe auch [[open:it:net#netzwerktraffic_analysieren|Netzwerktraffic analysieren]] 
 + 
 +==== SSH-Verbindungen ==== 
 Secure Shell oder SSH bezeichnet ein kryptographisches Netzwerkprotokoll für den sicheren Betrieb von Netzwerkdiensten über ungesicherte Netzwerke. \\ Secure Shell oder SSH bezeichnet ein kryptographisches Netzwerkprotokoll für den sicheren Betrieb von Netzwerkdiensten über ungesicherte Netzwerke. \\
 Siehe [[open:it:ssh|SSH-Verbindungen]]. Siehe [[open:it:ssh|SSH-Verbindungen]].
-==== VPN ====+==== VPN-Tunnel ====
 Virtual Private Network (deutsch „virtuelles privates Netzwerk“; kurz: VPN) bezeichnet eine Netzwerkverbindung, die von Unbeteiligten nicht einsehbar ist. \\ Virtual Private Network (deutsch „virtuelles privates Netzwerk“; kurz: VPN) bezeichnet eine Netzwerkverbindung, die von Unbeteiligten nicht einsehbar ist. \\
 Siehe [[open:it:vpn|WireGuard - VPN-Server]] Siehe [[open:it:vpn|WireGuard - VPN-Server]]
-==== TLS/SSL ====+==== Webseiten mit TLS/SSL ====
 Transport Layer Security (TLS, englisch für „Transportschichtsicherheit“), auch bekannt unter der Vorgängerbezeichnung Secure Sockets Layer (SSL), ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet. \\ Transport Layer Security (TLS, englisch für „Transportschichtsicherheit“), auch bekannt unter der Vorgängerbezeichnung Secure Sockets Layer (SSL), ist ein Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet. \\
 Siehe [[open:it:apache#SSL-Zertifikate|SSL-Verbindung mit Apache Web-Server]] Siehe [[open:it:apache#SSL-Zertifikate|SSL-Verbindung mit Apache Web-Server]]
-==== SFTP/FTP ====+==== Datenübertragung mit SFTP/FTP ====
 **SFTP**: SSH File Transfer Protocol bzw. Secure File Transfer Protocol, ein Netzwerkprotokoll \\ **SFTP**: SSH File Transfer Protocol bzw. Secure File Transfer Protocol, ein Netzwerkprotokoll \\
 **FTP**: File Transfer Protocol ohne Verschlüsselung & Signatur. \\ **FTP**: File Transfer Protocol ohne Verschlüsselung & Signatur. \\
 Siehe [[open:it:apache#FTP-Zugang|FTP-Zugang]] Siehe [[open:it:apache#FTP-Zugang|FTP-Zugang]]
 ==== E-Mails ==== ==== E-Mails ====
-Siehe oben unter [[#E-Mails|E-Mails]]+Die Verbindungssicherheit erfolgt i.d.R. über den E-Mail-Provider in Kombination mit der Einrichtung des E-Mail-Programms.\\ 
 +Im Falle des Betriebs eines eigenen E-Mail-Servers siehe: [[open:it:mailserver|Mail-Server]]. \\ 
 +Ist die Übertagungssicherheit nicht gewährleistet, kann entweder die gesamte [[#E-Mails verschlüsseln|E-Mail verschlüsselt]] oder [[#Dateien verschlüsseln|verschlüsselte Dateien]] mit der E-Mail gesandt werden. 
 +===== Identität schützen ===== 
 +==== Internet Surfen mit Tor ==== 
 +Mit dem [[https://www.torproject.org/|Tor Browser]] anonym bleiben. Gegen Verfolgung und Überwachung verteidigen, Zensur umgehen. \\ 
 + 
 +Tor läuft über verschlüsselte End-to-End-Verbindungen und ist vernetzt über diverse Server in diversen Ländern. Mit Tor surft man anonym und es ist nicht möglich, eine Verbindung zwischen den abgerufenen Inhalten und dem Abrufenden herzustellen – Verfolgung auch nicht möglich für: Netzanbieter, Abhörende, Seitenbetreiber oder Google-Analytics. \\ 
 +Die Route der Daten verläuft über mehrere Länder. Die Start- und Endpunkte der Route werden von Tor frei, vermutlich zufällig, ausgewählt.\\ 
 + 
 +Die Route kann auch manuell eingestellt werden. \\ 
 +Das hat allerdings zwei Nachteile: \\ 
 +  - kann zu Verlusten bei der Performance führen. Das Suchen nach passenden Servern dauert ggf. länger. 
 +  - es ist weniger sicher, da sich wiederholende Pfade und Muster eher nachvollziehen lassen.  
 +Das sollte also nur gemacht werden, wenn es triftige Gründe dafür gibt. Sinniger weise sollte es später, wenn der Grund weggefallen ist, wieder rückgängig gemacht werden. \\ 
 +Möchte man simulieren, sich in einem bestimmten Land aufzuhalten, z.B. weil bestimmte Internet-Angebote auf ein Land begrenzt sind, oder gerade eben nicht verboten sind (ohne Zensur), genügt es den ExitNode einzutragen. \\ 
 + 
 +Datei torrc aufrufen. Pfad entsprechend ergänzen: \\ 
 +  nano .../tor-browser/Browser/TorBrowser/Data/Tor/torrc 
 + 
 +Am Ende Einfügen: \\ 
 +  EntryNodes {gb} StrictNodes 1 
 +  ExitNodes {ca} StrictNodes 1 
 + 
 +{gb} = Ländercodes. Beispiele DE = Deutschland, GB = United Kingdom, CA = Kanada. \\ 
 +Groß-Klein-Schreibung nicht relevant. \\ 
 +**StrictNodes**: \\ 
 +1 = nur dieses Land darf verwendet werden. Suche nach passenden Servern kann ggf. lange dauern. \\ 
 +0 = dieses Land bevorzugt verwenden. \\ 
 + 
 +Auf dem Debian 10 habe ich Tor zunächst über Discover installiert. Mit dieser Installation hat die Länderkonfiguration nicht geklappt. Download über die Internetseite [[https://www.torproject.org/download/|torprojekt.org]], entpacken und starten hat problemlos geklappt. \\
  
 +Quellen: \\
 +  * [[https://de.wikihow.com/Im-Tor-Browser-ein-bestimmtes-Land-einstellen|wikihow.de]]
 +  * [[https://wiki.ubuntuusers.de/Tor/Konfiguration/|ubuntuusers]]
 +  * [[https://www.laenderdaten.info/laendercodes.php|Ländercodes]]
  
-~~DISCUSSION~~ 
open/it/crypto.1719044136.txt.gz · Zuletzt geändert: von 127.0.0.1