RPC – Remote Procedure Call im Detail (Remote Desktop)

RPC (Remote Procedure Call) ist ein Netzwerkprotokoll, das es Anwendungen ermöglicht, Prozeduren auf entfernten Systemen auszuführen, als wären sie lokal aufgerufen worden. Es bildet damit die Grundlage für viele verteilte Systeme und spielt insbesondere in Windows-Umgebungen eine zentrale Rolle.


Konzept und Funktionsweise

RPC abstrahiert die Netzwerkkommunikation, sodass Entwickler sich nicht um Details wie Transportprotokolle oder Datenübertragung kümmern müssen.

Die grundlegende Funktionsweise umfasst:

  • Client: Sendet eine Anfrage mit Parametern an den Server.
  • Server: Führt die angeforderte Prozedur aus und gibt das Ergebnis zurück.
  • Stub-Bibliotheken: Erzeugen Client- und Server-Schnittstellen, um die Netzwerktechnik zu verbergen.

Architektur und Komponenten

  • Portmapper (RPCbind):
    • Läuft typischerweise auf Port 111 (TCP/UDP).
    • Teilt Clients mit, welche Ports für bestimmte RPC-Dienste verwendet werden.
  • Dynamische Ports:
    • RPC-Dienste nutzen oft zufällig zugewiesene Ports über 1024.
    • Der Portmapper vermittelt zwischen Clients und Diensten.
  • Windows-spezifische Erweiterungen:
    • DCOM (Distributed Component Object Model) baut auf RPC auf.
    • Dienste wie Active Directory, Exchange oder WMI setzen auf RPC-Kommunikation.

Typische Einsatzbereiche

  • Active Directory: Replikation von Verzeichnisdiensten zwischen Domain Controllern.
  • Systemverwaltung: Remote-Ausführung von Befehlen über WMI.
  • Verteilte Anwendungen: Kommunikation zwischen verschiedenen Serverkomponenten.

Sicherheitsaspekte

RPC war immer wieder Ziel schwerwiegender Angriffe:

  • EternalBlue: Nutzt Schwachstellen in SMB- und RPC-Diensten, bekannt durch die WannaCry-Ransomware.
  • Remote Code Execution (RCE): Fehler in RPC-Diensten ermöglichen Angreifern die Ausführung beliebigen Codes.
  • DDoS-Verstärkung: Offene RPC-Dienste können für Amplification-Angriffe missbraucht werden.

Schutzmaßnahmen umfassen:

  • Firewall-Regeln: Nur notwendige RPC-Ports freigeben.
  • Aktuelle Patches: Regelmäßiges Schließen bekannter Sicherheitslücken.
  • IDS/IPS-Systeme: Überwachung auf verdächtige RPC-Muster.

Heutige Relevanz und Alternativen

  • RPC ist weiterhin in Windows-Umgebungen unverzichtbar.
  • Für moderne Anwendungen setzen viele Unternehmen heute auf gRPC, REST-APIs oder GraphQL, die über HTTP/2 oder HTTPS laufen.
  • Cloud-Umgebungen bevorzugen standardisierte Protokolle mit besserer Firewall-Kompatibilität.

Im nächsten Teil dieser Serie betrachten wir PPTP (Point-to-Point Tunneling Protocol), ein Protokoll für VPN-Verbindungen, das ebenfalls klassische Layer-5-Funktionen bereitstellt.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert