Bearded-avenger(cifv3)搭建

一、简介

Bearded-avenger(cifv3)是一个定期爬取公开威胁数据的平台(the fastest way to consume threat intelligence)。通过定制yaml规则对定期公布威胁数据的站点进行数据爬取,并归纳整理出统一的格式方便安全人员使用。
数据库有两种选择:Sqlite和Elasticsearch,我选择了强大的Elasticsearch
github:https://github.com/csirtgadgets/bearded-avenger


二、准备一个搭建cifv3的服务器环境

建议使用:(本人本次搭建在ESX上)
操作系统:ubuntu14.04
内核数:8个
内存:16G


三、选择一个最新的稳定版本下载到本地

本次使用:https://github.com/csirtgadgets/bearded-avenger/releases/tag/3.0.0a16

cd /root/
wget https://github.com/csirtgadgets/bearded-avenger/archive/3.0.0a16.tar.gz

四、前期网络环境及下载源的设置

1. 更改为阿里云源

mv /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
2. ubuntu配置pip国内镜像源

cd ~
mkdir .pip
cd .pip
vim pip.conf

[global]
trusted-host = mirrors.ustc.edu.cn
index-url = https://mirrors.ustc.edu.cn/pypi/web/simple
3. 更新系统源和软件

apt-get update
apt-get upgrade


五、一些可能出错的提前避免

由于使用的是一键安装脚本,所以每次出错都要重新执行一遍,而且其中可能命令重复又会出现新的问题,在此给出了所有可能出错的解决方法,可以运行解决办法中的命令,让大家讲问题扼杀在萌芽期。

1. ImportError: No module named packaging.version

错误截图:

pip.jpg

解决办法:

apt-get purge -y python-pip
wget https://bootstrap.pypa.io/get-pip.py
python ./get-pip.py
apt-get install python-pip
2. geoipupdate失败(国内更新geoip库可能较慢,超过超时时间)

错误截图:

geoip.jpg

解决办法:

add-apt-repository ppa:maxmind/ppa
aptitude update
aptitude install geoipupdate
geoipupdate -v

参考:https://github.com/maxmind/geoipupdate

3. ansible_env错误

错误截图:

ansible.jpg

解决办法:

vim bearded-avenger/deployment/ubuntu14/roles/ubuntu14/tasks/user.yml
ansible_env.SUDO_USER 改成 ansible_env.USER
ansible2.png
4. 执行测试脚本时出错(存在国内无法访问的域名)

错误截图:

test.png

部分出错代码:

    "=================================== FAILURES ===================================",
    "______________________________ test_gatherer_asn _______________________________",
    "",
    "    def test_gatherer_asn():",
    "        a = Asn(fast=False)",
    "    ",
    "        def _resolve(i):",
    "            return data",
    "    ",
    "        a._resolve_ns = _resolve",
    "        x = a.process(Indicator(indicator='216.90.108.0'))",
    "    ",
    ">       assert x.asn == '23028'",
    "E       assert None == '23028'",
    "E        +  where None = {\\n    \"indicator\": \"216.90.108.0\",\\n    \"itype\": \"ipv4\"\\n}.asn",
    "",
    "test/test_gatherer_asn.py:28: AssertionError",
    "----------------------------- Captured stderr call -----------------------------",
    "2017-02-17 07:08:11,757 - INFO - cif.utils[22][MainThread] - \u001b[32m0.108.90.216.origin.asn.cymru.com - The DNS operation timed out after 5.0050868988 seconds -- this may be normal\u001b[0m",
    "2017-02-17 07:08:11,757 - INFO - cif.utils[22][MainThread] - \u001b[32m\u001b[32m0.108.90.216.origin.asn.cymru.com - The DNS operation timed out after 5.0050868988 seconds -- this may be normal\u001b[0m\u001b[0m",
    "2017-02-17 07:08:11,757 - INFO - cif.utils[22][MainThread] - \u001b[32m\u001b[32m\u001b[32m0.108.90.216.origin.asn.cymru.com - The DNS operation timed out after 5.0050868988 seconds -- this may be normal\u001b[0m\u001b[0m\u001b[0m",
    "================ 1 failed, 17 passed, 9 skipped in 7.83 seconds ================"

解决办法:
暂时删掉过不去的测试脚本

cd bearded-avenger/test
mv test_gatherer_asn.py test_gatherer_asn.py.bak
5. docker pull elasticsearch镜像时可能超时

在本地安装docker并pull elasticsearch:2

流程:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
docker pull elasticsearch:2

六、执行一件安装脚本:

cd bearded-avenger/deployment/ubuntu14
bash bootstrap_elasticsearch.sh

成功安装的截图:

chengong.png

七、尝试爬取黑IP黑域名等数据到elasticsearch

su - cif
csirtg-smrt --client cif --fireball -r /etc/cif/rules/default/csirtg.yml -f port-scanners -d

成功执行的截图:

feed.png

八、查看elasticsearch数据

目前elasticsearch还没有安装head、kopf等插件,只能用curl命令
可拷贝其他elasticsearch中的plugins目录到本地的指定目录。

root@elk:~/bearded-avenger/test# find / -name elasticsearch.in.sh
/var/lib/docker/aufs/diff/b8d77a9eee69729f60d454e22b262abd93ebd135fedf92faff4b7e5d950a1194/usr/share/elasticsearch/bin/elasticsearch.in.sh
/var/lib/docker/aufs/mnt/1b866f98ba81754fdee761eb64bb3782594d3ac4890ffa271d9f5c6abc929594/usr/share/elasticsearch/bin/elasticsearch.in.sh
root@elk:~/bearded-avenger/test# cd /var/lib/docker/aufs/mnt/1b866f98ba81754fdee761eb64bb3782594d3ac4890ffa271d9f5c6abc929594/usr/share/elasticsearch/
root@elk:/var/lib/docker/aufs/mnt/1b866f98ba81754fdee761eb64bb3782594d3ac4890ffa271d9f5c6abc929594/usr/share/elasticsearch# ll
total 52
drwxr-xr-x 13 root root 4096 Feb 17 08:05 ./
drwxr-xr-x 72 root root 4096 Feb 17 07:05 ../
drwxr-xr-x  2 root root 4096 Feb 17 08:05 bin/
drwxr-xr-x  3 bind ssh  4096 Feb  7 15:54 config/
drwxr-xr-x  2 bind ssh  4096 Feb  7 15:53 data/
drwxr-xr-x  2 root root 4096 Feb  7 15:53 lib/
drwxr-xr-x  2 bind ssh  4096 Feb  7 15:53 logs/
drwxr-xr-x  5 root root 4096 Feb  7 15:53 modules/
-rw-r--r--  1 root root  150 Jan  3 06:51 NOTICE.txt
drwxr-xr-x  4 bind ssh  4096 Feb 17 08:02 plugins/
-rw-r--r--  1 root root 8700 Jan  3 06:51 README.textile
root@elk:/var/lib/docker/aufs/mnt/1b866f98ba81754fdee761eb64bb3782594d3ac4890ffa271d9f5c6abc929594/usr/share/elasticsearch# cd plugins/
root@elk:/var/lib/docker/aufs/mnt/1b866f98ba81754fdee761eb64bb3782594d3ac4890ffa271d9f5c6abc929594/usr/share/elasticsearch/plugins# ll
total 16
drwxr-xr-x  4 bind ssh  4096 Feb 17 08:02 ./
drwxr-xr-x 13 root root 4096 Feb 17 08:05 ../
drwxr-xr-x  5 bind ssh  4096 Feb 17 07:59 head/
drwxr-xr-x  8 bind ssh  4096 Feb 17 07:59 kopf/

九、其他配置

修改elasticsearch.in.sh 文件中的配置信息,保证发挥elasticsearch的最大特性
将此处两个值设置相同切小于等于最大内存数的1/2,此处可设置成8g
其他参数根据自己需求进行修改

es.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容