Cómo instalar la herramienta de captura de paquetes Arkime Moloch en Ubuntu 22.04

Arkime es una herramienta de captura y búsqueda de paquetes indexada a gran escala, gratuita y de código abierto, que almacena e indexa el tráfico de red en formato PCAP. También se conoce como Moloch, que está diseñado para desplegarse en múltiples sistemas en clúster, proporcionando la capacidad de escalar para manejar múltiples gigabits por segundo de tráfico. Arkime tiene una interfaz de administración integrada que te ayuda a examinar, buscar y exportar PCAP. Puedes utilizar otras herramientas de ingesta de PCAP para analizar tu flujo de trabajo.

Este tutorial te mostrará cómo instalar la herramienta Arkime de Captura de Paquetes en Ubuntu 22.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 22.04.
  • Una contraseña de root configurada en el servidor.

Cómo empezar

Antes de empezar, tendrás que actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos con el siguiente comando:

apt-get update -y

Una vez actualizados todos los paquetes, instala las dependencias necesarias con el siguiente comando:

apt-get install gnupg2 curl wget -y

A continuación, también tendrás que instalar las bibliotecas Libssl y Libffi en tu sistema. Puedes descargar e instalar ambas ejecutando el siguiente comando:

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/

Una vez instalados todos los paquetes, puedes pasar al siguiente paso.

Instalar Elasticsearch

Arkime utiliza Elasticsearch para indexar y realizar búsquedas. Por tanto, Elasticsearch debe estar instalado en tu sistema. Por defecto, la última versión de Elasticsearch no está incluida en el repositorio por defecto de Ubuntu. Así que tendrás que añadir el repositorio de Elasticsearch a tu sistema.

Primero, añade 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, añade 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, actualiza el repositorio e instala el paquete Elasticsearch con el siguiente comando:

apt-get update -y
apt-get install elasticsearch -y

Una vez instalado Elasticsearch, edita el archivo de configuración de Elasticsearch y configura la memoria Java:

nano /etc/elasticsearch/jvm.options

Cambia las siguientes líneas:

-Xms500m
-Xmx500m

Guarda y cierra el archivo, luego habilita el servicio Elasticsearch para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl enable --now elasticsearch

Por defecto, Elasticsearch escucha en el puerto 9200. Puedes comprobarlo con el siguiente comando:

ss -antpl | grep 9200

Deberías obtener la siguiente salida:

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))                                                                                                                                                                                                                                                                               

También puedes comprobar Elasticsearch con el siguiente comando:

curl http://localhost:9200

Deberías obtener la siguiente salida:

{
  "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"
}

En este punto, Elasticsearch está instalado y en ejecución. Ahora puedes pasar al siguiente paso.

Instalar y configurar Arkime

En primer lugar, descarga la última versión de Arkime con el siguiente comando:

wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/arkime_3.4.2-1_amd64.deb

Una vez descargado el paquete, instala el paquete descargado con el siguiente comando:

apt install ./arkime_3.4.2-1_amd64.deb

Una vez instalado Arkime, ejecuta el siguiente comando para configurarlo:

/opt/arkime/bin/Configure

Se te pedirá que especifiques la interfaz de red como se muestra a continuación:

Found interfaces: lo;eth0;eth1
Semicolon ';' seperated list of interfaces to monitor [eth1] eth0

Escribe el nombre de tu interfaz de red y pulsa Intro para continuar. Una vez finalizada la configuración, deberías obtener la siguiente salida:

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

Una vez hayas terminado, puedes pasar al siguiente paso.

Inicializar la configuración de Elasticsearch Arkime

A continuación, tendrás que inicializar la configuración de Elasticsearch Arkime. Puedes hacerlo con el siguiente comando:

/opt/arkime/db/db.pl http://localhost:9200 init

A continuación, crea una cuenta de usuario admin para Arkime con el siguiente comando:

/opt/arkime/bin/arkime_add_user.sh admin "Moloch SuperAdmin" password --admin

A continuación, actualiza la base de datos Geo con el siguiente comando:

/opt/arkime/bin/arkime_update_geo.sh

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Iniciar y gestionar los servicios de Arkime

Arkime está formado por tres componentes, captura, visor y elasticsearch. Por tanto, necesitarás iniciar el servicio de cada componente.

Puedes iniciar el servicio Arkimecapture y Arkimeviewer y habilitarlos para que se inicien al reiniciar el sistema con el siguiente comando:

systemctl enable --now arkimecapture
systemctl enable --now arkimeviewer

Ahora puedes comprobar el estado de ambos servicios con el siguiente comando:

systemctl status arkimecapture arkimeviewer

Deberías obtener la siguiente salida:

? 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.

Puedes comprobar el registro del visor con el siguiente comando:

tail -f /opt/arkime/logs/viewer.log

Ahora puedes comprobar el registro de captura con el comando siguiente::

tail -f /opt/arkime/logs/capture.log

Deberías obtener la siguiente salida

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

Accede a la Interfaz Web de Arkime

En este punto, Arkime está iniciado y escuchando en el puerto 8005. Puedes comprobarlo con el siguiente comando

ss -antpl | grep 8005

Deberías obtener la siguiente salida:

LISTEN   0        511                          *:8005                  *:*       users:(("node",pid=11362,fd=20))                                               

Ahora, abre tu navegador web y accede a la interfaz web de Arkime utilizando la URL http://your-server-ip:8005. Se te pedirá que proporciones tu nombre de usuario y contraseña de administrador como se muestra a continuación:

Introduce tu nombre de usuario y contraseña de administrador y haz clic en el botón Iniciar sesión. Deberías ver el panel de Arkime en la siguiente página:

Conclusión

Enhorabuena! has instalado y configurado con éxito la herramienta de captura de paquetes Arkime en el servidor Ubuntu 22.04. Ahora puedes explorar Arkime para obtener más funcionalidades y empezar a capturar paquetes. No dudes en preguntarme si tienes alguna duda.

También te podría gustar...