安全矩阵

 找回密码
 立即注册
搜索
查看: 1228|回复: 0

如何搭建属于自己内网全流量的IDS/IPS

[复制链接]

65

主题

65

帖子

241

积分

中级会员

Rank: 3Rank: 3

积分
241
发表于 2022-10-8 19:37:30 | 显示全部楼层 |阅读模式
如何搭建属于自己内网全流量的IDS/IPS (qq.com)

0x01 前言
      在我们日常工作中常常会用到一些工具,普通杀软只能检测这些工具有没有毒,无法检测工具有没有异常外联,无法检测流量,
      再比如在内网中,我相信不小小伙伴都扫过内网,普通杀软也无法检测内网一些工具,要防御这些其实很简单,搭建一个IDS/IPS就行了,
       搭建普通IDS/IPS很简单,Suricata和Snort任意一个都可以,但是他们无法保存流量,无法对告警的流量进行分析,这时想到了arkime可以利用arkime和suricata进行联动,arkime用于保存全流量,suricata用于流量检测,然后就可以从arkime下载命中suricata规则的流量包进行分析
0x02arkime搭建
arkime官网:https://arkime.com/
这里我用的centos系统,所以直接下载centos的rpm文件

下载arkime的rpm安装包

wget https://s3.amazonaws.com/files.m ... -3.4.2-1.x86_64.rpm

安装依赖

yum -y install perl-libwww-perl perl-JSON libyaml-devel perl-LWP-Protocol-https

安装rpm包
rpm -ivh arkime-3.1.1-1.x86_64.rpm

     不过需要注意的是,这只是安装了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的配置工作。
  然后执行Configure,注意如下图的地方,第一个要填网卡接口名,第二个只能填yes,第三个填一个你自己的口令密码,

然后就是下载和安装的时候

最后是GEO信息的下载,这里要选no

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

第四步启动elasticsearch

systemctl start elasticsearch.service
如果报错

则查看目录有没
有elasticsearch的rpm文件

如果没有则下载,找的上面报错信息

下载且安装再次启动

查看需要看看ES是否正常,执行

curl http://127.0.0.1:9200
查看是否有返回,如果没以下结果则检查以上步骤

如果结果正确,可以执行第5步,初始化ES数据库,注意替换ESHOST为localhost;

第6步,增加用户名和密码(这个会用来登录Arkime界面)

第7步,启动

systemctl start arkimecapture.service systemctl start arkimeviewer.service

第8步是查看日志文件
第九步登录
第七步启动了,但由于GEO还没配置号,capture服务应该无法正确启动,在arkime中还看不到实际采集的数据。
        实际上,只要读懂了前面的Configure脚本,就能跟踪到此处是执行arkime_update_geo.sh,主要目的就是下载2个文件。从arkime_update_geo.sh直接拿出两个地址进行wget。
       打开/opt/arkime/etc目录,下载下面两个地址的文件到该目录下:
  1. https://www.iana.org/assignments ... 4-address-space.csv

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


     下载及更名完成后,重启一下capture服务
   再登陆服务器
  等一会应该就能看到数据上来了,比如再session界面……实在等得着急的话,ping一下主机看看,应该也就可以了



0x03 安装suricata
安装

yum install suricata

更新规则

suricata-update

测试是否安装好

suricata

0x04Arkime与Suricata联动配置与使用

配suricata插件
​​​​​​​
cd /opt/arkime/etc/vim config.ini搜索关键词pluginsDir,在面新增如下内容
​​​​​​​
# Add suricata.so to your plugins line, or add a new plugins lineplugins=suricata.so# suricataAlertFile should be the full path to your alert.json or eve.json filesuricataAlertFile=/var/log/suricata/eve.jsonsuricataExpireMinutes=60

配置arkime读取suricata数据修改eve.json权限

           

chmod o+r /var/log/suricata/eve.json

如果提示没此文件运行以下suricata就有这个文件了

修改dorpUser cd /opt/arkime/etc/ vim config.ini搜索关键词dropUser,修改为root,

0x05 测试
测试环境

攻击者利用永恒之蓝攻击靶机

IPS/IDS成功检测到异常流量


后续可将此流量下载,进行分分析是否误报

0x06 总结
可将此系统部署到内网中合适的位置就可以检测所有内网中的流量,
也可以研究以下opnsense,貌似也挺好用的
0x07 参考
https://blog.csdn.net/lhyzws/article/details/124433680
https://blog.csdn.net/orright/article/details/120894886
https://blog.csdn.net/orright/article/details/120910452


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-3-28 17:19 , Processed in 0.014602 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表