Arkime, également connu sous le nom de Moloch, est un outil de capture et de recherche de paquets indexés open-source et à grande échelle. Il stocke et exporte tous les paquets capturés au format PCAP. Vous pouvez utiliser Wireshark ou d'autres outils d'ingestion PCAP pour analyser le fichier exporté PCAP. Arkime est livré avec une interface Web simple et conviviale que vous pouvez utiliser pour parcourir, rechercher et exporter PCAP. Il est conçu pour être déployé sur plusieurs systèmes et également capable de gérer des gigabits par seconde de trafic.
Dans cet article, nous vous montrerons comment installer l'outil Arkime Packet Capture sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour avec la commande suivante :
apt-get update -y
Une fois tous les packages mis à jour, installez les dépendances requises à l'aide de la commande suivante :
apt-get install gnupg2 curl wget -y
Une fois tous les packages installés, vous pouvez passer à l'étape suivante.
Installer Elasticsearch
Arkime utilise Elasticsearch pour l'indexation et la recherche. Elasticsearch doit donc être installé sur votre système. Par défaut, la dernière version d'Elasticsearch n'est pas incluse dans le référentiel par défaut d'Ubuntu. Vous devrez donc ajouter le référentiel Elasticsearch à votre système.
Tout d'abord, ajoutez la clé GPG avec la commande suivante :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | apt-key add -
Ensuite, ajoutez le référentiel Elasticsearch à l'APT avec la commande suivante :
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Ensuite, mettez à jour le référentiel et installez le package Elasticsearch avec la commande suivante :
apt-get update -y
apt-get install elasticsearch -y
Une fois Elasticsearch installé, modifiez le fichier de configuration Elasticsearch et définissez la mémoire Java :
nano /etc/elasticsearch/jvm.options
Modifiez les lignes suivantes :
-Xms1g -Xmx1g
Enregistrez et fermez le fichier, puis activez le service Elasticsearch pour qu'il démarre au redémarrage du système avec la commande suivante :
systemctl enable --now elasticsearch
Par défaut, Elasticsearch écoute sur le port 9200. Vous pouvez le vérifier avec la commande suivante :
ss -antpl | grep 9200
Vous devriez obtenir le résultat suivant :
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))
Vous pouvez également vérifier Elasticsearch avec la commande suivante :
curl http://localhost:9200
Vous devriez obtenir le résultat suivant :
{ "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" }
À ce stade, Elasticsearch est installé et en cours d'exécution. Vous pouvez maintenant passer à l'étape suivante.
Installer et configurer Arkime
Tout d'abord, téléchargez la dernière version d'Arkime avec la commande suivante :
wget https://s3.amazonaws.com/files.molo.ch/builds/ubuntu-20.04/moloch_2.7.1-1_amd64.deb
Une fois le package téléchargé, installez le package téléchargé avec la commande suivante :
apt install ./moloch_2.7.1-1_amd64.deb
Une fois l'Arkime installé, configurez-le avec la commande suivante :
/data/moloch/bin/Configure
Il vous sera demandé de spécifier l'interface réseau comme indiqué ci-dessous :
Found interfaces: lo;eth0;eth1 Semicolon ';' seperated list of interfaces to monitor [eth1] eth0
Tapez le nom de votre interface réseau et appuyez sur Entrée pour continuer. Une fois la configuration terminée, vous devriez obtenir le résultat suivant :
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
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Initialiser la configuration Elasticsearch Arkime
Ensuite, vous devrez initialiser la configuration d'Elasticsearch Arkime. Vous pouvez le faire avec la commande suivante :
/data/moloch/db/db.pl http://localhost:9200 init
Ensuite, créez un compte utilisateur administrateur pour Arkime avec la commande suivante :
/data/moloch/bin/moloch_add_user.sh admin "Moloch SuperAdmin" mypassword --admin
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Démarrer et gérer les services Arkime
Arkime est composé de trois composants, capture, visualiseur et elasticsearch. Vous devrez donc démarrer le service pour chaque composant.
Vous pouvez démarrer les services molochcapture et molochviewer et leur permettre de démarrer au redémarrage du système avec la commande suivante :
systemctl enable --now molochcapture
systemctl enable --now molochviewer
Vous pouvez maintenant vérifier l'état des deux services avec la commande suivante :
systemctl status molochcapture molochviewer
Vous devriez obtenir le résultat suivant :
? 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.
Vous pouvez maintenant consulter le journal du visualiseur avec la commande suivante :
tail -f /data/moloch/logs/viewer.log
Vous devriez voir le résultat suivant :
Express server listening on port 8005 in development mode
Pour vérifier le journal de capture, exécutez la commande suivante :
tail -f /data/moloch/logs/capture.log
Vous devriez voir le résultat suivant :
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
Accéder à l'interface Web d'Arkime
À ce stade, Arkime est démarré et écoute sur le port 8005. Vous pouvez le vérifier avec la commande suivante :
ss -antpl | grep 8005
Vous devriez obtenir le résultat suivant :
LISTEN 0 511 *:8005 *:* users:(("node",pid=11362,fd=20))
Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web d'Arkime en utilisant l'URL http://your-server-ip:8005 . Il vous sera demandé de fournir votre nom d'utilisateur et votre mot de passe d'administrateur comme indiqué ci-dessous :
Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur, puis cliquez sur Connexion bouton. Vous devriez voir le tableau de bord Arkime sur la page suivante :
Conclusion
Toutes nos félicitations! vous avez installé et configuré avec succès l'outil de capture de paquets Arkime sur le serveur Ubuntu 20.04. Vous pouvez maintenant explorer l'Arkime pour plus de fonctionnalités et commencer à capturer des paquets. N'hésitez pas à me demander si vous avez des questions.