Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2346
  • Last Modified:

SNMP v2 trap - how to spoof the source address?

Hi folks,

Consider the following:

Routers send their syslog messages to a FreeBSD syslog server which runs a parsing script to detect BGP up/down events.  On detection of such events, the script generates a BGP trap (using Net-SNMP tools) towards Netcool probe.

[Router]----syslog---->[syslog server]----trap---->[Netcool probe]

Now the problem is that the trap contains the source address of the syslog server.  However, the Netcool system needs to know the source of the original message (the router) for assurance purposes.  

We considered an SNMP v1 trap and setting the agent address to that of the router, but the BGP v1 MIB does not contain the required bgpPeerRemoteAddr varbind.  So we must use v2 traps.

Is there a way to spoof the source address of an SNMP v2 trap?

Regards
Dennis
1
densta
Asked:
densta
  • 6
  • 5
  • 2
5 Solutions
 
bgoeringCommented:
Is there a way? Yes -- but not with anything I am aware of out of the box. It will likely require some sockets programing. Take a look at http://www.enderunix.org/docs/en/rawipspoof/ for a discussion of how to do that.

Good Luck
0
 
bgoeringCommented:
One thing to consider is that it may be easier to send the trap straight from the router. Cisco I know supports snmp traps for bgp state change events. See http://www.cisco.com/en/US/tech/tk648/tk362/technologies_tech_note09186a0080094a05.shtml for how to configure.

I would expect most major router vendors to support something similar - and there is no reason the router couldn't send both the syslog to your freebsd system and the traps to your Netcool.
0
 
denstaAuthor Commented:
Thanks @bgoering for the response.

I was hoping that there would be an OOTB tool similar to "trapgen" (ncomtech) for BSD that allows you to set the sender IP.  I understand the HP NNM snmpnotify allows you to do this but requires NNM licenses and libraries.  Sockets programming is not something we want to get into if at all possible.  

The problem with Cisco routers is that they don't support sending traps for IPv6 BGP state change events (IPv4 is okay).  Cisco have indicated this feature won't be available for 2-3 years, hence the need for this syslog-based workaround.

There is the option of deploying a Netcool syslog probe, but our project wants something quick and dirty initially to meet operationao requirements, with a view to deploying a syslog probe longer term.

0
Big Data Means Big Business

In data-dependent industries like IT, finance, and healthcare, there’s a growing demand for qualified analysts to fill leadership roles. WGU’s MS in Data Analytics has IT certifications from Oracle and SAS built into its curriculum at a flat fee that could save you money.

 
bgoeringCommented:
ncomtech trapgen has a linux product that should run ok on FreeBSD if you enable the linux compatibility features. Have you looked into that?
0
 
denstaAuthor Commented:
no I haven't but I'll run it past the project team.  worth a shot - thanks!
0
 
denstaAuthor Commented:
well that didn't work :(  

the sender ip in the trapgen command is only valid for SNMP v1 (this wasn't clear in the README)

so back to square one - we may have to consider adding a varbind to the SNMP v1 trap with the peer's remote address or alternatively add a varbind to the SNMPv2 trap with the router's address.

either will require rework on the NC side which we were trying to avoid but at this stage i can't see a way around this.
0
 
bgoeringCommented:
Yes, if by NC you mean netcat that should work. Create scripts using "nc -u -s x.x.x.x" to send your snmpv2 trap data

Take a look at http://www.foromsn.com/Version_Imprimible.php?Id=240940 for more info on spoofing with netcat. Might be easier than the sockets programming I first proposed!

Good Luck
0
 
denstaAuthor Commented:
ha ha, i meant NetCool!  But now I have another tool to consider - thanks!
0
 
bgoeringCommented:
Well the "NC" rang a bell with me that you could indeed spoof source IP with netcat and get it there with loose source routing (-g option) send arbitrary information via TCP or UDP. I see no reason the arbitrary information couldn't be a properly formatted UDP packet containing your trap.

Good Luck
0
 
mikebernhardtCommented:
Netcool has a syslog probe that basically listens to the syslog on your syslog server and forwards everything to Netcool, without the syslog server's info. I don't manage it, but we do that here at my workplace.
0
 
denstaAuthor Commented:
yea syslog probe is our longer term solution for this. but it requires licensing and prof services engagement which all requires time we don't have. We need something "quick and dirty" in place this week!
0
 
mikebernhardtCommented:
You can also write a Netcool script that parses the syslog input from that server and strips off the source before displaying it- the real source is already in the messgae, as you know.
0
 
denstaAuthor Commented:
thanks
0

Featured Post

Evaluating UTMs? Here's what you need to know!

Evaluating a UTM appliance and vendor can prove to be an overwhelming exercise.  How can you make sure that you're getting the security that your organization needs without breaking the bank? Check out our UTM Buyer's Guide for more information on what you should be looking for!

  • 6
  • 5
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now