My methodology

Or, how I do whatever it is I'm doing...


From: John Sage <jsage@finchhaven.com>
To: _ <_@_.org>
Subject: Re: _ additions
User-Agent: Mutt/1.2.5i


Addendum to:

On Wed, Mar 20, 2002 at 08:17:44PM -0800, John Sage wrote:
> Hello world; John Sage here...
<snip>

So what am I doing, now?

If there are honeynets, honeypots, and tarpits, you might say that
I've laid out a small swatch of flypaper.

I'm on a dialup into AT&T's *.wa.dial-access.att.net Seattle, WA pop,
with a dynamic IP in AT&T's 12.82.x.x class A.

Connectivity +- 20 hours daily.

I have a homebrew Linux 2.2.14-5.0 kernel-based IP masquerading
firewall, currently ipchains 1.3.9, with custom rulesets focusing on
protocols 1:icmp, 2:igmp, 6:tcp, 17:udp, 47:GRE-pptp, 50:SIPP-ESP,
51:SIPP-AH 

I do see some of the less-common protocols from time-to-time; see, for
example:

http://www.finchhaven.com/pages/incidents/031302_proto_50.html


Within tcp and udp I have approximately 50 input chain rules focusing
on interesting ports/services; since the firewall itself only directly
accepts udp:123 for ntp, and udp:102x for the caching-only nameserver,
all other ports outside of the IP masquerading range are considered
out-of-bounds.

Beyond watching specific ports, there rules for port ranges, and
finally a blanket DENY on the input chain such that everything that
is not specifically ACCEPT'ed is stopped and logged to syslog.

icmp rules cover the entire range of type:code, and again, everything
is either specifically ACCEPT'ed, or DENY'ed and logged to syslog.


Messages to syslog are handle by Psionic's LogSentry; I'm also running 
Psionic's PortSentry, but it hasn't gone off in several years.. :-)


Running in parallel with ipchains is snort, currently 1.8.2 build 86

snort is logging everything going in and out, in binary mode,
against custom rule sets that examine specific ports/services,
alerting on those of interest. Alerts are handled by syslog and
LogSentry.

I run the binary mode packet logs against the more-standard snort
rules as time allows, usually on a daily basis if I can, to see what
has been going on in more detail.


And running in parallel with ipchains and snort is p0f for passive OS
identification; see: http://www.stearns.org/p0f/README

p0f also logs via syslog/LogSentry.


So, for a given event, I get something like this:

Mar 22 00:34:20 greatwall snort: [1:0:0] TCP to 27374 SubSeven {TCP}
 218.102.27.134:4571 -> 12.82.137.150:27374
Mar 22 00:34:29 greatwall last message repeated 2 times

Mar 22 00:34:20 greatwall kernel: Packet log: input DENY ppp0 PROTO=6
 218.102.27.134:4571 12.82.137.150:27374
 L=48 S=0x00 I=11764 F=0x4000 T=111 SYN (#64)
Mar 22 00:34:23 greatwall kernel: Packet log: input DENY ppp0 PROTO=6
 218.102.27.134:4571 12.82.137.150:27374
 L=48 S=0x00 I=11816 F=0x4000 T=111 SYN (#64)
Mar 22 00:34:29 greatwall kernel: Packet log: input DENY ppp0 PROTO=6
 218.102.27.134:4571 12.82.137.150:27374
 L=48 S=0x00 I=11937 F=0x4000 T=111 SYN (#64)

Fri Mar 22 00:34:20 2002  218.102.27.134 [18 hops]: Windows 2000 Pro (2128)
 218.102.27.134:4571 -> 12.82.137.150:27374 (timestamp: 494600 @1016786060)
Fri Mar 22 00:34:23 2002  218.102.27.134 [18 hops]: Windows 2000 Pro (2128)
 218.102.27.134:4571 -> 12.82.137.150:27374 (timestamp: 494600 @1016786063)
Fri Mar 22 00:34:29 2002 218.102.27.134 [18 hops]: Windows 2000 Pro (2128)
 218.102.27.134:4571 -> 12.82.137.150:27374 (timestamp: 494600 @1016786069)

 
Bulk firewall logs, and specific incidents of interest are put up at:

http://www.finchhaven.com/pages/incidents/

as time allows...


When something of interest comes up, I look at the full snort packet
capture in more detail, and do notifications to those responsible
parties that might be interested, using BW Whois, see:

http://whois.bw.org/


And so it goes.


- John
-- 
The weirdest thing about Window$ is that it's so opaque


jsage@finchhaven.com
Last modified: Sat Mar 23 10:45:25 2002