前言

关于在线安装和离线安装的配合方式,在本文中不再赘述。基本就是准备在线、离线两个一模一样的环境,在在线环境中边安装边借助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目录,下载下面两个地址的文件到该目录下:

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问题,所以如果不太好用的话,就再试试下面这个地址,没准更好使一点:

https://gitlab.com/wireshark/wireshark/-/raw/master/manuf

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

再登陆服务器

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

四、离线安装Arkime

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

    然后就可以愉快地安装缺少的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,欸克斯,不是全角数学符号。

如果还有问ARKIME不会部署安装,你就把这篇丢给他!的更多相关文章

  1. _00024 尼娜抹微笑伊拉克_云计算ClouderaManager以及CHD5.1.0群集部署安装文档V1.0

    笔者博文:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  2. Hadoop教程(五)Hadoop分布式集群部署安装

    Hadoop教程(五)Hadoop分布式集群部署安装 1 Hadoop分布式集群部署安装 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,还有一个处于standby状态 ...

  3. Android 开发环境在 Windows7 下的部署安装

    Android SDK Android SDK 为 Android 应用的开发.测试和调试提了必要的API库和开发工具. ADT Bundle 下载 如果你是一个android 开发新手,推荐你下载使 ...

  4. Windows系统下部署安装一个/多个Tomcat8

    首先从http://tomcat.apache.org/上下载Tomcat8.0压缩版的,解压到指定路径后即可.  第一:在Windows系统中安装部署单个Tomcat         对于这种情况, ...

  5. Zabbix监控windows部署安装

    Zabbix agent 在windows上安装部署 1.  下载与解压 地址: http://www.zabbix.com/downloads/2.4.0/zabbix_agents_2.4.0.w ...

  6. Hadoop 2.2.0部署安装(笔记,单机安装)

    SSH无密安装与配置 具体配置步骤: ◎ 在root根目录下创建.ssh目录 (必须root用户登录) cd /root & mkdir .ssh chmod 700 .ssh & c ...

  7. Ubuntu16.04 部署安装Docker容器 & 注意事项

    一.部署安装Docker容器 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多 ...

  8. Docker+Redis镜像的原理以及部署安装(超详解附截图)

    文章来源:公众号-智能化IT系统. 一. DOCKER介绍 Docker简介 (1)Docker 是一个开源的应用容器引擎,基于 Go 语言,并遵从Apache2.0协议开源. (2)Docker 可 ...

  9. 单机多实例mysq 8.0l部署安装

    单机多实例mysql部署安装 目的需求 在单台虚拟机部署部署多实例mysql,用于配置mysql replication,MHA等. 思路 多实例安装mysql可以参考<源编译MySQL8.0的 ...

  10. 搭建互联网架构学习--006--duboo准备之zk集群部署安装

    dubbo集群部署安装依赖于zookeeper,所以先安装zookeeper集群. 1.准备三台机器做集群 2.配置 配置java环境  ,2,修改操作系统的/etc/hosts文件,添加IP与主机名 ...

随机推荐

  1. Apache Kafka 的基本概念

    基本概念 主题 Topic topic 是 Kafka 最基础的组织单位,类似于关系数据库中的数据表.做为使用 kafka 的开发者,你最应该考虑的是和 topoc 相关的抽象.创建不同的 topic ...

  2. python之路54 forms组件 渲染 展示 参数补充 modelform组件 django中间件

    forms组件渲染标签 <p>forms组件渲染标签的方式1(封装程度高 扩展性差 主要用于本地测试):</p> {# {{ form_obj.as_p }}#} {# {{ ...

  3. BC4-牛牛学说话之-浮点数

    题目描述 会说整数之后,牛牛开始尝试浮点数(小数),输入一个浮点数,输出这个浮点数. 输入描述 输入一个浮点数 输出描述 输出一个浮点数,保留三位小数 示例 1 输入:1.359578 输出:1.36 ...

  4. Unity_UIWidgets - 组件Drawer

    Unity_UIWidgets - 组件Drawer 组件Drawer Drawer 构造 代码 效果 Drawer使用完毕 结语 图标Icon QQ 今日无推荐 组件Drawer 各位伙伴,周日愉快 ...

  5. Argus 与其他(非Oracle B2B)EDI 工具的集成

    Argus 是Oracle 的产品,它自然推荐使用Oracle 自己的EDI 系统,这个系统就是Oracle B2B.但是Argus 留有与其他EDI 工具的集成空间,即即使不使用Oracle B2B ...

  6. drf入门规范、序列化器组件、视图组件、请求与响应

    DRF框架之入门规范 ​ 本篇文章会详细介绍web开发模式.API接口及其接口测试工具.restful规范.还有经常分不清又很重要的序列化与反序列化的部分,初级交接触APIView.Request类. ...

  7. liinux-目录、文件结构及相关命令

    1.前期必备知识 1.命令提示符 [root@max001 ~]#:root表示用户信息,max001表示主机名称. [root@max001 ~]%:普通用户结尾是$符号. 2.命令格式规范(语法规 ...

  8. 一文详解数仓GaussDB(DWS) 函数出参带出方式

    摘要:本文主要讲解DWS函数出参带出方式. 本文分享自华为云社区<GaussDB(DWS)功能 -- 函数出参 #[玩转PB级数仓GaussDB(DWS)]>,作者:譡里个檔 . DWS的 ...

  9. Grafana 系列文章(十四):Helm 安装Loki

    前言 写或者翻译这么多篇 Loki 相关的文章了, 发现还没写怎么安装 现在开始介绍如何使用 Helm 安装 Loki. 前提 有 Helm, 并且添加 Grafana 的官方源: helm repo ...

  10. Cannot access child value on Newtonsoft.Json.Linq.JValue

    开发项目框架为.net framework,遇到此问题原因是笔者在做接口转发时接口返回类型直接定义为了object类型,这导致格式化返回结果时出现如标题异常,具体代码如下 try { var resu ...