웹사이트 검색

Ubuntu 20.04에 Arkime 전체 패킷 캡처 도구를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Elasticsearch 설치
  4. 아키메 설치 및 구성
  5. Elasticsearch Arkime 구성 초기화\n
  6. 아키메 서비스 시작 및 관리
  7. 아키메 웹 인터페이스에 액세스
  8. 결론

Moloch로도 알려진 Arkime은 대규모 인덱싱된 오픈 소스 패킷 캡처 및 검색 도구입니다. 캡처된 모든 패킷을 PCAP 형식으로 저장하고 내보냅니다. Wireshark 또는 기타 PCAP 수집 도구를 사용하여 PCAP 내보낸 파일을 분석할 수 있습니다. Arkime은 브라우징, 검색 및 PCAP 내보내기에 사용할 수 있는 간단하고 사용자 친화적인 웹 인터페이스와 함께 제공됩니다. 여러 시스템에 배포되도록 설계되었으며 초당 기가비트의 트래픽을 처리할 수도 있습니다.

이 게시물에서는 Ubuntu 20.04에 Arkime 패킷 캡처 도구를 설치하는 방법을 보여줍니다.

전제 조건

  • Ubuntu 20.04를 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

시작하기 전에 시스템 패키지를 최신 버전으로 업데이트해야 합니다. 다음 명령으로 업데이트할 수 있습니다.

apt-get update -y

모든 패키지가 업데이트되면 다음 명령을 사용하여 필요한 종속성을 설치합니다.

apt-get install gnupg2 curl wget -y

모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Elasticsearch 설치

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은 캡처, 뷰어 및 Elasticsearch의 세 가지 구성 요소로 구성됩니다. 따라서 각 구성 요소에 대해 서비스를 시작해야 합니다.

다음 명령을 사용하여 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))                                               

이제 웹 브라우저를 열고 URL http://your-server-ip:8005를 사용하여 Arkime 웹 인터페이스에 액세스하십시오. 아래와 같이 관리자 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.

관리자 사용자 이름, 비밀번호를 제공하고 로그인 버튼을 클릭합니다. 다음 페이지에서 Arkime 대시보드를 볼 수 있습니다.

결론

축하합니다! Ubuntu 20.04 서버에 Arkime 패킷 캡처 도구를 성공적으로 설치하고 구성했습니다. 이제 더 많은 기능을 위해 Arkime을 탐색하고 패킷 캡처를 시작할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.