一、基础环境
centos7 python2.7 pip
二、安装
1、pip安装
yum 安装pip 默认安装8.x.x版本 跟opencanary版本是不匹配的所以需要升级pip版本
下面几步操作可以直接升级到20版本
wget https://files.pythonhosted.org/packages/0b/f5/be8e741434a4bf4ce5dbc235aa28ed0666178ea8986ddc10d035023744e6/pip-20.2.4.tar.gz
tar -zxvf pip-20.2.4.tar.gz
cd pip-20.2.4/
sudo python setup.py install
————————————————
版权声明:本文为CSDN博主「惑小星」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40945805/article/details/123511216
2、查看requests包的版本
pip list
一定只能是requests 2.21.0版本,其他版本在运行蜜罐的时候会报错,很讨厌!!
3、安装opencanary
pip install opencanary
默认安装最新版本的,如果有需要的话可以指定版本。github能搜到,这里就不提供路径了。
4、安装iptables
yum install iptables-services
5、生成默认配置文件
opencanaryd --copyconfig
一般情况下 装完后 可以直接使用opencanaryd命令
如果不行,一般在 /usr/lib/python2.7/site-packages/opencanary
6、修改配置文件,配置文件可以决定启动的服务与监听的端口。
注意需要避开本机已经使用的端口号,如22、3306、3389、80
vim /etc/opencanaryd/opencanary.conf
{
"device.node_id": "opencanary-1",
"ip.ignorelist": [ ],
"git.enabled": true,
"git.port" : 9418,
"ftp.enabled": true,
"ftp.port": 21,
"ftp.banner": "FTP server ready",
"http.banner": "Apache/2.4.9",
"http.enabled": true,
"http.port": 80,
"http.skin": "nasLogin",
"httpproxy.enabled" : true,
"httpproxy.port": 8080,
"httpproxy.skin": "squid",
"logger": {
"class": "PyLogger",
"kwargs": {
"formatters": {
"plain": {
"format": "%(message)s"
},
"syslog_rfc": {
"format": "opencanaryd[%(process)-5s:%(thread)d]: %(name)s %(levelname)-5s %(message)s"
}
},
"handlers": {
"console": {
"class": "logging.StreamHandler",
"stream": "ext://sys.stdout"
},
"file": {
"class": "logging.FileHandler",
"filename": "/app/tmp/opencanary.log"
}
}
}
},
"portscan.enabled": true, #如果服务器上有定时监听端口的服务,建议portscan.enabled设置为false
"portscan.logfile":"/var/log/kern.log",
"portscan.synrate": 5,
"portscan.nmaposrate": 5,
"portscan.lorate": 3,
"smb.auditfile": "/var/log/samba-audit.log",
"smb.enabled": true,
"mysql.enabled": true,
"mysql.port": 3306,
"mysql.banner": "5.5.43-0ubuntu0.14.04.1",
"ssh.enabled": true,
"ssh.port": 2022,
"ssh.version": "OpenSSH_7.4p1 OpenSSL 1.0.2k-fips",
"redis.enabled": true,
"redis.port": 6379,
"rdp.enabled": true,
"rdp.port": 3389,
"sip.enabled": true,
"sip.port": 5060,
"snmp.enabled": true,
"snmp.port": 161,
"ntp.enabled": true,
"ntp.port": 123,
"tftp.enabled": true,
"tftp.port": 69,
"tcpbanner.maxnum":10,
"tcpbanner.enabled": true,
"tcpbanner_1.enabled": true,
"tcpbanner_1.port": 8001,
"tcpbanner_1.datareceivedbanner": "",
"tcpbanner_1.initbanner": "",
"tcpbanner_1.alertstring.enabled": true,
"tcpbanner_1.alertstring": "",
"tcpbanner_1.keep_alive.enabled": true,
"tcpbanner_1.keep_alive_secret": "",
"tcpbanner_1.keep_alive_probes": 11,
"tcpbanner_1.keep_alive_interval":300,
"tcpbanner_1.keep_alive_idle": 300,
"telnet.enabled": true,
"telnet.port": 23,
"telnet.banner": "",
"telnet.honeycreds": [
{
"username": "admin",
"password": "$pbkdf2-sha512$19000$bG1NaY3xvjdGyBlj7N37Xw$dGrmBqqWa1okTCpN3QEmeo9j5DuV2u1EuVFD8Di0GxNiM64To5O/Y66f7UASvnQr8.LCzqTm6awC8Kj/aGKvwA"
},
{
"username": "admin",
"password": "admin1"
}
],
"mssql.enabled": true,
"mssql.version": "2012",
"mssql.port":1433,
"vnc.enabled": true,
"vnc.port":5000
}
7、启动服务
opencanaryd --start
三、错误排查
第一次启动必不可少会缺少一些配置,根据它的报错提示去修修补补就好。
1、缺少必要包
缺少RDP、snmp、Scapy、pyudev包;
关注红色字体,缺啥补啥
2、requests版本不匹配
pip uninstall requests
pip install requests==2.21.0
3、端口被占用
netstat -tunlp
关注配置文件与启动端口是否有重复(80\161\22\3306端口)
重复一个都会影响启动
4、二次开发代码生效问题
每次有修改配置文件或者代码,想要生效都需执行
opencanary --restart
四、测试
可以用简单的就是用telnet一下端口,然后查看日志文件有无信息。
想要测试各个端口是否工作,就用nmap对IP开展扫描。
后续可以对日志内容进行二次开发,并且将日志内容通过邮件的方式发送给自己,达到迅速定位蜜罐告警的功能。
{"dst_host": "x.x.x.x", "dst_port": 8001, "local_time": "2021-03-05 02:11:23.955955", "local_time_adjusted": "2021-03-05 10:11:23.956014", "logdata": {"BANNER_ID": "1", "DATA": "", "FUNCTION": "CONNECTION_MADE"}, "logtype": 18002, "node_id": "opencanary-1", "src_host": "x.x.x.x", "src_port": 51126, "utc_time": "2021-03-05 02:11:23.956000"}