Commit graph

56 commits

Author SHA1 Message Date
Seth Hall
d1e8722f5f Fixed a problem with the cluster framework unintentionally terminating bro. 2011-07-07 21:28:26 -04:00
Seth Hall
77435d2724 Removing more vestiges of BroCtl from Bro. 2011-07-07 21:24:51 -04:00
Seth Hall
6010f7950e Update for cluster framework.
- CLUSTER_NODE is now specified by name given as the index
  value in the Cluster::nodes variable.  e.g. worker-1
2011-07-07 15:57:25 -04:00
Seth Hall
e4052aba3d Adding a peer name to the communication logs. 2011-07-07 15:15:53 -04:00
Seth Hall
be65acec4e Initial commit of the new cluster framework.
- It's ok to always load the framework.  If you don't
  specifiy the CLUSTER_NODE environment variable it doesn't
  ultimately do anything.
- The $CLUSTER_NODE variable causes the framework to try and
  load a script named cluster-layout.bro which must be located
  somewhere in your $BROPATH.  The value of the $CLUSTER_NODE
  variable is a count that indicates a node in the Cluster::nodes
  variable that is set in the cluster-layout.bro script.
- The Cluster::nodes variable is a flat configuration because
  it's assumed that it would be automatically generated by a
  utility such as BroControl.  This will facilitate the tiered or
  "deep" clustering that is coming.
2011-07-07 13:21:19 -04:00
Seth Hall
02b94f7141 Removed the notice_tag injection from the conn log.
It had some conceptual problems because notices aren't
always logged and in some cases are fairly infrequently
logged which resulted in a lot of notice tags being
attached to connections where the notice didn't show
up in a log file.  Also, the rule of thumb here is that
frameworks should never load protocols.  It's just bad
practice and probably indicates incorrect design somewhere.

The link between the conn log and the notice log should
now be made with the connections unique ID which is logged
in both logs and is more reliable.
2011-07-06 10:23:30 -04:00
Seth Hall
b2af6b9fd5 Adding the reporter framework. Not much there yet. 2011-07-06 10:07:57 -04:00
Robin Sommer
94be787261 Merge remote branch 'remotes/origin/topic/policy-scripts-new'
* remotes/origin/topic/policy-scripts-new:
  Fixed another SSL analyzer memory leak.
  Attempting to fix another SSL bug.
  Fixing a ref counting bug in the SSL analyzer that I just introduced.
  Fixing memory leaks in SSL analyzer.
  Fixed a parsing bug in the SSL analyzer thanks to tracefile from Aashish Sharma.
  Removing my fix from earlier.  This is indicating the script-land generated events priority problem.
  Updates to the DPD framework.
  Fixed a bug in the auth-addl DNS script.

Conflicts:
	src/bro.bif
2011-07-01 18:59:34 -07:00
Robin Sommer
9709b1d522 Merge remote branch 'origin/topic/robin/reporting'
* origin/topic/robin/reporting:
  Syslog BiF now goes through the reporter as well.
  Avoiding infinite loops when an error message handlers triggers errors itself.
  Renaming the Logger to Reporter.
  Overhauling the internal reporting of messages to the user.

Updating a bunch of tests/baselines as well.

Conflicts:
	aux/broccoli
	policy.old/alarm.bro
	policy/all.bro
	policy/bro.init
	policy/frameworks/notice/weird.bro
	policy/notice.bro
	src/SSL-binpac.cc
	src/bro.bif
	src/main.cc
2011-07-01 13:59:21 -07:00
Seth Hall
b4b990cfb5 Updates to the DPD framework.
- Removed the ProtocolViolation notice.  I'd like to hear
  if someone actually used that notice for something.
- Folded the dyn-disable functionality into the dpd/base script.
- Other small cleanup.
2011-06-30 21:26:30 -04:00
Seth Hall
9efb27b6c6 Notice framework updates.
- Fixed problem where notices were logged even if they
  didn't have the ACTION_FILE action applied.
- New PolicyItem element, $halt.  It's used for halting
  the policy processing if a predicate returns T.
  This replaces the ACTION_STOP action.
- Initial hacky email extension mechanism.
- Removed the IDMEF line.  When that added back later
  it will likely be done more modularly.
2011-06-27 13:16:04 -04:00
Seth Hall
4c51794874 Fix the name of the DPD log. 2011-06-27 12:44:56 -04:00
Seth Hall
4364f572df Updating the netstats script to match the new internal code. 2011-06-27 01:08:42 -04:00
Seth Hall
04aa03e4ab New default notice actions for emailing network admins.
- When ACTION_EMAIL_ADMIN_ORIG or ACTION_EMAIL_ADMIN_RESP
  is applied to a notice,
  the email addresses associated with the address
  are collected from the new local_admins table
  and the email is sent to all discovered email addresses.
- The site.bro script is now in the Site module.
- Some other small cleanup.
2011-06-25 01:17:09 -04:00
Seth Hall
09e242f98f weird.bro moved into notice framework.
- That might not be the right place to put it though.
2011-06-24 16:40:05 -04:00
Seth Hall
124ae1bc41 Renamed the stream for the notice log. 2011-06-24 16:14:59 -04:00
Seth Hall
3fce0f89f2 Small consistency tweaks for the communications framework. 2011-06-24 16:14:26 -04:00
Jon Siwek
adeec23201 Merge branch 'topic/policy-scripts-new' of git://git.bro-ids.org/bro into topic/policy-scripts-new 2011-06-24 13:36:49 -05:00
Jon Siwek
4f33dcf59e Updating software version parsing test.
Tweaked parsing code a bit catch a couple that were failing.
2011-06-24 13:27:35 -05:00
Seth Hall
c5f683ee47 Notices actions are now accumulative.
- New log file for auditing the notice policy to
  see at a specific point in time what the fully
  ordered (by priority) notice policy was.
- New notice action "ACTION_STOP" to stop processing
  the notice policy.  This is essentially how the old
  IGNORE action can be done with the accumulative
  notices actions.  It just needs to be set as the
  $result at an at an appropriately high priority.
- No longer using the "match" statement as it didn't
  provide the flexibility to implement accumulative
  notice actions.  The functionality is now implemented
  completely in script-land.
- Beginning removal of action-filters script.
  Still need to come up with a way to implement
  some of the functionality of that script.
- Small documentation updates.
2011-06-24 13:35:48 -04:00
Seth Hall
814f140b1a Small communication framework fixes. 2011-06-22 13:53:47 -04:00
Seth Hall
60a305c111 Intelligence framwork updates.
- Split Item into Item and QueryItem as suggested by Robin.
- QueryItem now has $and_tags and $or_tags.  Each
  acts as AND or OR for the given tags against
  each relevant metadata value.
- 'insert' turned into a function and new insert_event created.
- First use of intelligence framework in HTTP analysis.
2011-06-17 23:30:16 -04:00
Seth Hall
291920b013 Some minor updates and comment tweaking. 2011-06-17 21:53:07 -04:00
Seth Hall
50f378a335 Small cleanup to netstats script. 2011-06-16 11:15:19 -04:00
Seth Hall
bc7b7eb235 More rework to the notice framework to simplify it.
- The action-filters don't work now because of a
  meta-programming limitation so the notice policy
  tuning is more manual by fully defining a PolicyItem.
- There are two default action cheats defined.  ignore_types
  and email_types are sets which will ignore or email
  notices of those types.
2011-06-15 15:41:40 -04:00
Seth Hall
ad66c9c4d9 Script cleanup.
- Defaults for all built-in asset tracking changed to LOCAL_HOSTS
- Added a tuning script for changing asset tracking
  to ALL_HOSTS in all of the core scripts that do
  asset tracking.
- Default Notice::policy files notices instead of alarming on them.
- Moved KnownHosts::Info back to export section because
  the log_known_hosts event can't be defined in the
  export section without it.
- Moved the Malware Hash Registry detection out of
  the core HTTP protocol scripts and added it to the
  all.bro script.
2011-06-15 11:27:39 -04:00
Seth Hall
9ee7d02554 Renaming direction and host functions for clarity. 2011-06-14 14:28:34 -04:00
Seth Hall
4d35c0b8ca Reworked the directions and hosts functionality again.
- Split enum values into two separate enums.
- Renamed to fit the enum naming convention.
- New global variable named default_asset_tracking
  that changes default behavior of any script that
  tracks assets, usually by storing some amount
  of information about the network in memory.
2011-06-14 14:23:02 -04:00
Seth Hall
f13cf830ea Updates to several things that are loosely linked together.
- Changed enum values to determine hosts and directions.
- Fixed a bug in detecting mail clients.
- Fixed a couple of problems with vulnerable software detection.
- New variable "Software::asset_tracking" for
  determining which software to track.
2011-06-14 13:39:50 -04:00
Seth Hall
9253157302 Updates for the metrics framework.
- Partially responding to Robin's comments on it.
2011-06-14 13:37:03 -04:00
Seth Hall
c6bf94f276 First commit of intelligence framework.
- Data insertion and querying works.
- A few tests are implemented to show usage scenarios.
2011-06-10 16:52:46 -04:00
Seth Hall
64c296311c Add a field to the packet-filter log to indicate if it's the initial filter. 2011-06-10 13:48:31 -04:00
Seth Hall
887f5fcb79 Updates to the packet-filter framework.
- Notices are generated in the cases of being unable
  to compile or install a new filter.
- A PacketFilter::install() function is now exported
  so that external scripts can update the packet
  filter.
2011-06-10 13:41:27 -04:00
Seth Hall
e33e047de5 Added the communication framework (remote.bro). 2011-06-10 08:31:42 -04:00
Seth Hall
bc00ce51cb Modifications to packet-filter framework.
- default_pcap_filter now named PacketFilter::default_filter
- default_filter variable exported.
- moved over netstats script for logging packet loss.
2011-06-10 08:31:13 -04:00
Seth Hall
cbe761c0ed Fixed the name for the PacketFilter module. 2011-06-09 14:11:32 -04:00
Seth Hall
8c71e68c05 Fixed a bug where notices and the conn log.
- Notices that weren't logged were still tagging
  the conn log which was confusing.  Only logged
  notices are now tagged in the conn log.
2011-06-09 12:50:00 -04:00
Seth Hall
31cc124578 Small updates to DPD scripts. 2011-06-09 12:29:26 -04:00
Seth Hall
2a01f1686e New policy directory: policy/tuning
- The all.bro script loads tuning/defaults which is
  commonly applied tuning.
- Other less common tuning can be placed in the tuning/
  directory directly.
2011-06-09 12:28:32 -04:00
Seth Hall
0be9f7aa3e Moved and renamed the pcap.bro script to be the packet-filter framework. 2011-06-09 12:22:33 -04:00
Seth Hall
d3d9fedd2c Reshuffling notice declarations to make them exported.
- Notices were not available outside of their namespaces.
2011-06-09 11:59:06 -04:00
Seth Hall
590e6d0360 Fixing some runtime errors in the software framework. 2011-06-08 00:55:42 -04:00
Seth Hall
47c6afac8e Slight changes to software detection framework.
- This probably won't fix anything, but I'm checking
  for size of tables a bit more consistently now.
2011-06-08 00:18:42 -04:00
Seth Hall
0778d5e8d5 Updates to the notice framework. 2011-06-08 00:17:54 -04:00
Seth Hall
d12dd0f82c Signature script normalization and cleanup. 2011-06-07 23:06:29 -04:00
Seth Hall
e0174f583e Changing empty fields to also use "-" for ascii logging. 2011-06-07 23:05:35 -04:00
Seth Hall
8bffd350a4 Updating to use the new directory loading technique. 2011-06-03 07:47:49 -04:00
Seth Hall
f0d4447971 Re-added the $force_log attribute to the Software::Info record.
I re-added it because it's used by the detect-webapps
script to re-log software that may already be logged
if a more-root URL is found that still represents the
same software.
2011-06-02 16:20:16 -04:00
Seth Hall
08b8873e8b Updates to the notice framework based on comments from Robin.
- New extension mechanism.
  - Notices requiring realtime actions can be accomodated with
    the notice_functions set which are called synchronously
    prior to logging or any further handling.
  - Notice::notice event handlers will be called afterward
    and follow normal (old) notice handling process.  Logging
    is done by handling this event.
- Lots of new docs.
- Renaming Action enums to reduce confusion with Type enums.
- Notice tags are attached to the Conn::Info record as a set[string].
2011-06-02 16:18:23 -04:00
Seth Hall
beab408164 Updates for the software framework based on comments from Robin. 2011-06-02 10:38:24 -04:00