19
Bro Workshop 2011 Bro Workshop 2011 NCSA, Urbana-Champaign, IL Bro Clusters Thursday, November 17, 2011

Bro Clusters

  • Upload
    lequynh

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bro Clusters

Bro Workshop 2011

Bro Workshop 2011NCSA, Urbana-Champaign, IL

Bro Clusters

Thursday, November 17, 2011

Page 2: Bro Clusters

Bro Workshop 2011

• Someone here is analyzing 7Gbps of mixed traffic with Bro.• With everything turned on!

2

Thursday, November 17, 2011

Page 3: Bro Clusters

Bro Workshop 2011

• Bro is single threaded.

• Difficult to adapt multithreading into code base as it is.

• Conceptually Bro is very parallelizable but we arenʼt taking the bruteforce approach to adding multithreading.• This is a topic for a different time.

Cluster Purpose

3

Thursday, November 17, 2011

Page 4: Bro Clusters

Bro Workshop 2011

• Initially implemented as Bro scripts and all nodes needed to be started manually.

• BroControl was originally called “Bro Cluster Shell” and contained all of the Bro script support for clusters but automated the tedium.

• 2.0 introduces the cluster framework which is more abstraction of all previous work and ideas.

Cluster Background

4

Thursday, November 17, 2011

Page 5: Bro Clusters

Bro Workshop 2011

Cluster Layout

• Set of Bro processes acting a single entity.

• Split Bro functionality across node types.• Manager• Proxies• Workers

5

Thursday, November 17, 2011

Page 6: Bro Clusters

Bro Workshop 2011

Manager

• Receives logs

• Handles notices

6

Thursday, November 17, 2011

Page 7: Bro Clusters

Bro Workshop 2011

Proxy

• Synchronizes limited state information across workers.• For example: active local IP

addresses• Does not examine packets.

7

Thursday, November 17, 2011

Page 8: Bro Clusters

Bro Workshop 2011

Worker

•Sniffs traffic•Performs protocol analysis• Generally, most of the heavy lifting

8

Thursday, November 17, 2011

Page 9: Bro Clusters

Bro Workshop 2011

Frontend

• Not a Bro process!

9

Thursday, November 17, 2011

Page 10: Bro Clusters

Bro Workshop 2011

Bidirectional Flow Load Balancing

• Turn a large “pipe” into many bundles of sessions.

• Most common balancing is 4- or 5-tuple• 4-tuple - SRC_IP+SRC_PORT+DST_IP+DST_PORT• 5-tuple - SRC_IP+SRC_PORT+DST_IP+DST_PORT+PROTO

• Network based balancing.

• Host base balancing.

10

Thursday, November 17, 2011

Page 11: Bro Clusters

Bro Workshop 2011 11

Thursday, November 17, 2011

Page 12: Bro Clusters

Bro Workshop 2011

BroControl

• Cluster layout specification.

• Easy management and control of large numbers of processes on large numbers of physical hosts.

12

Thursday, November 17, 2011

Page 13: Bro Clusters

Bro Workshop 2011

BroControl in “standalone” mode

13

[bro]type=standalonehost=localhostinterface=en1

node.cfg

Thursday, November 17, 2011

Page 14: Bro Clusters

Bro Workshop 2011

BroControl in “cluster” mode

14

node.cfg[manager]type=managerhost=192.168.1.72

[proxy-1]type=proxyhost=192.168.1.72

[worker-1]type=workerhost=192.168.1.72interface=eth0

[worker-2]type=workerhost=192.168.1.72interface=eth1

Thursday, November 17, 2011

Page 15: Bro Clusters

Bro Workshop 2011 15

$ sudo /bro/bin/broctl Password:

Welcome to BroControl 0.41-128

Type "help" for help.

[BroControl] >

Thursday, November 17, 2011

Page 16: Bro Clusters

Bro Workshop 2011 16

[BroControl] > checkmanager is ok.proxy-1 is ok.worker-1 is ok.worker-2 is ok.

Thursday, November 17, 2011

Page 17: Bro Clusters

Bro Workshop 2011 17

[BroControl] > installremoving old policies in /usr/local/bro/spool/policy/site ... done.removing old policies in /usr/local/bro/spool/policy/auto ... done.creating policy directories ... done.installing site policies ... done.generating cluster-layout.bro ... done.generating local-networks.bro ... done.generating broctl-config.bro ... done.updating nodes ... done.

Thursday, November 17, 2011

Page 18: Bro Clusters

Bro Workshop 2011 18

[BroControl] > startstarting manager ...starting proxy-1 ...starting worker-1 ...starting worker-2 ...

Thursday, November 17, 2011

Page 19: Bro Clusters

Bro Workshop 2011 19

[BroControl] > ?

BroControl Version 0.41-128

capstats <nodes> [secs] - report interface statistics (needs capstats) check <nodes> - check configuration before installing it cleanup [--all] <nodes> - delete working dirs on nodes (flushes state) config - print broctl configuration cron - perform jobs intended to run from cron cron enable|disable|? - enable/disable "cron" jobs df - print nodes' current disk usage diag <nodes> - output diagnostics for nodes exec <shell cmd> - execute shell command on all nodes exit - exit shell install - update broctl installation/configuration netstats - print nodes' current packet counters nodes - print node configuration print <id> <nodes> - print current values of script variable at nodes peerstatus <nodes> - print current status of nodes' remote connections process <trace> [Bro options] - runs Bro offline on trace file quit - exit shell restart [--clean] <nodes> - stop and then restart processing scripts [-p|-c] <nodes> - Lists the Bro scripts the nodes will be loading start <nodes> - start processing status <nodes> - summarize node status stop <nodes> - stop processing update <nodes> - update configuration of nodes on the fly top <nodes> - show Bro processes ala top Commands provided by plugins:

ps.bro [<nodes>] - Shows Bro processes currently running on nodes' systems.

Thursday, November 17, 2011