opencanary守护进程

patron-it-opencanar的Python项目详细描述


Release @ PyPILinux build @ Travis CIDocs @ RTDBSD License

开放式金丝雀

Thinkst应用研究

概述

opencanary是一个守护进程,它运行多个canary版本的服务,在使用服务(ab)时发出警报。这是一个低互动度的蜜罐,打算在内部网络上运行

先决条件

  • Python2.7+
  • [可选]Samba模块需要Samba的工作安装

安装

在Ubuntu上安装:

$ sudo apt-get install python-dev python-pip python-virtualenv
$ virtualenv env/
$ . env/bin/activate
$ pip install patron-it-opencanary[rdp,snmp,remote_logging]  # rdp, snmp and remote_logging are optional extras

安装rdpy的Ubuntu用户在安装OpenCanary之前应该运行以下命令:

$ sudo apt-get install -y build-essential libssl-dev libffi-dev python-dev

安装os x需要额外的步骤,因为有多个openssl版本 可能存在混淆Python库的信息。

$ virtualenv env/
$ . env/bin/activate

MacPorts用户应该运行:

$ sudo port install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography

或者,自制程序用户运行:

$ brew install openssl
$ env ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography

现在安装可以正常运行:

$ pip install patron-it-opencanary[rdp,snmp]

要从源代码安装,请执行以下操作,而不是运行pip:

$ git clone https://github.com/thinkst/opencanary
$ cd opencanary
$ pip install .

如果您希望让OpenCanary处理OpenBSD,请查看https://github.com/8com/opencanary

运行

opencanary的启动方式是运行:

$ . env/bin/activate
$ opencanaryd --start

在第一次运行时,将打印指令,这些指令将进入工作配置。

Samba设置(可选)

samba opencanary模块监视samba生成的日志文件 完整的VFS审计模块安装依赖于:

  • 安装了Samba
  • 一个修改过的samba配置文件,用于将文件事件写入syslog的local7设施。
  • 一个修改过的syslog文件,将LOCAL7输出到samba-audit.log文件

作为模板samba config,修改以下内容并将其安装到 正确的位置(通常是/etc/samba/smb.conf)。你可能会 想要更改的是:

  • 路径
  • 工作组
  • 服务器字符串
  • NetBIOS名称
  • [我的共享]
  • 注释
    [global]
       workgroup = WORKGROUP
       server string = blah
       netbios name = SRV01
       dns proxy = no
       log file = /var/log/samba/log.all
       log level = 0
       syslog only = yes
       syslog = 0
       vfs object = full_audit
       full_audit:prefix = %U|%I|%i|%m|%S|%L|%R|%a|%T|%D
       full_audit:success = pread
       full_audit:failure = none
       full_audit:facility = local7
       full_audit:priority = notice
       max log size = 100
       panic action = /usr/share/samba/panic-action %d

       #samba 4
       server role = standalone server

       #samba 3
       #security = user

       passdb backend = tdbsam
       obey pam restrictions = yes
       unix password sync = no
       map to guest = bad user
       usershare allow guests = yes
    [myshare]
       comment = All the stuff!
       path = /home/demo/share
       guest ok = yes
       read only = yes
       browseable = yes
       #vfs object = audit

配置syslog将samba日志写到 打开金丝雀监视器。使用rsyslog,将这两行添加到 /etc/rsyslog将执行以下操作:

$FileCreateMode 0644
local7.*            /var/log/samba-audit.log

对于其他syslog实现,类似的行可能会起作用。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ldap连接池超时属性未按预期工作   java Eclipse Google插件不会为web应用程序启动服务器   将工作应用程序从一台pc复制到另一台pc的java安全   安卓如何查找和调试实际代码行中的Java错误:致命异常:Java。lang.IndexOutOfBoundsException:   jms将应用程序Java连接到websphere MQ   java如何遍历对象列表并分配子对象?   java我的代码有什么问题吗?为什么压缩和解压缩速度比其他应用程序慢?   java表达式的类型必须是数组类型,但它被解析为Object   模拟协议socketjava   使用googleappengine的java缓存   java为什么对象引用父类的值而不是它被分配到的类?   删除位置华为工具包安卓 studio时发生java错误   unix执行远程ssh命令“which java”(JSch java)   Dropbox Djinni Java接口与类扩展   java条形码扫描完成后是否有事件?   安卓 GCM Java服务器:发送带有重音字符的消息   java使用PDF框从PDF中读取条形码   私有静态最终更改的java值