Arkime, noto anche come Moloch, è uno strumento di acquisizione e ricerca di pacchetti indicizzati open source e su larga scala. Memorizza ed esporta tutti i pacchetti catturati in formato PCAP. Puoi utilizzare Wireshark o altri strumenti di acquisizione PCAP per analizzare il file PCAP esportato. Arkime viene fornito con un'interfaccia Web semplice e intuitiva che puoi utilizzare per navigare, cercare ed esportare PCAP. È progettato per essere distribuito in più sistemi e anche in grado di gestire gigabit al secondo di traffico.
In questo post, ti mostreremo come installare lo strumento Arkime Packet Capture su Ubuntu 20.04.
Prerequisiti
- Un server che esegue Ubuntu 20.04.
- Una password di root è configurata sul server.
Per iniziare
Prima di iniziare, dovrai aggiornare i pacchetti di sistema all'ultima versione. Puoi aggiornarli con il seguente comando:
apt-get update -y
Una volta aggiornati tutti i pacchetti, installa le dipendenze richieste utilizzando il comando seguente:
apt-get install gnupg2 curl wget -y
Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Installa Elasticsearch
Arkime utilizza Elasticsearch per l'indicizzazione e la ricerca. Quindi Elasticsearch deve essere installato nel tuo sistema. Per impostazione predefinita, l'ultima versione di Elasticsearch non è inclusa nel repository predefinito di Ubuntu. Quindi dovrai aggiungere il repository Elasticsearch al tuo sistema.
Innanzitutto, aggiungi la chiave GPG con il seguente comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | apt-key add -
Successivamente, aggiungi il repository Elasticsearch all'APT con il seguente comando:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Successivamente, aggiorna il repository e installa il pacchetto Elasticsearch con il seguente comando:
apt-get update -y
apt-get install elasticsearch -y
Una volta installato Elasticsearch, modifica il file di configurazione di Elasticsearch e imposta la memoria Java:
nano /etc/elasticsearch/jvm.options
Modifica le seguenti righe:
-Xms1g -Xmx1g
Salva e chiudi il file, quindi abilita l'avvio del servizio Elasticsearch al riavvio del sistema con il seguente comando:
systemctl enable --now elasticsearch
Per impostazione predefinita, Elasticsearch è in ascolto sulla porta 9200. Puoi verificarlo con il seguente comando:
ss -antpl | grep 9200
Dovresti ottenere il seguente output:
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=9518,fd=272)) LISTEN 0 4096 [::1]:9200 [::]:* users:(("java",pid=9518,fd=271))
Puoi anche controllare Elasticsearch con il seguente comando:
curl http://localhost:9200
Dovresti ottenere il seguente output:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "9g2B-tNaQl-rjuV32eCgpg", "version" : { "number" : "7.11.1", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "ff17057114c2199c9c1bbecc727003a907c0db7a", "build_date" : "2021-02-15T13:44:09.394032Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
A questo punto, Elasticsearch è installato e funzionante. Ora puoi procedere al passaggio successivo.
Installa e configura Arkime
Innanzitutto, scarica l'ultima versione di Arkime con il seguente comando:
wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/moloch_2.7.1-1_amd64.deb
Una volta scaricato il pacchetto, installa il pacchetto scaricato con il seguente comando:
apt install ./moloch_2.7.1-1_amd64.deb
Una volta installato Arkime, configuralo con il seguente comando:
/data/moloch/bin/Configure
Ti verrà chiesto di specificare l'interfaccia di rete come mostrato di seguito:
Found interfaces: lo;eth0;eth1 Semicolon ';' seperated list of interfaces to monitor [eth1] eth0
Digita il nome dell'interfaccia di rete e premi Invio per continuare. Una volta terminata la configurazione, dovresti ottenere il seguente output:
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 [no-default] Password to encrypt S2S and other things [no-default] mypassword Moloch - Creating configuration files Installing systemd start files, use systemctl Moloch - Installing /etc/logrotate.d/moloch to rotate files after 7 days Moloch - Installing /etc/security/limits.d/99-moloch.conf to make core and memlock unlimited Download GEO files? (yes or no) [yes] yes 9) Visit http://MOLOCHHOST: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://molo.ch/faq#maxmind Any configuration changes can be made to /data/moloch/etc/config.ini See https://molo.ch/faq#moloch-is-not-working for issues Additional information can be found at: * https://molo.ch/faq * https://molo.ch/settings
Una volta terminato, puoi procedere al passaggio successivo.
Inizia la configurazione di Elasticsearch Arkime
Successivamente, dovrai inizializzare la configurazione di Elasticsearch Arkime. Puoi farlo con il seguente comando:
/data/moloch/db/db.pl http://localhost:9200 init
Quindi, crea un account utente amministratore per Arkime con il seguente comando:
/data/moloch/bin/moloch_add_user.sh admin "Moloch SuperAdmin" mypassword --admin
Una volta terminato, puoi procedere al passaggio successivo.
Avvia e gestisci i servizi Arkime
Arkime è composto da tre componenti, cattura, visualizzatore ed elasticsearch. Quindi dovrai avviare il servizio per ogni componente.
Puoi avviare il servizio molochcapture e molochviewer e consentirne l'avvio al riavvio del sistema con il seguente comando:
systemctl enable --now molochcapture
systemctl enable --now molochviewer
Ora puoi controllare lo stato di entrambi i servizi con il seguente comando:
systemctl status molochcapture molochviewer
Dovresti ottenere il seguente output:
? molochcapture.service - Moloch Capture Loaded: loaded (/etc/systemd/system/molochcapture.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-03-01 11:40:08 UTC; 10s ago Main PID: 11313 (sh) Tasks: 7 (limit: 4691) Memory: 206.6M CGroup: /system.slice/molochcapture.service ??11313 /bin/sh -c /data/moloch/bin/moloch-capture -c /data/moloch/etc/config.ini >> /data/moloch/logs/capture.log 2>&1 ??11315 /data/moloch/bin/moloch-capture -c /data/moloch/etc/config.ini Mar 01 11:40:08 ubuntu2004 systemd[1]: Starting Moloch Capture... Mar 01 11:40:08 ubuntu2004 systemd[1]: Started Moloch Capture. ? molochviewer.service - Moloch Viewer Loaded: loaded (/etc/systemd/system/molochviewer.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-03-01 11:40:13 UTC; 5s ago Main PID: 11361 (sh) Tasks: 12 (limit: 4691) Memory: 51.9M CGroup: /system.slice/molochviewer.service ??11361 /bin/sh -c /data/moloch/bin/node viewer.js -c /data/moloch/etc/config.ini >> /data/moloch/logs/viewer.log 2>&1 ??11362 /data/moloch/bin/node viewer.js -c /data/moloch/etc/config.ini Mar 01 11:40:13 ubuntu2004 systemd[1]: Started Moloch Viewer.
Ora puoi controllare il registro del visualizzatore con il seguente comando:
tail -f /data/moloch/logs/viewer.log
Dovresti vedere il seguente output:
Express server listening on port 8005 in development mode
Per controllare il registro di acquisizione, eseguire il comando seguente:
tail -f /data/moloch/logs/capture.log
Dovresti vedere il seguente output:
Mar 1 11:40:49 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 201 http://localhost:9200/dstats/_doc/ubuntu2004-1209-5 806/154 0ms 51ms Mar 1 11:40:49 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 200 http://localhost:9200/_bulk 3737/327 0ms 51ms Mar 1 11:40:50 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 200 http://localhost:9200/_bulk 7246/451 0ms 51ms Mar 1 11:40:51 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 200 http://localhost:9200/stats/_doc/ubuntu2004?version_type=external&version=22 805/149 0ms 51ms Mar 1 11:40:53 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 200 http://localhost:9200/stats/_doc/ubuntu2004?version_type=external&version=23 805/149 0ms 52ms Mar 1 11:40:54 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 201 http://localhost:9200/dstats/_doc/ubuntu2004-1210-5 806/154 0ms 51ms Mar 1 11:40:54 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 200 http://localhost:9200/_bulk 2830/302 0ms 51ms
Accedi all'interfaccia web di Arkime
A questo punto Arkime è avviato ed è in ascolto sulla porta 8005. Puoi verificarlo con il seguente comando:
ss -antpl | grep 8005
Dovresti ottenere il seguente output:
LISTEN 0 511 *:8005 *:* users:(("node",pid=11362,fd=20))
Ora apri il tuo browser web e accedi all'interfaccia web di Arkime utilizzando l'URL http://your-server-ip:8005 . Ti verrà chiesto di fornire il nome utente e la password dell'amministratore come mostrato di seguito:
Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la dashboard di Arkime nella pagina seguente:
Conclusione
Congratulazioni! hai installato e configurato correttamente lo strumento di acquisizione dei pacchetti Arkime sul server Ubuntu 20.04. Ora puoi esplorare Arkime per ulteriori funzionalità e iniziare a catturare i pacchetti. Sentiti libero di chiedermi se hai domande.