Netzwerkanalyse · 8 min read · Oct 29, 2025
So installieren Sie das Malcolm-Netzwerkverkehrsanalysetool auf Ubuntu 22.04

Malcolm ist ein einfaches, benutzerfreundliches und leistungsstarkes Netzwerkverkehrsanalysetool. Es ist in der Lage, Artefakte (PCAP-Dateien) und Zeek-Protokolle zu erfassen. Malcolm bietet ein miteinander verbundenes Framework, das es größer macht als die Summe seiner Teile. Malcolms einfache, flexible Bereitstellung und die robuste Kombination von Tools füllen eine Lücke im Bereich der Netzwerksicherheit und machen die fortgeschrittene Netzwerkverkehrsanalyse für viele im öffentlichen und privaten Sektor zugänglich.
In diesem Beitrag zeigen wir Ihnen, wie Sie das Malcolm-Netzwerkverkehrsanalysetool auf Ubuntu 22.04 installieren.
Voraussetzungen
- Ein Server, der Ubuntu 22.04 ausführt.
- Mindestens 16 GB RAM und 4 CPU-Kerne.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erstellen Sie einen Malcolm-Systembenutzer
Zuerst müssen Sie ein dediziertes Benutzerkonto erstellen, um Malcolm auszuführen. Sie können es mit dem folgenden Befehl erstellen:
useradd -m -d /opt/malcolm -s /bin/bash -G sudo malcolmAls Nächstes setzen Sie das Benutzerpasswort mit dem folgenden Befehl:
passwd malcolmÜberprüfen Sie als Nächstes die UID des Malcolm-Benutzers mit dem folgenden Befehl:
id malcolmSie sollten die folgende Ausgabe sehen:
uid=1000(malcolm) gid=1000(malcolm) groups=1000(malcolm),27(sudo)Installieren Sie Malcolm Ubuntu 22.04
Zuerst wechseln Sie den Benutzer zu Malcolm und laden die neueste Version von Malcolm mit dem folgenden Befehl herunter:
su - malcolm
git clone https://github.com/idaholab/MalcolmSobald der Download abgeschlossen ist, wechseln Sie in das heruntergeladene Verzeichnis und beginnen Sie mit der Installation von Malcolm mit dem folgenden Befehl:
cd Malcolm
sudo ./scripts/install.pyWährend der Installation werden Ihnen mehrere Fragen gestellt, wie unten gezeigt:
Installing required packages: ['apache2-utils', 'make', 'openssl', 'python3-dialog']
"docker info" failed, attempt to install Docker? (Y/n): Y
Attempt to install Docker using official repositories? (Y/n): Y
Installing required packages: ['apt-transport-https', 'ca-certificates', 'curl', 'gnupg-agent', 'software-properties-common']
Installing docker packages: ['docker-ce', 'docker-ce-cli', 'containerd.io']
Installation of docker packages apparently succeeded
Add a non-root user to the "docker" group?: Y
Enter user account: malcolm
Add another non-root user to the "docker" group?: n
"docker-compose version" failed, attempt to install docker-compose? (Y/n): Y
Install docker-compose directly from docker github? (Y/n): Y
Download and installation of docker-compose apparently succeeded
fs.file-max increases allowed maximum for file handles
fs.file-max= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
fs.inotify.max_user_watches increases allowed maximum for monitored files
fs.inotify.max_user_watches= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
fs.inotify.max_queued_events increases queue size for monitored files
fs.inotify.max_queued_events= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
fs.inotify.max_user_instances increases allowed maximum monitor file watchers
fs.inotify.max_user_instances= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
vm.max_map_count increases allowed maximum for memory segments
vm.max_map_count= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
net.core.somaxconn increases allowed maximum for socket connections
net.core.somaxconn= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
vm.dirty_background_ratio defines the percentage of system memory fillable with "dirty" pages before flushing
vm.dirty_background_ratio= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
vm.dirty_ratio defines the maximum percentage of dirty system memory before committing everything
vm.dirty_ratio= appears to be missing from /etc/sysctl.conf, append it? (Y/n): Y
/etc/security/limits.d/limits.conf increases the allowed maximums for file handles and memlocked segments
/etc/security/limits.d/limits.conf does not exist, create it? (Y/n): YSobald Malcolm installiert ist, können Sie mit dem nächsten Schritt fortfahren.
Konfigurieren Sie Malcolm
Nach der Installation von Malcolm müssen Sie es mit dem folgenden Befehl konfigurieren:
sudo ./scripts/install.py --configureWährend der Konfiguration von Malcolm werden Ihnen mehrere Fragen gestellt. Beantworten Sie alle Fragen wie unten gezeigt:
- Malcolm-Prozesse werden als UID 1000 und GID 1000 ausgeführt. Ist das in Ordnung? (Y/n): Y
- Setzen von 10g für OpenSearch und 3g für Logstash. Ist das in Ordnung? ja
- Setzen von 3 Arbeitern für Logstash-Pipelines. Ist das in Ordnung? (Y/n): ja
- Malcolm beim Neustart des Systems oder des Docker-Daemons neu starten? Ja Wählen Sie dann die Standardoption, es sei denn, Sie stoppen.
- Wählen Sie, ob Sie Malcolm mit HTTPS einrichten möchten: Ja
- Wählen Sie, ob Malcolm hinter einem Proxy ausgeführt wird: Nein
- Wählen Sie Netzwerk: Drücken Sie einfach die Eingabetaste, um die Standardeinstellungen zu akzeptieren. Wählen Sie LDAP: Nein
- OpenSearch-Index-Snapshots lokal in /opt/malcolm/Malcom/opensearch-backup speichern? Ja
- Wählen Sie, um OpenSearch-Index-Snapshots zu komprimieren: Ja
- Möchten Sie die ältesten Indizes löschen, wenn die Datenbank eine bestimmte Größe überschreitet: Nein
- Rückwärts-DNS-Abfrage lokal für Quell- und Ziel-IP-Adressen in Protokollen: Nein
- Hardware-Anbieter-OUI-Abfragen für MAC-Adressen: Ja
- Führen Sie eine Zufallsbewertung von Zeichenfolgen in einigen Feldern durch: ja
- Öffnen Sie den OpenSearch-Port für externe Hosts: nein
- Öffnen Sie den Logstash-Port für externe Hosts: nein
- Leiten Sie Logstash-Protokolle an eine externe OpenSearch-Instanz weiter: nein
- Öffnen Sie den Filebeat-TCP-Port für externe Hosts: nein
- Aktivieren Sie die Dateiextraktion mit Zeek: ja
- Wählen Sie interessant als das Extraktionsverhalten. Wählen Sie die Methode zur Dateibewahrung: Quarantäne
- Scannen Sie extrahierte Dateien/PE-Dateien mit ClamAV: ja
- Scannen Sie extrahierte Dateien/PE-Dateien mit Yara: ja
- Scannen Sie extrahierte Dateien/PE-Dateien mit Capa: ja
- Überprüfen Sie die Hashes extrahierter Dateien mit VirusTotal: nein
- Laden Sie aktualisierte Scanner-Signaturen regelmäßig herunter: ja
- Soll Malcolm Netzwerkverkehr in PCAP-Dateien erfassen: ja
- Geben Sie die Erfassungsoberfläche(n) (durch Kommas getrennt) an, auf denen Malcolm den Netzwerkverkehr verwenden wird: eth0
- Pakete mit netsniff-ng erfassen? (Y/n): ja
- Pakete mit tcpdump erfassen? (y/N): nein
- Erfassungsfilter (tcpdump-ähnlicher Filterausdruck; leer lassen, um gesamten Verkehr zu erfassen) (): Sie können den Verkehr, der mit Elasticsearch (Port 9200), Logstash (5044), Arkime (8005) zu tun hat, deaktivieren: nicht Port 9200 und nicht Port 5044 und nicht Port 8005
- Deaktivieren Sie die Hardware-Offloading der Erfassungsoberfläche und passen Sie die Ringpuffergrößen an? (y/N): n
Sobald Malcolm konfiguriert ist, starten Sie Ihr System neu, um die Konfiguration anzuwenden.
sudo rebootErstellen Sie ein Malcolm-Administratorkonto
Als Nächstes müssen Sie ein Administratorkonto erstellen, um auf die Malcolm-Weboberfläche zuzugreifen.
Zuerst wechseln Sie den Benutzer zu Malcolm und navigieren mit dem folgenden Befehl in das Malcolm-Verzeichnis:
su - malcolm
cd ~/MalcolmFühren Sie als Nächstes den folgenden Befehl aus, um ein Administratorkonto zu erstellen:
./scripts/auth_setupBeantworten Sie alle Fragen wie unten gezeigt, um ein Administratorkonto zu erstellen:
- Administrator-Benutzername/Passwort für den lokalen Malcolm-Zugriff speichern? ja
- Administrator-Passwort und -Benutzernamen festlegen.
- (Re)generieren Sie selbstsignierte SSL-Zertifikate für den Webverkehr HTTPS: ja
- (Re)generieren Sie selbstsignierte Zertifikate für einen Remote-Protokoll-Forwarder: ja
- Benutzername/Passwort für die Weiterleitung von Logstash-Ereignissen an eine sekundäre, externe OpenSearch-Instanz speichern: nein. Benutzername/Passwort für das E-Mail-Alarmabsenderkonto speichern: nein
Ziehen Sie Malcolm-Docker-Images
Als Nächstes müssen Sie alle erforderlichen Docker-Images aus dem Docker Hub-Registry herunterladen. Sie können alle mit dem folgenden Befehl herunterladen:
docker-compose pullSobald alle Images heruntergeladen sind, überprüfen Sie alle Images mit dem folgenden Befehl:
docker imagesSie sollten die folgende Ausgabe erhalten:
REPOSITORY TAG IMAGE ID CREATED SIZE
malcolmnetsec/filebeat-oss 6.2.0 5e9fa4c8ea2d 11 days ago 648MB
malcolmnetsec/arkime 6.2.0 4f4e6025c82d 11 days ago 793MB
malcolmnetsec/zeek 6.2.0 5b117ad2b4bb 11 days ago 1.4GB
malcolmnetsec/dashboards 6.2.0 9dcaff859eec 11 days ago 1.13GB
malcolmnetsec/logstash-oss 6.2.0 cf4d75dcf4af 11 days ago 1.64GB
malcolmnetsec/file-monitor 6.2.0 26227c3c7dc9 11 days ago 589MB
malcolmnetsec/nginx-proxy 6.2.0 3b8b5413b52e 11 days ago 121MB
malcolmnetsec/file-upload 6.2.0 2c704be24433 11 days ago 263MB
malcolmnetsec/api 6.2.0 90f964b5d728 11 days ago 148MB
malcolmnetsec/suricata 6.2.0 cbdb091d2df4 11 days ago 274MB
malcolmnetsec/htadmin 6.2.0 2b55630700d1 11 days ago 242MB
malcolmnetsec/opensearch 6.2.0 9ccb4665bd6c 11 days ago 1.25GB
malcolmnetsec/pcap-monitor 6.2.0 d957d803bdbb 11 days ago 214MB
malcolmnetsec/freq 6.2.0 3959a9daa952 11 days ago 131MB
malcolmnetsec/dashboards-helper 6.2.0 7da9699a72b3 11 days ago 168MB
malcolmnetsec/pcap-capture 6.2.0 df63e8daa369 11 days ago 121MB
malcolmnetsec/name-map-ui 6.2.0 6bd6c7c58d36 11 days ago 120MBStarten Sie den Malcolm-Dienst
An diesem Punkt sind alle erforderlichen Komponenten für Malcolm bereit. Sie können jetzt den Malcolm-Dienst mit dem folgenden Befehl starten:
./scripts/startWarten Sie einige Zeit, um alle Dienste zu starten. Sobald alle Dienste gestartet sind, überprüfen Sie alle laufenden Dienste mit dem folgenden Befehl:
docker ps -aSie sollten alle laufenden Container in der folgenden Ausgabe sehen:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
840ea2b0e9ad malcolmnetsec/nginx-proxy:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 0.0.0.0:443->443/tcp, 127.0.0.1:5601->5601/tcp, 0.0.0.0:488->488/tcp, 127.0.0.1:9200->9200/tcp malcolm-nginx-proxy-1
dd5c8c63816c malcolmnetsec/suricata:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) malcolm-suricata-1
3112e1bd8f73 malcolmnetsec/filebeat-oss:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 127.0.0.1:5045->5045/tcp malcolm-filebeat-1
c93cfe93ad7e malcolmnetsec/file-upload:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 80/tcp, 127.0.0.1:8022->22/tcp malcolm-upload-1
18ee20b46f3c malcolmnetsec/dashboards:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 5601/tcp malcolm-dashboards-1
2c34206c06e4 malcolmnetsec/zeek:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) malcolm-zeek-1
41103ef99ce1 malcolmnetsec/logstash-oss:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 9001/tcp, 127.0.0.1:5044->5044/tcp, 9600/tcp malcolm-logstash-1
0408f42a76c3 malcolmnetsec/dashboards-helper:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 28991/tcp malcolm-dashboards-helper-1
3e78024620de malcolmnetsec/arkime:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 8000/tcp, 8005/tcp, 8081/tcp malcolm-arkime-1
58cd869beced malcolmnetsec/pcap-monitor:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 30441/tcp malcolm-pcap-monitor-1
1040fa8bd6df malcolmnetsec/file-monitor:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 3310/tcp, 8440/tcp malcolm-file-monitor-1
25c83f14413d malcolmnetsec/zeek:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes malcolm-zeek-live-1
b321a96c0362 malcolmnetsec/api:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 5000/tcp malcolm-api-1
0f1f4ac023f9 malcolmnetsec/name-map-ui:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 8080/tcp malcolm-name-map-ui-1
ba4d553cf6b5 malcolmnetsec/suricata:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes malcolm-suricata-live-1
e4637d0ec04d malcolmnetsec/opensearch:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 13 minutes (health: starting) 9200/tcp, 9300/tcp, 9600/tcp, 9650/tcp malcolm-opensearch-1
ac002e31d9be malcolmnetsec/htadmin:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 80/tcp malcolm-htadmin-1
7223d5244a7b malcolmnetsec/pcap-capture:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes malcolm-pcap-capture-1
971931b21788 malcolmnetsec/freq:6.2.0 "/usr/local/bin/dock…" 17 minutes ago Up 17 minutes (unhealthy) 10004/tcp malcolm-freq-1Sie können auch alle lauschen Ports mit dem folgenden Befehl überprüfen:
ss -atlnp | grep -i dockerSie sollten die folgende Ausgabe sehen:
LISTEN 0 65535 127.0.0.1:5601 0.0.0.0:* users:(("docker-proxy",pid=7480,fd=4))
LISTEN 0 65535 0.0.0.0:488 0.0.0.0:* users:(("docker-proxy",pid=7519,fd=4))
LISTEN 0 65535 127.0.0.1:9200 0.0.0.0:* users:(("docker-proxy",pid=7443,fd=4))
LISTEN 0 65535 127.0.0.1:5044 0.0.0.0:* users:(("docker-proxy",pid=6247,fd=4))
LISTEN 0 65535 127.0.0.1:5045 0.0.0.0:* users:(("docker-proxy",pid=7063,fd=4))
LISTEN 0 65535 127.0.0.1:8022 0.0.0.0:* users:(("docker-proxy",pid=6826,fd=4))
LISTEN 0 65535 0.0.0.0:443 0.0.0.0:* users:(("docker-proxy",pid=7567,fd=4))Zugriff auf Malcolm
Sie können jetzt auf das Malcolm OpenSearch-Dashboard über die URL https://your-server-ip/dashboards/ zugreifen. Sie werden aufgefordert, Ihren Admin-Benutzernamen und Ihr Passwort einzugeben:

Geben Sie Ihren Admin-Benutzernamen, Ihr Passwort ein und klicken Sie auf die Schaltfläche Anmelden. Sie sollten das OpenSearch-Dashboard auf dem folgenden Bildschirm sehen:

Um auf den Bildschirm zum Hochladen von Malcolm Capture-Dateien und Protokollen zuzugreifen, geben Sie die URL https://your-server-ip/upload/ ein.

Um auf den Editor für die Zuordnung von Host- und Subnetznamen zuzugreifen, geben Sie die URL https://your-server-ip/name-map-ui/ ein.

Um auf den Bildschirm zur Kontoverwaltung zuzugreifen, verwenden Sie die URL https://your-server-ip:488/


Herzlichen Glückwunsch! Sie haben das Malcolm-Netzwerkverkehrsanalysetool erfolgreich auf Ubuntu 22.04 installiert und konfiguriert.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.