Arkime, también conocido como Moloch, es una herramienta de búsqueda y captura de paquetes indexados a gran escala y de código abierto. 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
- Un servidor con Ubuntu 20.04.
- Se configura una contraseña de root en el servidor.
Cómo empezar
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 a la 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
Luego, actualice el repositorio e instale el paquete 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
Cambie 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" : "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" }
En este punto, Elasticsearch está instalado y ejecutándose. Ahora puede continuar con el siguiente paso.
Instalar y configurar Arkime
Primero, descarga 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 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 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.
Ahora puede consultar el registro del espectador 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/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
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 Iniciar sesión botón. Debería ver el panel de control 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. Siéntase libre de preguntarme si tiene alguna pregunta.