OpenCanary Web安全服务守护进程

  • A+
所属分类:网络安全工具
阿里


推广者专属福利,新客户无门槛领取总价值高达2775元代金券,每种代金券限量500张,先到先得。

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. }
CE安全网

发表评论

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