Remote Access

Port-Forwarding

  • Port-Forwarding: Destination-NAT (Network Address Translation; ggf. mit PAT, Port Address Translation) und dem eigenen Router als Zieladresse der Kommunikation
  • typischer Einsatz, eher im Home-Office und Small-Office: externe Verbindung aus dem Internet auf einen Port des Routers, um einen internen Serverdienst anzusprechen. Vorsicht! Oft wird der interne Server in Konfigurationen als „virtueller Server“ bezeichnet
  • im Normalfall ist Port-Forwarding statisch und verweist von einer festen oder DynDNS-Adresse unter einem festgelegten Port oder einer Port-Range auf einen Port oder eine Port-Range unter einer festen internen Adresse

X11-forwarding, Terminal-Dienste und RDP

  • X11 über SSH, wobei SSH ausschließlich ein Remote-Terminal zur Eingabe von Kommandos bereit stellt
  • VNC (Virtual Network Computing)
    – basiert auf dem RFB (Remote Framebuffer Protocol)
    – arbeitet im Standard unverschlüsselt (!)
    – Weiterentwicklungen/Forks (z.B. RealVNC, Tight VNC, Ultra VNC, MacOS X Screensharing) und Zusatzfunktionen (z.B. Authentifizierung, Sicherheit, Datei-Transfer, Chat etc.) erhältlich
    – kann lokale Administrator-Sessions übernehmen – daher u. U. sicherheitskritisch!
  • DameWare Remote Support als umfassendes Remote-Control- und -Support-System mit diversen Features, die weit über die normale Remote-Desktop-Funktion hinausgehen
  • Teamviewer
  • MS-Extrawurst: RDP (Remote Desktop Protokoll)
    – RDP projiziert den Remote-Desktop auf den lokalen Bildschirm und ermöglicht die Übergabe von Peripherie-Ein- und Ausgaben (Tastatur, Maus, Sound, Clipboard etc.)
    – der lokale Bildschirm des Remote-Systems wird gesperrt
    – dahinterliegende Dienste: Remote Desktop Services (vormals Terminal Services bzw. Terminaldienste)
    – Aufbau mithilfe des Microsoft Terminal Services Client (MSTSC.exe) über Port 3389/tcp zum Remote-Computer
    – Verbindung kann getrennt und später wieder aufgenommen werden (! aktive, getrennte Session – z.B. durch Schließen der RDP mit „Schließen-Kreuz“ im Windows-Fenster rechts oben – bedeutet „Benutzer verbraucht Lizenz(en)“ !) oder sie wird durch Abmelden beendet
    – max. zwei Benutzersessions pro System möglich (auch Windows 10 ist kein echtes Multiuser-Betriebssystem!)
    – die Remote-Desktopdienste (Windows Server-Rolle!) – sofern installiert – ermöglichen dagegen parallelen Zugriff

VPN-Verbindungen

  • symmetrische Verschlüsselung:
    symmetrische Verschlüsselung zwischen Alice und Bob. Mallory will an die Botschaft gelangen...
    beide Kommunikationspartner („Alice“ und „Bob“) nutzen denselben Schlüssel zur Ver- und Entschlüsselung, „Mallory“ ist ein technisch versierter Angreifer, der mit Abhören oder Knacken (Kompromittierung) des Schlüssels die Kommunikation abhören und verändern kann
    – wird für die Verschlüsselung des eigentlichen Datenverkehrs verwendet
    – die Vorteile sind kürzere Schlüssellängen (128-512 Bit), gegenüber asymmetrischen Algorithmen weniger CPU-intensiv und geringere Komplexität, da jeder Beteiligte denselben Schlüssel verwendet
    – die Nachteile: das Schlüssel-Austausch-Problem („Wie gelangt der Schlüssel von Alice sicher zu Bob?“) bzw. der zu statische Schlüssel
  • symmetrische Verschlüsselungsalgorithmen:
    – als sicher gilt ein Verschlüsselungsverfahren dann, wenn er offen gelegt wurde und die Krypto-Experten weltweit sich einige Jahre daran probiert und keine Lücke gefunden haben
    DES (Data Encryption Standard): alter Standard mit 56 Bit Schlüssellänge; bei heutiger Rechenleistung nicht mehr sicher
    3DES (TripleDES): erweiterter DES-Standard mit nominal 168 Bit Schlüssellänge, effektiv jedoch nur 112 Bit Länge (DES-Algorithmus wird in 3DES mehrfach hintereinander ausgeführt); gilt noch als relativ sicher, ist aber sehr CPU-intensiv und daher wenig effizient
    AES (Advanced Encryption Standard): aktueller Standard für symmetrische Verschlüsselung mit Schlüssellängen 128, 160, 192, 224 oder 256 Bit (AES-128 bis AES-256); effizienter und weniger CPU-intensiv als 3DES
    Blowfish vom Kryptografie-Guru Bruce Schneier entwickelt und unter Public Domain veröffentlicht, Schlüssellänge zwischen 32 und 448 Bit; gilt als sicher, Schneier selbst empfiehlt aber den neueren Twofish
    Twofish als Nachfolger von Blowfish, Schlüssellängen 128, 192 oder 256 Bit
    IDEA (International Data Encryption Algorithm): von Ascom Systec patentiertes Verfahren, wird in PGP (Pretty Good Privacy, eMail-Verschlüsselungs-Lösung) verwendet; ist unter bestimmten Bedingungen angreifbar, Quellcode nicht offen (!)
  • asymmetrische Verschlüsselung:
    – es wird ein Schlüsselpaar erzeugt mit privatem Schlüssel (private key) und öffentlichem Schlüssel (public key)
    – der private key verbleibt beim Eigentümer des Schlüsselpaares und muss geheim gehalten werden
    – der public key kann öffentlich zugänglich gemacht werden
    – es gilt immer folgende Regel: Inhalt, der mit einem der beiden Schlüssel verschlüsselt wurde, kann nur und ausschließlich mit dem anderen, dazugehörigen Schlüssel wieder entschlüsselt werden
    – asymmetrische Verschlüsselung wird insbesondere genutzt, um das Schlüssel-Austausch-Problem zu lösen: einer der Kommunikationspartner übermittelt dem Gegenüber seinen public key (z.B. via Zertifikat, Schlüssel-Austausch-Webplattform u.a.); der andere Kommunikationspartner erstellt einen Schlüssel für die symmetrische Verschlüsselung, verschlüsselt diesen mit dem public key des Partners und sendet ihm diese verschlüsselte Nachricht zu; nur der Inhaber des private keys kann die mit dem zugehörigen public key verschlüsselte Nachricht wieder öffnen
    – werden Nachrichten mit dem private key verschlüsselt, entsteht eine Signatur
  • asymmetrische Verschlüsselungsalgorithmen:
    RSA (Rivest, Shamir, Adleman): 1977 entstandener Standard zur Public-Key-Verschlüsselung
    DSA (Digital Signature Algorithm): Standard der US-Regierung für digitale Signaturen; Kritik: zusätzliche geheime Kanäle zum Nachrichtenaustausch nutzbar
    Elgamal: 1985 von Taher Elgamal entworfenes Verfahren, welches Verschlüsselung ermöglicht (Kryptosystem) und in anderer Ausprägung als Elgamal Signaturverfahren Signaturen bereit stellt
  • Hash-Algorithmen:
    hash: dt. „zerstückeln
    – eine Hash-Funktion bildet eine Zeichenfolge beliebiger Länge auf eine immer gleichlange Zeichenfolge ab
    – ein Hashwert ist der resultierende Wert (die Zeichenfolge) aus der Hash-Funktion
    – Hash-Algorithmen bilden Einweg-Funktionen, aus dem Hashwert kann sehr schwer („nahezu unmöglich“) wieder die Original-Zeichenkette abgeleitet werden
    – insbesondere eingesetzt zur Passwort-Speicherung: eingegebene Passwörter werden gehasht und mit dem hinterlegten Wert verglichen. Da der gehashte Wert einer bestimmten Zeichenfolge immer nahezu eindeutig ist, können die Hashwerte miteinander verglichen werden, ohne das Passwort selbst abspeichern zu müssen
    – ebenso verwendet zur Integritäts-Prüfung: die gesamte Nachricht wird gehasht, der Hashwert wird mit dem private key des Absenders verschlüsselt, der Empfänger entschlüsselt den Hashwert mit dem dazugehörigen public key und vergleicht mit dem Hashwert, den er selbst beim Hashen der Nachricht erhält. Wenn die Hashwerte nicht übereinstimmen, wurde die Nachricht verändert
  • Hash-Algorithmen, die wichtigsten Vertreter:
    MD5 (Message Digest 5): 1991 entwickelt von Ronald L. Rivest (siehe: RSA!), erzeugt einen 128 Bit Hashwert; gilt nicht mehr als sicher
    SHA-1 (Secure Hash Algorithm): von der NSA (National Security Agency) entwickelt, erzeugt einen 160 Bit Hashwert; gilt nicht mehr als sicher
    SHA-2: basiert auf SHA-1, erzeugt längere Hashwerte (SHA-224, SHA-256, SHA-384, SHA-512); gilt derzeit als sicher trotz der gleichen Schwächen in der Architektur wie SHA-1
    SHA-3: basiert auf Keccak
  • PKI (Public Key Infrastructure):
    für kryptografisch gesicherte Verbindungen benötigt:
    – Austausch der unterstützten Krypto-Algorithmen (symmetrische oder/und asymmetrische Algorithmen und Hash-Algorithmen) – wird im Klartext kommuniziert
    – Sicherstellen der Authentizität der Kommunikationspartner – durch signierte, öffentliche Schlüssel (Zertifikate)
    Austausch des Verschlüsselungs-Schlüssels – über asymmetrische Verschlüsselung mit einem public key
    Zertifikate werden mit einer PKI zur Verfügung gestellt: in einer hierarchischen Struktur mit Stamm-Zertifizierungsstelle (Root-CA, ein gemeinsamer Vertrauensanker für „Alice“ und „Bob“) signiert eine RA (Registration Authority), welche von der Root-CA autorisiert wurde, z.B. den public key von „Bob“. „Alice“ kann nun über die Vertrauenskette prüfen, ob der public key von „Bob“ vertrauenswürdig ist.  Eine RA kann über eine CRL (Certificate Revocation List, Zertifikatssperrliste) zusätzlich nicht mehr vertrauenswürdige Schlüssel entwerten, die „Alice“ ebenso prüfen muss
  • Zertifikate:
    – Zertifikate müssen im System hinterlegt werden
    – PKI-Zertifikate enthalten u.a. folgende Informationen: Zertifikatsinformationen (Aussteller, Inhaber, Gültigkeit…), verwendete Algorithmen, Aussteller- und Inhaber-Attribute (CN, O, OU, C, usw.)
    PKCS (Public Key Cryptography Standards): definieren Spezifikationen der Kryptografie-Systeme, PKCS#7 – Signieren und Verschlüsseln von Dateien, PKCS#12 – sicherer Austausch von public und private keys
    X.509: ITU-IT-Standard zum Erstellen von Public-Key-Zertifikaten, definiert PKI-Zertifikat und CRL, aktuell in der Version X.509v3
  • Das IPsec-Framework
    – Security-Framework als Rahmen für verschlüsselte, kryptografisch abgesicherte Kommunikation
    – die kryptografischen Algorithmen sind nicht festgelegt sondern müssen ausgehandelt werden
    – Spezifikation der Komponenten in RFC 4301:
    a.) AH (Authentication Header): bietet Authentizität, Integrität, aber keine Verschlüsselung
    b.) ESP (Encapsulation Security Payload Protocol): bietet optionale Authentizität, Integrität, und vor allem Verschlüsselung
    c.) IKE (Internet Key Exchange): eine Implementierung des ISAKMP/Oakley-Protokolls, ist ein Schlüsselaustausch-Protokoll, welches PSK (Pre-Shared Key) als auch Public Key, und benutzt dazu zwei Phasen. Mittlerweile gibt es IKEv2
    SA (Security Associations) sind Vereinbarungen zwischen zwei IPSec-Kommunikationspartnern
    SAs sind unidirektional
    – für jede bidirektionale IPsec-Kommunikation werden vier SAs benötigt (für die zwei Ebenen ISAKMP SA und IPsec SA)
    IPsec SA Austausch
    SAs werden durch das Tupel SPI (Security Parameter Index) + IP-Adresse + Algorithmus definiert
  • IPsec Modi:
    – im Transport Mode wird nur die Payload verschlüsselt, der IP-Header bleibt unverändert
    – der Transport Mode bildet SAs zwischen zwei Endpunkten
    IPsec Transport Mode

    – im Tunnel Mode wird das gesamte, ursprüngliche IP-Paket verschlüsselt und ein neuer IP-Header angefügt
    – beim Tunnel Mode werden SAs zwischen zwei IPsec-Gateways definiert
    IPsec Tunnel Mode
  • IPsec Varianten:
    Remote-Access (Client-to-Site, „Roadwarrior VPN“): Verbindung zwischen einem Remote-Host und einem IPsec-Gateway
    Site-to-Site: Verbindung zwischen zwei IPsec-Gateways mit angeschlossenem LAN
  • IPsec in der Praxis:
    1.) IP-Adressen verifizieren
    2.) Konnektivität testen
    3.) ISAKMP-Policy erstellen
    4.) Transform-Set erstellen
    5.) ACL erstellen
    6.) Crypto Map erstellen
    7.) Crypto Map dem ausgehenden Interface zuordnen
    IPsec in der Praxis - Laborbeispiel
  • PSK (Pre-Shared Key) mit Diffie-Hellman Protocol: „zum Schlüsselaustausch ohne Schlüssel“
    – D-H Group 1: 768 Bit Verschlüsselung
    – D-H Group 2: 1024 Bit Verschlüsselung
    – D-H Group 3: 1536 Bit Verschlüsselung
  • VPN-Technologie GRE (Generic Routing Encapsulation):
    – häufig eingesetzt in professionellen Netzwerken
    – GRE ist ein von Cisco entwickeltes, in RFC 2784 spezifiziertes VPN-Protokoll
    – Kommunikation erfolgt unverschlüsselt, daher oft mit IPsec eingesetzt
    – erzeugt eine virtuelle Punkt-zu-Punkt-Verbindung
    – wird oft genutzt um dynamische Routing-Protokolle über VPN-Verbindungen zu nutzen
    VPN-Protokoll GRE
  • SSL-VPNs:
    – SSL/TLS-VPNs stellen eine sichere Verbindung von Endgeräten mit Serversystemen oder TLS-Gateways her
    SSL (Secure Socket Layer) ist ein veraltetes Protokoll zur kryptografisch gesicherten Kommunikation zwischen zwei Endpunkten
    SSLv3 wurde als TLS (Transport Layer Security) v1.0 weiter entwickelt; derzeit gilt nur noch TLSv1.2 als sicher, SSL/TLS wird immer wieder erfolgreich angegriffen siehe z.B. den Poodle-Angriff)
    TLS wird hauptsächlich mit HTTP als HTTPS eingesetzt, kann aber auch andere Protokolle tunneln
    – SSL/TLS basiert auf Zertifikaten (Public Key Verschlüsselung)
  • weitere VPN-Technologien:
    L2TP (Layer 2 Tunneling Protocol): bietet ein VPN auf dem Data Link Layer (Layer 2), Authentifizierung entweder via PAP (Password Authentication Protocol, Klartext!) oder CHAP (Challenge Handshake Authentication Procotol, vertrauensvoll/verschlüsselt), L2TP bietet keine eigene Verschlüsselung, daher oft kombiniert mit IPsec
    L2TPv2 ist eine Erweiterung zum Tunneln des PPP (Point-to-Point-Protocol)
    L2TPv3 ist eine MPLS-Alternative
    PPTP (Point-to-Point-Tunneling-Protocol): unter anderem von MS entworfenes Tunneling-Protokoll für PPP, unterstützt jede Art der Authentifizierung (PAP, CHAP, EAPExtensible Authentication Protocol, wird zum Austausch von Zertifikaten verwendet), war weit verbreitet („benutzerfreundlich implementiert“), wird aber aufgrund zahlreicher Schwachstellen aktuell nicht mehr eingesetzt