Поиск по сайту:

Как установить инструмент Arkime Full Packet Capture на Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Elasticsearch
  4. Установка и настройка Arkime
  5. Инициализировать конфигурацию Elasticsearch Arkime.
  6. Запуск и управление службами Arkime
  7. Доступ к веб-интерфейсу Arkime
  8. Заключение

Arkime, также известный как Moloch, представляет собой крупномасштабный индексированный инструмент для захвата и поиска пакетов с открытым исходным кодом. Он хранит и экспортирует все захваченные пакеты в формате PCAP. Вы можете использовать Wireshark или другие инструменты загрузки PCAP для анализа экспортированного файла PCAP. Arkime поставляется с простым и удобным веб-интерфейсом, который можно использовать для просмотра, поиска и экспорта PCAP. Он предназначен для развертывания в нескольких системах, а также может обрабатывать гигабиты трафика в секунду.

В этом посте мы покажем вам, как установить инструмент Arkime Packet Capture на Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Пароль root настраивается на сервере.

Начиная

Перед запуском вам необходимо обновить системные пакеты до последней версии. Вы можете обновить их с помощью следующей команды:

apt-get update -y

После обновления всех пакетов установите необходимые зависимости с помощью следующей команды:

apt-get install gnupg2 curl wget -y

После установки всех пакетов можно переходить к следующему шагу.

Установить эластичный поиск

Arkime использует Elasticsearch для индексации и поиска. Поэтому Elasticsearch должен быть установлен в вашей системе. По умолчанию последняя версия Elasticsearch не включена в стандартный репозиторий Ubuntu. Поэтому вам нужно будет добавить репозиторий Elasticsearch в вашу систему.

Сначала добавьте ключ GPG с помощью следующей команды:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch --no-check-certificate | apt-key add -

Затем добавьте репозиторий Elasticsearch в APT с помощью следующей команды:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

Затем обновите репозиторий и установите пакет Elasticsearch с помощью следующей команды:

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

После установки Elasticsearch отредактируйте файл конфигурации Elasticsearch и установите память Java:

nano /etc/elasticsearch/jvm.options

Измените следующие строки:

-Xms1g
-Xmx1g

Сохраните и закройте файл, затем включите службу Elasticsearch для запуска при перезагрузке системы с помощью следующей команды:

systemctl enable --now elasticsearch

По умолчанию Elasticsearch прослушивает порт 9200. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 9200

Вы должны получить следующий результат:

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

Вы также можете проверить Elasticsearch с помощью следующей команды:

curl http://localhost:9200

Вы должны получить следующий результат:

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

На данный момент Elasticsearch установлен и работает. Теперь вы можете перейти к следующему шагу.

Установите и настройте Arkime

Сначала загрузите последнюю версию Arkime с помощью следующей команды:

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

После загрузки пакета установите загруженный пакет с помощью следующей команды:

apt install ./moloch_2.7.1-1_amd64.deb

После установки Arkime настройте его с помощью следующей команды:

/data/moloch/bin/Configure

Вам будет предложено указать сетевой интерфейс, как показано ниже:

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

Введите имя сетевого интерфейса и нажмите Enter, чтобы продолжить. После завершения настройки вы должны получить следующий вывод:

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

Как только вы закончите, вы можете перейти к следующему шагу.

Инициализировать конфигурацию Elasticsearch Arkime

Далее вам нужно будет инициализировать конфигурацию Elasticsearch Arkime. Вы можете сделать это с помощью следующей команды:

/data/moloch/db/db.pl http://localhost:9200 init

Затем создайте учетную запись администратора для Arkime с помощью следующей команды:

/data/moloch/bin/moloch_add_user.sh admin "Moloch SuperAdmin" mypassword --admin

Как только вы закончите, вы можете перейти к следующему шагу.

Запуск и управление службами Arkime

Arkime состоит из трех компонентов: захвата, просмотра и эластичного поиска. Поэтому вам нужно будет запустить службу для каждого компонента.

Вы можете запустить службы molochcapture и molochviewer и включить их запуск при перезагрузке системы с помощью следующей команды:

systemctl enable --now molochcapture
systemctl enable --now molochviewer

Теперь вы можете проверить состояние обеих служб с помощью следующей команды:

systemctl status molochcapture molochviewer

Вы должны получить следующий результат:

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

Теперь вы можете проверить журнал просмотра с помощью следующей команды:

tail -f /data/moloch/logs/viewer.log

Вы должны увидеть следующий вывод:

Express server listening on port 8005 in development mode

Чтобы проверить журнал захвата, выполните следующую команду:

tail -f /data/moloch/logs/capture.log

Вы должны увидеть следующий вывод:

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

Доступ к веб-интерфейсу Arkime

В этот момент Arkime запущен и прослушивает порт 8005. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 8005

Вы должны получить следующий результат:

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

Теперь откройте веб-браузер и войдите в веб-интерфейс Arkime, используя URL-адрес http://your-server-ip:8005. Вам будет предложено ввести имя пользователя и пароль администратора, как показано ниже:

Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель управления Arkime на следующей странице:

Заключение

Поздравляем! вы успешно установили и настроили инструмент захвата пакетов Arkime на сервере Ubuntu 20.04. Теперь вы можете изучить Arkime для получения дополнительной функциональности и начать захват пакетов. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.