So installierst du Arkime Moloch Packet Capture Tool auf Ubuntu 22.04
Arkime ist ein kostenloses, quelloffenes, indiziertes Tool zur Erfassung und Suche von Datenpaketen, das den Netzwerkverkehr im PCAP-Format speichert und indiziert. Es ist auch unter dem Namen Moloch bekannt und wurde für den Einsatz auf mehreren geclusterten Systemen entwickelt, die mehrere Gigabit pro Sekunde an Datenverkehr bewältigen können. Arkime verfügt über eine integrierte Verwaltungsoberfläche, mit der du PCAP durchsuchen, suchen und exportieren kannst. Du kannst auch andere PCAP-Ingesting-Tools verwenden, um deinen Workflow zu analysieren.
In diesem Tutorial erfährst du, wie du das Arkime Packet Capture Tool unter Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Bevor du beginnst, musst du deine Systempakete auf die neueste Version aktualisieren. Du kannst sie mit dem folgenden Befehl aktualisieren:
apt-get update -y
Sobald alle Pakete aktualisiert sind, installierst du die erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt-get install gnupg2 curl wget -y
Als Nächstes musst du auch die Bibliotheken Libssl und Libffi auf deinem System installieren. Du kannst beide herunterladen und installieren, indem du den folgenden Befehl ausführst:
wget http://es.archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi7_3.3-4_amd64.deb wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb dpkg -i libffi7_3.3-4_amd64.deb dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/local/lib/ ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7 /usr/local/lib/
Sobald alle Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.
Elasticsearch installieren
Arkime nutzt Elasticsearch für die Indizierung und Suche. Daher muss Elasticsearch in deinem System installiert sein. Standardmäßig ist die neueste Version von Elasticsearch nicht im Standard-Repository von Ubuntu enthalten. Daher musst du das Elasticsearch-Repository zu deinem System hinzufügen.
Füge zunächst den GPG-Schlüssel mit dem folgenden Befehl hinzu:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | apt-key add -
Als Nächstes fügst du das Elasticsearch-Repository mit dem folgenden Befehl zur APT hinzu:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Als nächstes aktualisierst du das Repository und installierst das Elasticsearch-Paket mit folgendem Befehl:
apt-get update -y apt-get install elasticsearch -y
Sobald Elasticsearch installiert ist, bearbeite die Elasticsearch-Konfigurationsdatei und stelle den Java-Speicher ein:
nano /etc/elasticsearch/jvm.options
Ändere die folgenden Zeilen:
-Xms500m -Xmx500m
Speichere und schließe die Datei. Aktiviere dann den Elasticsearch-Dienst mit folgendem Befehl, damit er beim Neustart des Systems startet:
systemctl enable --now elasticsearch
Standardmäßig lauscht Elasticsearch auf Port 9200. Du kannst dies mit dem folgenden Befehl überprüfen:
ss -antpl | grep 9200
Du solltest die folgende Ausgabe erhalten:
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=30581,fd=291)) LISTEN 0 4096 [::1]:9200 [::]:* users:(("java",pid=30581,fd=290))
Du kannst Elasticsearch auch mit dem folgenden Befehl überprüfen:
curl http://localhost:9200
Du solltest die folgende Ausgabe erhalten:
{ "name" : "ubuntu2204", "cluster_name" : "elasticsearch", "cluster_uuid" : "6QiUfVa4Q9G8lxHjuVLjUQ", "version" : { "number" : "7.17.5", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "8d61b4f7ddf931f219e3745f295ed2bbc50c8e84", "build_date" : "2022-06-23T21:57:28.736740635Z", "build_snapshot" : false, "lucene_version" : "8.11.1", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Jetzt ist Elasticsearch installiert und läuft. Du kannst jetzt mit dem nächsten Schritt fortfahren.
Arkime installieren und konfigurieren
Lade zunächst die neueste Version von Arkime mit dem folgenden Befehl herunter:
wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/arkime_3.4.2-1_amd64.deb
Sobald das Paket heruntergeladen ist, installierst du es mit dem folgenden Befehl:
apt install ./arkime_3.4.2-1_amd64.deb
Sobald Arkime installiert ist, führe den folgenden Befehl aus, um es zu konfigurieren:
/opt/arkime/bin/Configure
Du wirst aufgefordert, die Netzwerkschnittstelle wie unten gezeigt anzugeben:
Found interfaces: lo;eth0;eth1 Semicolon ';' seperated list of interfaces to monitor [eth1] eth0
Gib den Namen deiner Netzwerkschnittstelle ein und drücke die Eingabetaste, um fortzufahren. Sobald die Konfiguration abgeschlossen ist, solltest du die folgende Ausgabe erhalten:
Install Elasticsearch server locally for demo, must have at least 3G of memory, NOT recommended for production use (yes or no) [no] no Elasticsearch server URL [http://localhost:9200] Password to encrypt S2S and other things, don't use spaces [no-default] password Arkime - Creating configuration files Installing systemd start files, use systemctl Arkime - Installing /etc/logrotate.d/arkime to rotate files after 7 days Arkime - Installing /etc/security/limits.d/99-arkime.conf to make core and memlock unlimited Download GEO files? You'll need a MaxMind account https://arkime.com/faq#maxmind (yes or no) [yes] no Arkime - NOT downloading GEO files Arkime - Configured - Now continue with step 4 in /opt/arkime/README.txt 4) The Configure script can install elasticsearch for you or you can install yourself systemctl start elasticsearch.service 5) Initialize/Upgrade Elasticsearch Arkime configuration a) If this is the first install, or want to delete all data /opt/arkime/db/db.pl http://ESHOST:9200 init b) If this is an update to a moloch/arkime package /opt/arkime/db/db.pl http://ESHOST:9200 upgrade 6) Add an admin user if a new install or after an init /opt/arkime/bin/arkime_add_user.sh admin "Admin User" THEPASSWORD --admin 7) Start everything systemctl start arkimecapture.service systemctl start arkimeviewer.service 8) Look at log files for errors /opt/arkime/logs/viewer.log /opt/arkime/logs/capture.log 9) Visit http://arkimeHOST:8005 with your favorite browser. user: admin password: THEPASSWORD from step #6 If you want IP -> Geo/ASN to work, you need to setup a maxmind account and the geoipupdate program. See https://arkime.com/faq#maxmind Any configuration changes can be made to /opt/arkime/etc/config.ini See https://arkime.com/faq#moloch-is-not-working for issues Additional information can be found at: * https://arkime.com/faq * https://arkime.com/settings
Sobald du fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Initialisierung der Elasticsearch Arkime-Konfiguration
Als Nächstes musst du die Elasticsearch Arkime-Konfiguration initialisieren. Das kannst du mit dem folgenden Befehl tun:
/opt/arkime/db/db.pl http://localhost:9200 init
Als Nächstes erstellst du ein Admin-Benutzerkonto für Arkime mit dem folgenden Befehl:
/opt/arkime/bin/arkime_add_user.sh admin "Moloch SuperAdmin" password --admin
Als Nächstes aktualisierst du die Geo-Datenbank mit folgendem Befehl:
/opt/arkime/bin/arkime_update_geo.sh
Wenn du damit fertig bist, kannst du mit dem nächsten Schritt fortfahren.
Starten und Verwalten der Arkime-Dienste
Arkime besteht aus drei Komponenten: Capture, Viewer und Elasticsearch. Daher musst du für jede Komponente einen Dienst starten.
Du kannst den Arkimecapture- und den Arkimeviewer-Dienst starten und mit dem folgenden Befehl aktivieren, dass sie beim Neustart des Systems gestartet werden:
systemctl enable --now arkimecapture systemctl enable --now arkimeviewer
Jetzt kannst du den Status beider Dienste mit dem folgenden Befehl überprüfen:
systemctl status arkimecapture arkimeviewer
Du solltest die folgende Ausgabe erhalten:
? arkimecapture.service - Arkime Capture Loaded: loaded (/etc/systemd/system/arkimecapture.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-08-15 03:55:10 UTC; 1min 0s ago Process: 33704 ExecStartPre=/opt/arkime/bin/arkime_config_interfaces.sh -c /opt/arkime/etc/config.ini -n default (code=exited, status=0/S> Main PID: 33724 (sh) Tasks: 7 (limit: 2242) Memory: 213.2M CPU: 806ms CGroup: /system.slice/arkimecapture.service ??33724 /bin/sh -c "/opt/arkime/bin/capture -c /opt/arkime/etc/config.ini >> /opt/arkime/logs/capture.log 2>&1" ??33725 /opt/arkime/bin/capture -c /opt/arkime/etc/config.ini Aug 15 03:55:09 ubuntu2204 systemd[1]: Starting Arkime Capture... Aug 15 03:55:10 ubuntu2204 systemd[1]: Started Arkime Capture. ? arkimeviewer.service - Arkime Viewer Loaded: loaded (/etc/systemd/system/arkimeviewer.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-08-15 03:08:39 UTC; 47min ago Main PID: 31759 (sh) Tasks: 12 (limit: 2242) Memory: 56.7M CPU: 2.127s CGroup: /system.slice/arkimeviewer.service ??31759 /bin/sh -c "/opt/arkime/bin/node viewer.js -c /opt/arkime/etc/config.ini >> /opt/arkime/logs/viewer.log 2>&1" ??31760 /opt/arkime/bin/node viewer.js -c /opt/arkime/etc/config.ini Aug 15 03:08:39 ubuntu2204 systemd[1]: Started Arkime Viewer.
Du kannst das Viewer-Protokoll mit dem folgenden Befehl überprüfen:
tail -f /opt/arkime/logs/viewer.log
Du kannst jetzt das Capture-Protokoll mit dem folgenden Befehl überprüfen:
tail -f /opt/arkime/logs/capture.log
Du solltest die folgende Ausgabe sehen:
Aug 15 03:57:20 http.c:389 moloch_http_curlm_check_multi_info(): 2/3 ASYNC 201 http://localhost:9200/arkime_dstats/_doc/ubuntu2204-1408-5 804/159 0ms 20ms Aug 15 03:57:20 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/arkime_stats/_doc/ubuntu2204?version_type=external&version=66 798/157 0ms 24ms Aug 15 03:57:22 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/_bulk 715/221 0ms 10ms Aug 15 03:57:22 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/arkime_stats/_doc/ubuntu2204?version_type=external&version=67 805/158 0ms 12ms Aug 15 03:57:24 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/_bulk 1471/253 0ms 24ms Aug 15 03:57:24 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 200 http://localhost:9200/arkime_stats/_doc/ubuntu2204?version_type=external&version=68 806/157 0ms 18ms Aug 15 03:57:25 http.c:389 moloch_http_curlm_check_multi_info(): 1/3 ASYNC 201 http://localhost:9200/arkime_dstats/_doc/ubuntu2204-1409-5 808/159 0ms 10ms
Zugriff auf das Arkime-Webinterface
Zu diesem Zeitpunkt ist Arkime gestartet und lauscht auf Port 8005. Du kannst das mit dem folgenden Befehl überprüfen:
ss -antpl | grep 8005
Du solltest die folgende Ausgabe erhalten:
LISTEN 0 511 *:8005 *:* users:(("node",pid=11362,fd=20))
Öffne nun deinen Webbrowser und rufe das Arkime-Webinterface über die URL http://your-server-ip:8005 auf. Du wirst aufgefordert, deinen Admin-Benutzernamen und dein Passwort einzugeben (siehe unten):
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche Anmelden. Auf der folgenden Seite solltest du das Arkime-Dashboard sehen:
Fazit
Herzlichen Glückwunsch! Du hast das Arkime Packet Capture Tool erfolgreich auf dem Ubuntu 22.04 Server installiert und konfiguriert. Jetzt kannst du Arkime nach weiteren Funktionen durchsuchen und anfangen, Pakete zu erfassen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.