Как установить инструмент Arkime Full Packet Capture на Ubuntu 20.04
На этой странице
- Предпосылки
- Начало работы
- Установить Elasticsearch
- Установка и настройка Arkime
- Инициализировать конфигурацию Elasticsearch Arkime.
- Запуск и управление службами Arkime
- Доступ к веб-интерфейсу Arkime
- Заключение
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 для получения дополнительной функциональности и начать захват пакетов. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.