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.

Das könnte dich auch interessieren …