
⭐ ⭐ Verteiltes tcpdump für Cloud-native Umgebungen ⭐ ⭐
Deepfence PacketStreamer ist ein leistungsstarkes Tool zum Erfassen und Sammeln von Netzwerkpaketen aus der Ferne. Es wird von der Sicherheitsbeobachtungsplattform ThreatStryker von Deepfence verwendet, um bei Bedarf Netzwerkverkehr von Cloud-Workloads für forensische Analysen zu sammeln.
Primäre Designziele:
PacketStreamer-Sensoren werden auf den Zielservern gestartet. Die Sensoren erfassen Datenverkehr, wenden Filter an und streamen den Datenverkehr dann zu einem zentralen Empfänger. Datenströme können komprimiert und/oder mit TLS verschlüsselt werden.
Der PacketStreamer-Empfänger nimmt PacketStreamer-Ströme von mehreren entfernten Sensoren entgegen und schreibt die Pakete in eine lokale pcap-Erfassungsdatei.

PacketStreamer-Sensoren sammeln rohe Netzwerkpakete auf entfernten Hosts. Sie wählen zu erfassende Pakete mithilfe eines BPF-Filters aus und leiten sie an einen zentralen Empfängerprozess weiter, wo sie im pcap-Format geschrieben werden. Sensoren sind sehr leichtgewichtig und haben nur geringe Auswirkungen auf die Leistung der entfernten Hosts. PacketStreamer-Sensoren können auf Bare-Metal-Servern, auf Docker-Hosts und auf Kubernetes-Knoten ausgeführt werden.
Der PacketStreamer-Empfänger akzeptiert Netzwerkverkehr von mehreren Sensoren und sammelt ihn in einer einzigen, zentralen pcap-Datei. Sie können dann die pcap-Datei verarbeiten oder den Datenverkehr live an das von Ihnen gewählte Tool weiterleiten, z. B. Zeek, Wireshark, Suricata oder als Live-Stream für Modelle des maschinellen Lernens.
PacketStreamer deckt allgemeinere Anwendungsfälle ab als bestehende Alternativen. Verwenden Sie PacketStreamer beispielsweise, wenn Sie eine leichte, effiziente Methode zum Sammeln roher Netzwerkdaten von mehreren Maschinen für die zentrale Protokollierung und Analyse benötigen.
Eine vollständige Anleitung finden Sie in der PacketStreamer-Dokumentation.
Sie müssen die Go-Toolchain und libpcap-dev installieren, bevor Sie PacketStreamer erstellen.
# Voraussetzungen (Ubuntu): sudo apt install golang-go libpcap-dev
git clone https://github.com/deepfence/PacketStreamer.git
cd PacketStreamer/
make
Starten Sie einen PacketStreamer-Empfänger, der auf Port 8081 lauscht und die pcap-Ausgabe nach /tmp/dump_file schreibt (siehe receiver.yaml):
./packetstreamer receiver --config ./contrib/config/receiver.yaml
Starten Sie einen oder mehrere PacketStreamer-Sensoren auf lokalen und entfernten Hosts. Bearbeiten Sie die Serveradresse in sensor.yaml:
# Auf den Zielhosts ausführen, um Datenverkehr zu erfassen und weiterzuleiten
# Kopieren und bearbeiten Sie die example sensor-local.yaml-Datei und fügen Sie die Adresse des Empfänger-Hosts hinzu
cp ./contrib/config/sensor-local.yaml ./contrib/config/sensor.yaml
./packetstreamer sensor --config ./contrib/config/sensor.yaml
Vielen Dank, dass Sie PacketStreamer verwenden.
Für sicherheitsrelevante Probleme im PacketStreamer-Projekt wenden Sie sich an productsecurity at deepfence dot io.
Bitte erstellen Sie bei Bedarf GitHub Issues und treten Sie dem Deepfence Community Slack-Kanal bei.
Das Deepfence PacketStreamer-Projekt (dieses Repository) wird unter der Apache2-Lizenz angeboten.
Beiträge zum Deepfence PacketStreamer-Projekt werden ebenfalls unter der Apache2-Lizenz gemäß der GitHub-Inbound=Outbound-Richtlinie akzeptiert.