Snort is a libpcap-based sniffer/logger which can be used as a network intrusion detection and prevention system. It uses a rule-based detection language as well as various other detection mechanisms and is highly extensible.
Would you please help me out to solve this barnyard2(src: https://github.com/firnsy/barnyard2) configuration problem, corresponding snort is working good as required.
Dear Snort and Barnyard2 users,
Would you please help me out to solve this barnyard2(src: https://github.com/firnsy/barnyard2) configuration problem, corresponding snort is working good as required.
barnyard2 -v -c /etc/barnyard2.conf -d /var/log/snort
Running in Continuous mode
Initializing Input Plugins!
Initializing Output Plugins!
DEBUG => Alert_FWsam Output plugin is plugged in...
Parsing config file "/etc/barnyard2.conf"
+[ Signature Suppress list ]+
+[No entry in Signature Suppress List]+
+[ Signature Suppress list ]+
Barnyard2 spooler: Event cache size set to [2048]
Log directory = /var/log/barnyard2
Chroot directory = /var/spool/barnyard2
Keyword | Input @
unified2 : init() = 0x441942
unified2 : - readRecordHeader() = 0x4419b5
unified2 : - readRecord() = 0x441b74
Keyword | Output @
alert_cef : 0x428779
alert_syslog : 0x42ee25
log_tcpdump : 0x431a39
database : 0x4389c9
alert_fast : 0x42a673
alert_full : 0x42b290
alert_fwsam : 0x42ba51
alert_unixsock: 0x4303cb
alert_csv : 0x42925d
log_null : 0x431913
log_ascii : 0x430ca3
alert_test : 0x42fc3b
sguil : 0x4327cd
alert_syslog_full: 0x4339df
log_syslog_full: 0x4339bf
_ -> Barnyard2 <-
/ ,, \ Version 2.1.13 (Build 327) DEBUG
|o" )~| By Ian Firns (SecurixLive): http://www.securixlive.com/
+ '''' + (C) Copyright 2008-2013 Ian Firns firnsy@securixlive.com
ERROR: Unable to open directory '/var/log/snort' (No such file or directory)
ERROR: Unable to find the next spool file!
===============================================================================
Record Totals:
Records: 0
Events: 0 (0.000%)
Packets: 0 (0.000%)
Unknown: 0 (0.000%)
Suppressed: 0 (0.000%)
===============================================================================
Packet breakdown by protocol (includes rebuilt packets):
ETH: 0 (0.000%)
ETHdisc: 0 (0.000%)
VLAN: 0 (0.000%)
IPV6: 0 (0.000%)
IP6 EXT: 0 (0.000%)
IP6opts: 0 (0.000%)
IP6disc: 0 (0.000%)
IP4: 0 (0.000%)
IP4disc: 0 (0.000%)
TCP 6: 0 (0.000%)
UDP 6: 0 (0.000%)
ICMP6: 0 (0.000%)
ICMP-IP: 0 (0.000%)
TCP: 0 (0.000%)
UDP: 0 (0.000%)
ICMP: 0 (0.000%)
TCPdisc: 0 (0.000%)
UDPdisc: 0 (0.000%)
ICMPdis: 0 (0.000%)
FRAG: 0 (0.000%)
FRAG 6: 0 (0.000%)
ARP: 0 (0.000%)
EAPOL: 0 (0.000%)
ETHLOOP: 0 (0.000%)
IPX: 0 (0.000%)
OTHER: 0 (0.000%)
DISCARD: 0 (0.000%)
InvChkSum: 0 (0.000%)
S5 G 1: 0 (0.000%)
S5 G 2: 0 (0.000%)
Total: 0
===============================================================================
===============================================================================
[root-vmjoyabratag04-08:36:40-~] # cat /etc/barnyard2.conf
Barnyard2 example configuration file
This file contains a sample barnyard2 configuration.
You can take the following steps to create your own custom configuration:
1) Configure the variable declarations
2) Setup the input plugins
3) Setup the output plugins
Step 1: configure the variable declarations
in order to keep from having a commandline that uses every letter in the
alphabet most configuration options are set here.
use UTC for timestamps
config utc
set the appropriate paths to the file(s) your Snort process is using.
config reference_file: /etc/snort/reference.config
config classification_file: /etc/snort/classification.config
config gen_file: /etc/snort/gen-msg.map
config sid_file: /etc/snort/sid-msg.map
Configure signature suppression at the spooler level see doc/README.sig_suppress
config sig_suppress: 1:10
Set the event cache size to defined max value before recycling of event occur.
config event_cache_size: 4096
define dedicated references similar to that of snort.
config reference: mybugs http://www.mybugs.com/?s=
define explicit classifications similar to that of snort.
config classification: shortname, short description, priority
set the directory for any output logging
config logdir: /tmp
to ensure that any plugins requiring some level of uniqueness in their output
the alert_with_interface_name, interface and hostname directives are provided.
An example of usage would be to configure them to the values of the associated
snort process whose unified files you are reading.
Example:
For a snort process as follows:
snort -i eth0 -c /etc/snort.conf
Typical options would be:
config hostname: thor
config interface: eth0
config alert_with_interface_name
config hostname: thor
config interface: eth0
enable printing of the interface name when alerting.
config alert_with_interface_name
at times snort will alert on a packet within a stream and dump that stream to
the unified output. barnyard2 can generate output on each packet of that
stream or the first packet only.
config alert_on_each_packet_in_stream
enable daemon mode
config daemon
make barnyard2 process chroot to directory after initialisation.
config chroot: /var/spool/barnyard2
specifiy the group or GID for barnyard2 to run as after initialisation.
config set_gid: 999
specifiy the user or UID for barnyard2 to run as after initialisation.
config set_uid: 999
specify the directory for the barnyard2 PID file.
config pidpath: /var/run/by2.pid
enable decoding of the data link (or second level headers).
config decode_data_link
dump the application data
config dump_payload
dump the application data as chars only
config dump_chars_only
enable verbose dumping of payload information in log style output plugins.
config dump_payload_verbose
enable obfuscation of logged IP addresses.
config obfuscate
enable the year being shown in timestamps
config show_year
set the umask for all files created by the barnyard2 process (eg. log files).
config umask: 066
enable verbose logging
config verbose
quiet down some of the output
config quiet
define the full waldo filepath.
config waldo_file: /tmp/waldo
specificy the maximum length of the MPLS label chain
config max_mpls_labelchain_len: 64
specify the protocol (ie ipv4, ipv6, ethernet) that is encapsulated by MPLS.
config mpls_payload_type: ipv4
set the reference network or homenet which is predominantly used by the
log_ascii plugin.
config reference_net: 192.168.0.0/24
CONTINOUS MODE
set the archive directory for use with continous mode
config archivedir: /tmp
when in operating in continous mode, only process new records and ignore any
existing unified files
config process_new_records_only
Step 2: setup the input plugins
this is not hard, only unified2 is supported ;)
input unified2
Step 3: setup the output plugins
alert_cef
----------------------------------------------------------------------------
Purpose:
This output module provides the abilty to output alert information to a
remote network host as well as the local host using the open standard
Common Event Format (CEF).
Arguments: host=hostname[:port], severity facility
arguments should be comma delimited.
host - specify a remote hostname or IP with optional port number
this is only specific to WIN32 (and is not yet fully supported)
severity - as defined in RFC 3164 (eg. LOG_WARN, LOG_INFO)
facility - as defined in RFC 3164 (eg. LOG_AUTH, LOG_LOCAL0)
Examples:
output alert_cef
output alert_cef: host=192.168.10.1
output alert_cef: host=sysserver.com:1001
output alert_cef: LOG_AUTH LOG_INFO
alert_bro
----------------------------------------------------------------------------
Purpose: Send alerts to a Bro-IDS instance.
Arguments: hostname:port
Examples:
output alert_bro: 127.0.0.1:47757
alert_fast
----------------------------------------------------------------------------
Purpose: Converts data to an approximation of Snort's "fast alert" mode.
Arguments: file <file>, stdout
arguments should be comma delimited.
file - specifiy alert file
stdout - no alert file, just print to screen
Examples:
output alert_fast
output alert_fast: stdout
output alert_fast: stdout
prelude: log to the Prelude Hybrid IDS system
----------------------------------------------------------------------------
Purpose:
This output module provides logging to the Prelude Hybrid IDS system
Arguments: profile=snort-profile
snort-profile - name of the Prelude profile to use (default is snort).
Snort priority to IDMEF severity mappings:
high < medium < low < info
These are the default mapped from classification.config:
info = 4
low = 3
medium = 2
high = anything below medium
Examples:
output alert_prelude
output alert_prelude: profile=snort-profile-name
alert_syslog
----------------------------------------------------------------------------
Purpose:
This output module provides the abilty to output alert information to local syslog
severity - as defined in RFC 3164 (eg. LOG_WARN, LOG_INFO)
facility - as defined in RFC 3164 (eg. LOG_AUTH, LOG_LOCAL0)
Examples:
output alert_syslog
output alert_syslog: LOG_AUTH LOG_INFO
syslog_full
-------------------------------
Available as both a log and alert output plugin. Used to output data via TCP/UDP or LOCAL ie(syslog())
Arguments:
sensor_name $sensor_name - unique sensor name
server $server - server the device will report to
local - if defined, ignore all remote information and use syslog() to send message.
protocol $protocol - protocol device will report over (tcp/udp)
port $port - destination port device will report to (default: 514)
delimiters $delimiters - define a character that will delimit message sections ex: "|", will use | as mess)
separators $separators - define field separator included in each message ex: " " , will use space as field)
operation_mode $operaion_mode - default | complete : default mode is compatible with default snort syslog message,)
log_priority $log_priority - used by local option for syslog priority call. (man syslog(3) for supported option)
log_facility $log_facility - used by local option for syslog facility call. (man syslog(3) for supported option)
payload_encoding - (default: hex) support hex/ascii/base64 for log_syslog_full using operation_mode .
Usage Examples:
output alert_syslog_full: sensor_name snortIds1-eth2, server xxx.xxx.xxx.xxx, protocol udp, port 514, operation_mode defaut
output alert_syslog_full: sensor_name snortIds1-eth2, server xxx.xxx.xxx.xxx, protocol udp, port 514, operation_mode comple
output log_syslog_full: sensor_name snortIds1-eth2, server xxx.xxx.xxx.xxx, protocol udp, port 514, operation_mode default
output log_syslog_full: sensor_name snortIds1-eth2, server xxx.xxx.xxx.xxx, protocol udp, port 514, operation_mode complete
output alert_syslog_full: sensor_name snortIds1-eth2, server xxx.xxx.xxx.xxx, protocol udp, port 514
output log_syslog_full: sensor_name snortIds1-eth2, server xxx.xxx.xxx.xxx, protocol udp, port 514
output alert_syslog_full: sensor_name snortIds1-eth2, local
output log_syslog_full: sensor_name snortIds1-eth2, local, log_priority LOG_CRIT,log_facility LOG_CRON
log_ascii
----------------------------------------------------------------------------
Purpose: This output module provides the default packet logging funtionality
Arguments: None.
Examples:
output log_ascii
log_tcpdump
----------------------------------------------------------------------------
Purpose
This output module logs packets in binary tcpdump format
Arguments:
The only argument is the output file name.
Examples:
output log_tcpdump: tcpdump.log
sguil
----------------------------------------------------------------------------
Purpose: This output module provides logging ability for the sguil interface
See doc/README.sguil
Arguments: agent_port <port>, sensor_name <name>
arguments should be comma delimited.
agent_port - explicitly set the sguil agent listening port
(default: 7736)
sensor_name - explicitly set the sensor name
(default: machine hostname)
Examples:
output sguil
output sguil: agent_port=7000
output sguil: sensor_name=argyle
output sguil: agent_port=7000, sensor_name=argyle
database: log to a variety of databases
----------------------------------------------------------------------------
Purpose: This output module provides logging ability to a variety of databases
See doc/README.database for additional information.
Examples:
output database: log, mysql, user=root password=test dbname=db host=localhost
output database: alert, postgresql, user=snort dbname=snort
output database: log, odbc, user=snort dbname=snort
output database: log, mssql, dbname=snort user=snort password=test
output database: log, oracle, dbname=snort user=snort password=test
alert_fwsam: allow blocking of IP's through remote services
----------------------------------------------------------------------------
output alert_fwsam: <SnortSam Station="">:<port>/<key>
<FW Mgmt="" Station="">: IP address or host name of the host running SnortSam.
<port>: Port the remote SnortSam service listens on (default 898).
<key>: Key used for authentication (encryption really)
of the communication to the remote service.
Examples:
output alert_fwsam: snortsambox/idspassword
output alert_fwsam: fw1.domain.tld:898/mykey
output alert_fwsam: 192.168.0.1/borderfw 192.168.1.254/wanfw
[root-vmjoyabratag04-08:37:10-~]