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.