Cómo instalar la herramienta Arkime Full Packet Capture en Ubuntu 20.04
En esta página
- Requisitos previos
- Cómo empezar
- Instalar Elasticsearch
- Instalar y configurar Arkime
- Inicializar la configuración de Elasticsearch Arkime
- Iniciar y administrar los servicios de Arkime
- Acceder a la interfaz web de Arkime
- Conclusión
Arkime, también conocido como Moloch, es una herramienta de búsqueda y captura de paquetes indexados de código abierto y a gran escala. Almacena y exporta todos los paquetes capturados en formato PCAP. Puede usar Wireshark u otras herramientas de ingesta de PCAP para analizar el archivo exportado de PCAP. Arkime viene con una interfaz web simple y fácil de usar que puede usar para navegar, buscar y exportar PCAP. Está diseñado para implementarse en múltiples sistemas y también puede manejar gigabits por segundo de tráfico.
En esta publicación, le mostraremos cómo instalar la herramienta Arkime Packet Capture en Ubuntu 20.04.
requisitos previos
- Un servidor con Ubuntu 20.04.
- Se configura una contraseña raíz en el servidor.
Empezando
Antes de comenzar, deberá actualizar los paquetes de su sistema a la última versión. Puede actualizarlos con el siguiente comando:
apt-get update -y
Una vez que todos los paquetes estén actualizados, instale las dependencias requeridas usando el siguiente comando:
apt-get install gnupg2 curl wget -y
Una vez que todos los paquetes estén instalados, puede continuar con el siguiente paso.
Instalar Elasticsearch
Arkime usa Elasticsearch para indexar y buscar. Entonces, Elasticsearch debe estar instalado en su sistema. De forma predeterminada, la última versión de Elasticsearch no está incluida en el repositorio predeterminado de Ubuntu. Por lo tanto, deberá agregar el repositorio de Elasticsearch a su sistema.
Primero, agregue la clave GPG con el siguiente comando:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | apt-key add -
A continuación, agregue el repositorio de Elasticsearch al APT con el siguiente comando:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
A continuación, actualice el repositorio e instale el paquete de Elasticsearch con el siguiente comando:
apt-get update -y
apt-get install elasticsearch -y
Una vez instalado Elasticsearch, edite el archivo de configuración de Elasticsearch y configure la memoria de Java:
nano /etc/elasticsearch/jvm.options
Cambia las siguientes líneas:
-Xms1g
-Xmx1g
Guarde y cierre el archivo, luego habilite el servicio Elasticsearch para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl enable --now elasticsearch
De manera predeterminada, Elasticsearch escucha en el puerto 9200. Puede verificarlo con el siguiente comando:
ss -antpl | grep 9200
Deberías obtener el siguiente resultado:
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))
También puede verificar Elasticsearch con el siguiente comando:
curl http://localhost:9200
Deberías obtener el siguiente resultado:
{
"name" : "ubunt4",
"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"
}
En este punto, Elasticsearch está instalado y ejecutándose. Ahora puede continuar con el siguiente paso.
Instalar y configurar Arkime
Primero, descargue la última versión de Arkime con el siguiente comando:
wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/moloch_2.7.1-1_amd64.deb
Una vez descargado el paquete, instale el paquete descargado con el siguiente comando:
apt install ./moloch_2.7.1-1_amd64.deb
Una vez instalado el Arkime, configúralo con el siguiente comando:
/data/moloch/bin/Configure
Se le pedirá que especifique la interfaz de red como se muestra a continuación:
Found interfaces: lo;eth0;eth1
Semicolon ';' seperated list of interfaces to monitor [eth1] eth0
Escriba el nombre de su interfaz de red y presione Enter para continuar. Una vez finalizada la configuración, debería obtener el siguiente resultado:
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 vez que haya terminado, puede continuar con el siguiente paso.
Inicializar la configuración de Elasticsearch Arkime
A continuación, deberá inicializar la configuración de Elasticsearch Arkime. Puedes hacerlo con el siguiente comando:
/data/moloch/db/db.pl http://localhost:9200 init
A continuación, cree una cuenta de usuario administrador para Arkime con el siguiente comando:
/data/moloch/bin/moloch_add_user.sh admin "Moloch SuperAdmin" mypassword --admin
Una vez que haya terminado, puede continuar con el siguiente paso.
Iniciar y administrar los servicios de Arkime
Arkime está hecho de tres componentes, captura, visor y búsqueda elástica. Por lo tanto, deberá iniciar el servicio para cada componente.
Puede iniciar el servicio molochcapture y molochviewer y habilitarlos para que se inicien al reiniciar el sistema con el siguiente comando:
systemctl enable --now molochcapture
systemctl enable --now molochviewer
Ahora puede verificar el estado de ambos servicios con el siguiente comando:
systemctl status molochcapture molochviewer
Deberías obtener el siguiente resultado:
? 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 ubunt4 systemd[1]: Starting Moloch Capture...
Mar 01 11:40:08 ubunt4 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 ubunt4 systemd[1]: Started Moloch Viewer.
Ahora puede verificar el registro del visor con el siguiente comando:
tail -f /data/moloch/logs/viewer.log
Debería ver el siguiente resultado:
Express server listening on port 8005 in development mode
Para verificar el registro de captura, ejecute el siguiente comando:
tail -f /data/moloch/logs/capture.log
Debería ver el siguiente resultado:
Mar 1 11:40:49 http.c:382 moloch_http_curlm_check_multi_info(): 1/30 ASYNC 201 http://localhost:9200/dstats/_doc/ubunt4-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/ubunt4?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/ubunt4?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/ubunt4-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
Acceder a la interfaz web de Arkime
En este punto, Arkime se inicia y escucha en el puerto 8005. Puede verificarlo con el siguiente comando:
ss -antpl | grep 8005
Deberías obtener el siguiente resultado:
LISTEN 0 511 *:8005 *:* users:(("node",pid=11362,fd=20))
Ahora, abra su navegador web y acceda a la interfaz web de Arkime usando la URL http://your-server-ip:8005. Se le pedirá que proporcione su nombre de usuario y contraseña de administrador como se muestra a continuación:
Proporcione su nombre de usuario y contraseña de administrador y haga clic en el botón Iniciar sesión. Debería ver el tablero de Arkime en la siguiente página:
Conclusión
¡Felicidades! ha instalado y configurado correctamente la herramienta de captura de paquetes Arkime en el servidor Ubuntu 20.04. Ahora puede explorar Arkime para obtener más funciones y comenzar a capturar paquetes. No dude en preguntarme si tiene alguna pregunta.