OpenCanary Web安全服务守护进程

2018-06-0906:50:11 发表评论

OpenCanary Web安全服务守护进程

OpenCanary简介

OpenCanary是一个运行Canary服务的守护进程,当使用(ab)时会触发警报;

警报可以发送到各种来源,包括系统日志,电子邮件和伴随守护程序opencanary-correlator;

而且还会将多个相关安全事件(例如,暴力破解)合并为通过电子邮件或SMS发送警报。

使用方法

开始创建一个虚拟环境:

  1. $ virtualenv env
  2. $ . env/bin/activate

在virtualenv中,按照README中的说明安装OpenCanary 。
OpenCanary附带一个默认配置,我们将复制和编辑以开始。该配置是一个单一的JSON。

  1. $ opencanaryd --copyconfig
  2. $ $ EDITOR〜/ .opencanary.conf

在配置文件中,我们将改变device.node_id必须是opencanaryd的每个实例唯一的,并且我们将配置记录器记录警报的文件。

  1. {
  2.     "device.node_id""Your-very-own-unique-name",
  3.     [...]
  4.      "logger": {
  5.          "class" : "PyLogger",
  6.          "kwargs" : {
  7.              "handlers": {
  8.                  "file": {
  9.                      "class""logging.FileHandler",
  10.                      "filename""/var/tmp/opencanary.log"
  11.                      }
  12.               }
  13.          }
  14.     }
  15.    [...]
  16. }

这时我们可以运行守护进程,并测试它是否记录登录失败的FTP日志文件。

  1. $ opencanaryd --start
  2. [...]
  3. $ ftp localhost
  4. [...]
  5. $ cat /var/tmp/opencanary.log
  6. [...]
  7. {"dst_host""127.0.0.1""dst_port"21"local_time""2018-06-08 06:38:21.281259""logdata": {"PASSWORD""www.cesafe.com""USERNAME""CESAFE"}, "logtype"2000"node_id""opencanary-0""src_host""127.0.0.1""src_port"49635}

工具JQ可用于检查配置文件JSON是否正确

  1. $ jq . ~/.opencanary.conf

在前台运行opencanaryd查看更多错误消息。

  1. $ sudo env/bin/twistd -noy env/bin/opencanary.tac

报警发送配置

启动服务后默认配置运行,我们将编辑opencanary_correlator.conf文件配置报警发送规则

  1. $ opencanary-correlator
  2. Warning: no config file specified. Using the template config:
  3. /[...]/opencanary_correlator.conf
  4. $ cp /[...]/opencanary_correlator.conf opencanary-correlator.conf

在配置文件中,填写twilio或mandrill详细信息通知地址

  1. {
  2.   “console.sms_notification_enable”:true
  3.   “console.sms_notification_numbers”:[“+336522334455”],
  4.   “console.email_notification_enable”:true
  5.   “console.email_notification_address”:[“notifications@opencanary.org”],
  6.   “twilio.auth_token “:”fae9206628714fb2ce00f72e94f2258f“,
  7.   ”twilio.from_number“:”“+1201253234”“,
  8.   ”twilio.sid“:”BD742385c0810b431fe2ddb9fc327c85ad“,
  9.   ”console.mandrill_key“:”9HCjwugWjibxww7kPFej“,
  10.   ”scans.network_portscan_horizo​​n“:1000
  11. }

确保redis正在运行,然后运行correlator守护进程。

  1. $ pgrep redis-server || echo 'Redis is not running!'
  2. $ opencanary-correlator --config=./opencanary-correlator.conf

要配置OpenCanary守护程序将其事件发送到其他地方,请在其配置中编辑记录器字段并重新启动守护程序以重新加载配置。

  1. "logger": {
  2.      "class" : "PyLogger",
  3.      "kwargs" : {
  4.          "handlers": {
  5.              "json-tcp": {
  6.                  "class""opencanary.logger.SocketJSONHandler",
  7.                  "host""127.0.0.1", # change to correlator IP
  8.                  "port"1514
  9.              }
  10.          }
  11.      }
  12. }

 

下面可以测试关联器警报是否正在发送一个事件direclty(不使用OpenCanary)

  1. echo  “{”dst_host“:”9.9.9.9“,”dst_port“:21,”local_time“:”2018-06-08 063821.281259“,”logdata“:{”PASSWORD“:”www.cesafe.com“ USERNAME“:”CESAFE“},”logtype“:2000,”node_id“:”AlertTest“,”src_host“:”8.8.8.8“,”src_port“:49635}'  | nc -v localhost 1514

OpenCanary配置Linux Web服务器

  1. Inside ~/.opencanary.conf:
  1. {
  2.  "ftp.banner""ftp test to www.cesafe.com",
  3.  "ftp.enabled"true,
  4.  "ftp.port":21,
  5.  "http.banner""Apache/2.2.22 (Ubuntu)",
  6.  "http.enabled"true,
  7.  "http.port"80,
  8.  "http.skin""nasLogin",
  9.  "http.skin.list": [
  10.      {
  11.          "desc""Plain HTML Login",
  12.          "name""basicLogin"
  13.      },
  14.      {
  15.          "desc""Synology NAS Login",
  16.          "name""nasLogin"
  17.      }
  18.  ],
  19.  "ssh.enabled"true,
  20.  "ssh.port"8022,
  21.  "ssh.version""SSH-2.0-OpenSSH_5.1p1 Debian-4",
  22. [..] # logging configuration
  23. }

OpenCanary配置Windows服务器

  1. Inside ~/.opencanary.conf:
  1. {
  2.     "smb.auditfile""/var/log/samba-audit.log",
  3.     "smb.configfile""/etc/samba/smb.conf",
  4.     "smb.domain""corp.thinkst.com",
  5.     "smb.enabled"true,
  6.     "smb.filelist": [
  7.        {
  8.             "name""2016-Tender-Summary.pdf",
  9.             "type""PDF"
  10.        },
  11.        {
  12.          "name""passwords.docx",
  13.          "type""DOCX"
  14.        }
  15.     ],
  16.     "smb.mode""workgroup",
  17.     "smb.netbiosname""FILESERVER",
  18.     "smb.serverstring""Windows 2003 File Server",
  19.     "smb.sharecomment""Office documents",
  20.     "smb.sharename""Documents",
  21.     "smb.sharepath""/changeme",
  22.     "smb.workgroup""OFFICE",
  23.     "rdp.enabled"true,
  24.     "rdp.port"3389,
  25.     [..] # logging configuration
  26. }

OpenCanary配置Mysql Server

  1. Inside ~/.opencanary.conf:
  1. {
  2.      "mysql.banner""5.5.43-0ubuntu0.14.04.1",
  3.      "mysql.enabled"true,
  4.      "mysql.port"3306,
  5.      "ssh.enabled"true,
  6.      "ssh.port"22,
  7.      "ssh.version""SSH-2.0-OpenSSH_5.1p1 Debian-4",
  8.      [..] # logging configuration
  9. }

OpenCanary配置Mssql Server

  1. Inside ~/.opencanary.conf:
  1. {{
  2.     "mssql.enabled"true,
  3.     "mssql.port"1433,
  4.     "mssql.version""2012",
  5.     "rdp.enabled"true,
  6.     "rdp.port"3389,
  7. [..] # logging configuration
  8. }

OpenCanary守护进程发送电子邮件警报配置

编辑 ~/.opencanary.conf 文件

通过GMail发送邮件

  1. [..] # Services configuration
  2.     "logger": {
  3.     "class" : "PyLogger",
  4.     "kwargs" : {
  5.         "handlers": {
  6.             "SMTP": {
  7.                 "class""logging.handlers.SMTPHandler",
  8.                 "mailhost": ["smtp.gmail.com"25],
  9.                 "fromaddr""Service@cesafe.com",
  10.                 "toaddrs" : ["cesafe@gmail.com"],
  11.                 "subject" : "OpenCanary Alert"
  12.              }
  13.          }
  14.      }
  15.  }

通过SMTP发送邮件

  1. [..] # Services configuration
  2.     "logger": {
  3.     "class" : "PyLogger",
  4.     "kwargs" : {
  5.         "handlers": {
  6.             "SMTP": {
  7.                 "class""logging.handlers.SMTPHandler",
  8.                 "mailhost": ["authenticated.mail.server"25],
  9.                 "fromaddr""cesafe@cesafe.com",
  10.                 "toaddrs" : ["service@cesafe.com"],
  11.                 "subject" : "OpenCanary Alert",
  12.                 "credentials" : ["myusername""password1"]
  13.              }
  14.          }
  15.      }
  16.  }
CE安全网
CE安全网广告位招租

发表评论

您必须登录才能发表评论!