前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如果还有问ARKIME不会部署安装,你就把这篇丢给他!

如果还有问ARKIME不会部署安装,你就把这篇丢给他!

原创
作者头像
Java程序猿
发布2023-02-28 18:22:16
1.7K0
发布2023-02-28 18:22:16
举报
文章被收录于专栏:Java核心技术Java核心技术

前言

关于在线安装和离线安装的配合方式,在本文中不再赘述。基本就是准备在线、离线两个一模一样的环境,在在线环境中边安装边借助yumdownloader、wget等解析依赖和下载安装包,然后再离线环境中构建本地repo,利用yum进行直接安装。

具体细节,可以参考 Suricata 离线部署 这篇文章。

另外,本文的安装整体思路基本借鉴了 Arkime3(moloch)安装与配置 这篇文章,但是将环境迁移到了CentOS 8 Stream中,并且主要还是为了在离线环境中安装所记录。

一、环境准备

转向CentOS8,纯粹是因为要在离线环境下装一台古董机器,古董到主板似乎不支持UEFI设备启动。而CENTOS7的everything ISO高达7G多,小一点的标准ISO有4.8G,刚好超过一张标准DVD 4.7G的容量一丢丢。这搞得……如果不去买盒DVD9,估计是装不了了。而且,就算是DVD9,也不知道我的古董光驱能不能读出来。无奈,只能转向CENTOS 8 STREAM。因为好歹CENTOS8提供了一个boot版的安装镜像,只需要800M,一张DVD还是能刻下的。

CentOS官方网站进去,选择CentOS Steam,8,x86_64,随便选一个镜像地址进去就可以下载了。

至于安装过程,当然还是需要联网,好在可以先装好再离线,离线后用那个10G的ISO,可以构建本地的完整repo,用来进一步把yum-utils,createrepo装好。

二、ARKIME的下载和安装

既然CentOS升级了,Arkime咱也用最新的,当前最新的是Arkime3.4,直接到官网去下载rpm,当然这里似乎需要魔法,就是当你点下download看到一个小圈不停转、一直转的时候,就是提示你掏出魔法棒使用魔法了,注意念咒语的时候平卷舌和重音把握好,有效的话,应该能够看到下面的界面:

看到这个界面后面的操作其实就可以不用魔法加持了。直接到CentOS8下面下载,导入到要安装Arkime的系统中,可以用windows的SSH,也可以自己弄FTP,比如这篇文章有描述。如果是虚拟机,最好还是放在共享文件夹中,用vmhgfs-fuse映射。我这里是映射到/home/pig/share中,网络安全学习笔记合集自取!

直接安装一下试试,看看缺少啥依赖不……

可以看到,arkime在这里缺少的主要就3个依赖,分别是perl-JSON、perl-libwww-perl和perl-LWP-Protocol-https。使用yumdownloader解析并下载依赖包后安装。

三、ARKIME的配置和ES安装

依赖安装好以后,再执行arkime的安装就可以了。不过需要注意的是,这只是安装了arkime自身的一些组件,尚缺少elasticsearch,以及一些配置。而解决这一步的问题才是整个安装过程中比较复杂的部分。

至于如何安装elasticsearch,如何配置arkime,在/opt/arkime/bin/Configure这个脚本中列得很清楚了,建议直接读懂这个脚本,其实有用得行不多,看明白以后就知道后面的安装大致都干了什么,出错了也好处理。

最容易出错的地方(尤其是在离线安装时)是ElasticSearch的安装。

从官网上这里就可以看出,Arkime和ElastcSearch的版本是有一个配对关系的(实际就算版本号对准了,类型没对准也会转不起来,离线安装时我在这里卡了好久),所以还是不要自己去官网直接下载ES了,下不对很麻烦。我们可以借助这个Configure脚本,在在线安装的同时帮助我们直接下载对应版本的ES。

打开/opt/arkime/bin/Configure脚本,找到如下安装ES的这一行,复制一行后改一下命令,

把yum install改成wget,直接借用脚本中的ES下载链接,把对应版本的ES的rpm包给弄下来。

然后就可用用Configure进行ES的安装和Arkime的配置工作。

在此之前,先确定网络配置是正确的,最好使用手动配置IP,DHCP的IP地址每次开虚拟机都加1,很是崩溃:

并确认对应网络接口的名字,因为一会要填。

然后执行Configure,注意如下图的地方,第一个要填网卡接口名,第二个只能填yes,第三个填一个你自己的口令密码,好记不好记的无所谓,反正到现在也没让我输入第二次,然后就是下载和安装的时候,因为我们没有用-y选项,所以要敲两次Y,最后是GEO信息的下载,这里要选no,回头我们用前面参考那片博客的文章手动的配置它。

如果一切正常,主要是ES能够正确下载并安装的话,就会报告完毕,然后再GEO那个选项输入no后,基本就完事了,然后需要我们参考屏幕上返回的指示完成剩下的4、5、6、7、8、9步,这也很简单,复制对应的命令粘贴执行就好。

当然在systemctl start elasticsearch.service后,需要看看ES是否正常——有时虽然服务是开的,端口是开的,但是执行curl http://localhost:9200时就是看不到如下的结果,那么再继续往下就是没有意义的:

如果结果正确,可以执行第5步,初始化ES数据库,注意替换ESHOST为localhost;第6步,增加用户名和密码(这个会用来登录Arkime界面),密码记得用自己的,不要用我的:)

然后第7步,到这里,只要viewer的服务启动了,就可以再浏览器里输入http://localhost:8005登录arkime的界面了。但由于GEO还没配置号,capture服务应该无法正确启动,在arkime中还看不到实际采集的数据。

实际上,只要读懂了前面的Configure脚本,就能跟踪到此处是执行arkime_update_geo.sh,主要目的就是下载2个文件。从arkime_update_geo.sh直接拿出两个地址进行wget。

打开/opt/arkime/etc目录,下载下面两个地址的文件到该目录下:

代码语言:javascript
复制
1. https://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.csv
2.https://raw.githubusercontent.com/wireshark/wireshark/master/manuf

其中,第二个地址下载下来的文件应该改名为oui.txt。另外,第二个地址比较魔幻,早上连不上晚上能连上,固网能连上移动网连不上,不知是不是DNS问题,所以如果不太好用的话,就再试试下面这个地址,没准更好使一点:

代码语言:javascript
复制
https://gitlab.com/wireshark/wireshark/-/raw/master/manuf

下载及更名完成后,重启一下capture服务

再登陆服务器

等一会应该就能看到数据上来了,比如再session界面……实在等得着急的话,ping一下主机看看,应该也就可以了:

四、离线安装Arkime

离线安装的第一步,当然是建立本地repo;这个参考之前文章,不多说了,建库、清走原先的repo配置文件,新建local配置文件,清缓存、建缓存,5步走。

代码语言:txt
复制
    然后就可以愉快地安装缺少的3个依赖项了,perl-JSON,perl-libwww-perl,perl-LWP-Protocol-https:

安装arkime的时候也不用rpm了,因为已经建立了库,所以直接yum install arkime……什么?不知道后面接着写啥?直接tab键就知道了。是不是很清爽:)

同样,用这个办法也可以在安装ES前知道yum install的那个ES的全名是什么,先tab出来,不要回车,我们复制一下,后面有用……

vim /opt/arkime/bin/Configure,把前面提到的那行下载并安装ES的语句直接替换成这一句,保存。

执行/opt/arkime/bin/Configure,是不是继续很清爽? :)

装完以后,接着依葫芦画瓢4、5、6、7、8、9。当然,那两个文件要提前拷贝到/opt/arkime/etc文件夹下面

弄完基本就装好了,唯一不同的是,因为网络接口上只配置了固定IP地址而没有任何数据,所以虽然capture服务运转良好,但在arkime里其实现在是看不到数据的。

至于离线环境下的pcap的解析建索引操作,可以直接执行/opt/arkime/bin/下的capture,命令很简单,参考--help,只需要使用-R一类的参数指定cap文件的目录或者list文件的位置即可,其它使用默认设置就行,arikimecapture服务也没有必要启动。

当然,如果所需做索引的数据量比较大的话,需要考虑默认存储索引的地方容量是否够用问题,这个需要先停止elasticsearch的服务后,编辑/etc/elasticsearch/elasticsearch.yml文件,配置将path.data: /var/lib/elasticsearch这个目录配置到有足够容量的地方,并且开启相应的权限。

由于我的模拟环境拆掉了,所以这里没有办法再贴图。话说更改ElasticSearch的数据存放目录,有一个比较坑的地方:就是直接建立一个目录去替换/var/lib/elasticsearch,百分之百服务会启动失败的。一般来说原因在于自建的目录所属和权限不对。使用ls -l /var/lib/elasticsearch观察一下目录权限,并且保证自建目录的权限和它一致,这里有几点需要注意:

  1. /var/lib/elasticsearch的ls结果是"drwxr-s--- elasticsearch elasticsearch”,表示其用户是elasticsearch user,组是elastic search和。
  2. drwxr-s---,指该目录拥有者可以读写执行,所属组可以读和执行,并且拥有GUID一类的权限(就是这个S,大写的S代表有这些GUID一类什么的权限,小写s代表除此之外还有执行权限);所以,在使用chmod调整新建目录的权限时,应该使用"chmod 2750 目录名"命令。

3.新建目录的外面应该所属是root,因为/var/lib都是root的,保持一致。

五、调整虚拟机分辨率

这个实在就几句话,不想新开贴了,在这里mark一下。用vmware可以不必关注,直接拉边框就行,但是用hyperV实在难受。在CentOS下,可以执行如下命令:

grubby --update-kernel=ALL --args="video=hyperv_fb:1600x1280"

分辨率可以自设,硬件支持就好,还有就是那个乘号,是英文字母x,欸克斯,不是全角数学符号。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、环境准备
  • 二、ARKIME的下载和安装
  • 三、ARKIME的配置和ES安装
  • 四、离线安装Arkime
  • 五、调整虚拟机分辨率
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档