Ratgeber: VPN, private E-Mail und Handbuch für Verteidiger

Wie VPNs funktionieren und wie du das passende findest, in fünf Stufen bis zu den Messbelegen. Dazu private E-Mail und ein Handbuch für Verteidiger.

Ist ein VPN neu für dich, fang bei Stufe 0 an. Hast du eine bestimmte Frage, spring direkt in die passende Stufe. Jeder Ratgeber ist kurz, erklärt jeden Fachbegriff und verlinkt die Seite, auf der du die Zahlen selbst nachprüfen kannst.

VPN

Stufe 0: Grundlagen

Was ein VPN ist, was es tut und ob du eines brauchst.

Stufe 1: Erste Schritte

Ein VPN auswählen, einrichten und prüfen, ob es funktioniert.

Stufe 2: Den Anbieter kennen

Wer hinter einem VPN steht, was er trackt und was seine Zahlen bedeuten.

Stufe 3: So funktioniert es

Protokolle, Verschlüsselung, Leaks und Geoblocking, einfach erklärt.

Stufe 4: Profi

Wie Messungen Server verorten und wie man die Belege liest.

Private E-Mail

Handbuch für Verteidiger

Nachschlagetabellen für die Überwachung von Industrie- und Büronetzen.

Ports und Protokolle

Viele Industrieprotokolle wurden ohne Verschlüsselung und ohne Anmeldung entwickelt. Die gesicherten Varianten kamen später, oft auf einem eigenen Port.

Industrieprotokolle
ProtokollPortWofürGesicherte Variante
Modbus/TCPTCP 502Industrieautomation in allen Branchen: Steuerungen (SPS), Fernwirkgeräte, Sensoren, EnergiezählerModbus/TCP Security: TLS mit Zertifikaten und Rollen (TCP 802)
DNP3TCP 20000Leittechnik von Energieversorgern, auch Wasser, Öl und Gas; in Nordamerika vorherrschendSecure Authentication (SAv5); DNP3 über TLS (19999)
IEC 60870-5-104TCP 2404Fernwirktechnik für Stromnetze, vor allem außerhalb NordamerikasTLS (IEC 62351-3) plus Authentifizierung (IEC 62351-5) (TCP 19998)
ICCP (TASE.2)TCP 102Datenaustausch zwischen den Leitstellen der NetzbetreiberSecure ICCP: ICCP über TLS (TCP 3782)
S7comm (ISO-TSAP)TCP 102Siemens-S7-Steuerungen: Programmierung, HMI, Datenaustausch; über denselben Port läuft auch MMS (IEC 61850, ICCP)TLS für S7-1200 und S7-1500, Standard seit TIA Portal V17; das klassische S7comm hat keine
EtherNet/IP, CIPTCP 44818, UDP 2222Fabrikautomation: 44818 für Nachrichten, 2222 für zyklische E/ACIP Security (TLS und DTLS) (2221)
PROFINETSchicht 2 (EtherType 0x8892); UDP 34962–34964Fabrikautomation: Echtzeit-E/A und Vergabe der Gerätenamen (DCP) laufen direkt auf Ethernet; UDP 34964 baut Verbindungen aufSicherheitsklassen 1 bis 3 (34965, 34966)
OPC UATCP 4840Herstellerunabhängiger Datenaustausch, der Nachfolger von OPC Classic; UDP 4840 für Publish-SubscribeEingebaut: Sicherheitsmodi None, Sign und SignAndEncrypt (4843)
OPC DA (OPC Classic)TCP 135, dann ein Port aus 49152–65535Älteres, Windows-basiertes OPC über DCOMKeine im Protokoll; Windows erzwingt seit dem 14. März 2023 eine strengere DCOM-Authentifizierung
BACnet/IPUDP 47808Gebäudeautomation: Heizung, Lüftung, Beleuchtung, ZutrittskontrolleBACnet Secure Connect: TLS über WebSockets
Büro- und Netzwerkprotokolle, die auch in Anlagen laufen
ProtokollPortWofürGesicherte Variante
SMBTCP 445Datei- und Druckerfreigabe unter WindowsVerschlüsselung und Signierung in SMB 3; SMB über QUIC mit TLS 1.3 (UDP 443)
NetBIOSUDP 137, 138, TCP 139Ältere Windows-Namensauflösung und SMB1; ab SMB2 werden diese Ports nicht genutztKeine
LLMNRUDP 5355Windows-Namensauflösung, wenn DNS versagt; Angreifer schicken gefälschte Antworten, um Anmeldedaten zu sammelnKeine
mDNSUDP 5353Namensauflösung in der Domain .local: Drucker, IoT-Geräte, Apple BonjourKeine
DNSUDP, TCP 53Namensauflösung; TCP für große Antworten und ZonentransfersDNS über TLS und über QUIC (853), über HTTPS (443); DNSSEC signiert, verschlüsselt aber nicht
DHCPUDP 67, 68Automatische IPv4-Adressen; DHCPv6 nutzt UDP 546 und 547Keine verbreitete Variante
SNMPUDP 161, 162Überwachung von Netzwerkgeräten: 161 für Abfragen, 162 für TrapsSNMPv3 mit Authentifizierung und Verschlüsselung oder SNMP über TLS und DTLS; die Versionen 1 und 2c senden den Community-String im Klartext (10161, 10162)
SyslogUDP 514Logmeldungen; TCP 514 ist für rsh registriert, nicht für SyslogSyslog über TLS (TCP 6514)
FTPTCP 21, 20Dateiübertragung im Klartext: 21 für Befehle, 20 für Daten im aktiven ModusFTPS (TLS); SFTP ist ein eigenes Protokoll innerhalb von SSH (990, TCP 22)
TelnetTCP 23Fernkonsole im Klartext, Passwörter inklusiveSSH (TCP 22)
LLDP, CDPSchicht 2Nachbarerkennung zwischen Switches und Geräten, mit Namen, Softwareversionen und VLANs; PROFINET nutzt LLDP für seine TopologieKeine
ARPSchicht 2 (EtherType 0x0806)Ermittelt im lokalen Netz die MAC-Adresse zu einer IPv4-AdresseKeine: Antworten werden nicht authentifiziert
ICMPIP-Protokoll 1 (ICMPv6: 58)Ping und Fehlermeldungen; bei IPv6 auch NachbarerkennungKeine

Wireshark-Anzeigefilter

Gib sie in die Filterleiste von Wireshark ein, um einen Mitschnitt auf ein Protokoll oder auf Warnzeichen einzugrenzen. Die Feldnamen sind mit der Referenz der Wireshark-Anzeigefilter abgeglichen.

FilterZeigt
modbus || mbtcpDer gesamte Modbus/TCP-Verkehr: Header (mbtcp) und Befehl (modbus)
modbus.func_code in {5,6,15,16,23}Modbus-Befehle, die Coils oder Register schreiben
modbus.exception_codeModbus-Fehlerantworten; nur sie haben dieses Feld
mbtcp.unit_id == 1Modbus-Verkehr zu einem Gerät hinter einem Gateway (Unit 1)
s7commSiemens-S7-Kommunikation, seit Wireshark 2.0 eingebaut
dnp3DNP3
iec60870_104 || iec60870_asduIEC 60870-5-104; bis Wireshark 3.0 hieß der Filter 104apci
enip || cipEtherNet/IP und CIP
bacnet || bvlc || bacappBACnet/IP: Verbindungs-, Netzwerk- und Anwendungsschicht
cdp || lldpNachbarerkennung, die Gerätenamen, Softwareversionen und VLANs preisgibt
llmnr || nbns || mdnsBroadcast-Namensabfragen, die Angreifer mit gefälschten Antworten beantworten können
tcp.flags.syn == 1 && tcp.flags.ack == 0Verbindungsversuche; viele zu verschiedenen Ports oder Hosts deuten auf einen Scan hin
tcp.port in {102,502,2404,20000,44818}Die üblichen TCP-Ports industrieller Protokolle auf einen Blick
frame matches "password"Pakete mit dem Wort password in beliebiger Groß- und Kleinschreibung, etwa Anmeldungen über Telnet oder FTP
tcp.port != 502Alles außer Modbus/TCP: Seit Wireshark 3.6 bedeutet !=, dass kein Port gleich 502 ist, also dasselbe wie !(tcp.port == 502)

Das sind Anzeigefilter. Mitschnittfilter legen fest, was überhaupt aufgezeichnet wird. Sie haben eine andere Syntax, etwa tcp port 502. contains sucht nach Text und unterscheidet Groß- und Kleinschreibung; matches nimmt einen regulären Ausdruck und ignoriert sie standardmäßig.

Modbus/TCP

Modbus kennt weder Anmeldung noch Verschlüsselung: Wer Port 502 erreicht, kann lesen und schreiben. Eine Anfrage über TCP besteht aus einem 7 Byte langen Header, gefolgt vom Befehl.

Eine Modbus/TCP-Anfrage
Transaction Identifier2 Byte
Protocol Identifier2 Byte
Length2 Byte
Unit Identifier1 Byte
Function code1 Byte
Datavariabel
MBAP-HeaderPDU
FeldBytesBedeutungWireshark-Feld
Transaction Identifier2Ordnet Anfrage und Antwort einander zu: Der Client setzt ihn, der Server kopiert ihnmbtcp.trans_id
Protocol Identifier20 für Modbus; Frames mit einem anderen Wert werden verworfenmbtcp.prot_id
Length2Zahl der folgenden Bytes: Unit Identifier plus PDUmbtcp.len
Unit Identifier1Das Gerät hinter einem Gateway (1 bis 247); 0xFF oder 0 für ein direkt erreichtes Gerätmbtcp.unit_id
Function code1Was die Anfrage bewirkt (Tabelle unten)modbus.func_code
Data≤ 252Startadresse, Anzahl, Werte: bis zu 252 Bytemodbus.data
Funktionscodes
CodeHexNameZweck
10x01Read Coilsliest
20x02Read Discrete Inputsliest
30x03Read Holding Registersliest
40x04Read Input Registersliest
50x05Write Single Coilschreibt
60x06Write Single Registerschreibt
80x08DiagnosticsDiagnose, meist auf seriellen Leitungen
150x0FWrite Multiple Coilsschreibt
160x10Write Multiple Registersschreibt
230x17Read/Write Multiple Registersliest und schreibt
430x2BEncapsulated Interface Transport (MEI 14: Read Device Identification)Geräteinformationen
65–72, 100–1100x41–0x48, 0x64–0x6EUser-definedvom Hersteller festgelegt, nicht eindeutig
900x5ASchneider Electric UMAS (decoded by Wireshark)programmiert Schneider-Steuerungen
Fehlercodes
CodeNameBedeutung
01Illegal FunctionDas Gerät unterstützt diesen Funktionscode nicht
02Illegal Data AddressDie Adresse gibt es auf dem Gerät nicht
03Illegal Data ValueEin Wert in der Anfrage ist nicht zulässig
04Server Device FailureBeim Ausführen der Anfrage ist im Gerät ein Fehler aufgetreten
05AcknowledgeAngenommen; ein langer Programmierbefehl läuft noch
06Server Device BusyDas Gerät ist mit einem langen Befehl beschäftigt
08Memory Parity ErrorSpeicherfehler beim Lesen eines Dateisatzes (Funktionen 20 und 21)
0AGateway Path UnavailableDas Gateway hat keinen Weg zum Zielgerät
0BGateway Target Device Failed to RespondDas Gerät hinter dem Gateway hat nicht geantwortet

Eine Fehlerantwort wiederholt den Funktionscode plus 0x80 (aus 0x03 wird 0x83) und enthält einen dieser Codes. Code 07 (Negative Acknowledge) ist ein alter Modicon-Code, den die aktuelle Spezifikation nicht mehr aufführt.

Worauf du im Modbus-Verkehr achten solltest
AnzeichenFilterWarum es zählt
Schreibbefehle von einem unerwarteten Hostmodbus.func_code in {5,6,15,16,23}Schreibbefehle verändern den Prozess. Im Normalbetrieb senden sie nur wenige bekannte Systeme, etwa die HMI oder die Engineering-Station.
Viele Fehlerantwortenmodbus.exception_codeAnfragen nach Funktionen oder Adressen, die ein Gerät nicht hat: typisch für einen Scan oder einen falsch eingerichteten Client.
Geräteidentifikationmodbus.func_code == 43Liefert Hersteller, Produkt und Version: nützlich für eine Bestandsaufnahme – und für Angreifer.
Programmierverkehr für Schneider-Steuerungenmodbus.func_code == 90Mit UMAS werden Schneider-Steuerungen programmiert; dieser Verkehr sollte nur von der Engineering-Station kommen.
Protokollkennung ungleich 0mbtcp.prot_id != 0Kein Modbus: ein anderes Protokoll auf Port 502 oder präparierte Pakete.
Unit Identifier 0mbtcp.unit_id == 0Hinter einem Gateway ist 0 ein Broadcast: Ein Schreibbefehl erreicht jedes serielle Gerät, keines antwortet.
Benutzerdefinierte Funktionscodesmodbus.func_code >= 65 && modbus.func_code <= 72Herstellerspezifisch, daher können zwei Hersteller denselben Code für Verschiedenes nutzen. Der zweite Bereich reicht von 100 bis 110.