Re: SYN Attacks - how i cant stop it

From: Anton Alin-Adrian (aanton_at_reversedhell.net)
Date: 02/13/04

  • Next message: Vlad Galu: "Re: SYN Attacks - how i cant stop it"
    Date: Fri, 13 Feb 2004 17:27:20 +0200
    To: freebsd-questions@freebsd.org
    
    

    Spades wrote:
    > Hi,
    >
    > I got this error when i tried to type for some of those.
    > "sysctl: unknown oid...." any idea..
    >
    > my server seems to be very lagged, where else
    > the network connection seems fine, i think BSD
    > itself as my other redhat box is fine.
    >
    > What else can i do to get optimum protection.
    >
    > Thanks.
    >
    > ----- Original Message -----
    > From: "Per Engelbrecht" <per@xterm.dk>
    > To: <jhernandez@progrexive.com>
    > Cc: <freebsd-security@freebsd.org>
    > Sent: Saturday, February 07, 2004 5:58 PM
    > Subject: Re: SYN Attacks - how i cant stop it
    >
    >
    >
    >>Hi,
    >>
    >><snip>
    >>
    >>>all nights. Check this.
    >>>
    >>>Feb 6 11:54:24 TCP: port scan detected [port 6667] from
    >>>212.165.80.117 [ports 63432,63453,63466,63499,63522,...]
    >>>Feb 6 11:58:09 TCP: port scan mode expired for 212.165.80.117 -
    >>
    >><snip>
    >>
    >>
    >>It's hard to get rid of shit-heads like this - I'm talking about the
    >>person doing this attac, that is.
    >>You send a looong output of a log, but no info on your system or any
    >>adjustments you have made (or not made) on your system i.e. kernel
    >>(options), sysctl (tweaks) and ipfw (rules).
    >>If the problem is out-of-bandwith (and your system already has been
    >>optimized) then the only real solution is more 'pipe' a.k.a the
    >>Microsoft-solution.
    >>So fare I've only been guessing, but here is what I normally do with my
    >>setup. I'm not telling you that this is the solution! just adwises!
    >>
    >>Kernel;
    >>options SC_DISABLE_REBOOT
    >>options IPFIREWALL
    >>options IPFIREWALL_VERBOSE
    >>options IPFIREWALL_VERBOSE_LIMIT=100
    >>options IPDIVERT
    >>options IPFILTER
    >>options IPFILTER_LOG
    >>options IPSTEALTH (don't touch the ttl/can't see the wall)
    >>options TCP_DROP_SYNFIN (drop tcp packet with syn+fin/scanner)
    >>options RANDOM_IP_ID (hard to do calculate ip frekv. number)
    >>options DUMMYNET (e.g. 40% for web, 30% for mail and so on)
    >>options DEVICE_POLLING (can't do this short and not with SMP)
    >>options HZ=1000 (can't do this short and not with SMP)
    >>
    >>Sysctl;
    >>kern.ipc.somaxconn=1024 #this is set high!
    >>kern.ipc.nmbclusters=65536 #this is set high!
    >>kern.polling.enable=1 #remember kernel options
    >>kern.polling.user_frac=50>90 #remember kernel options
    >>net.xorp.polling=1
    >>net.xorp.poll_burst=10
    >>net.xorp.poll_in_trap=3
    >>(if you use dynamic rules in ipfw [stateful] you can tweak this)
    >>net.inet.ip.fw.dyn_ack_lifetime=200 #shorte timeout on connection
    >>net.inet.ip.fw.dyn_syn_lifetime=20
    >>net.inet.ip.fw.dyn_fin_lifetime=20
    >>net.inet.ip.fw.dyn_rst_lifetime=5
    >>net.inet.ip.fw.dyn_short_lifetime=10 #longer timeout for e.g. icmp
    >>net.inet.ip.fw.dyn_max=1500 #higher number of dynamic rules
    >>net.inet.ip.fw.dyn_count: #count of number of dynamic rules
    >>
    >>ipfw;
    >>There's a zillion ways to set it up. start with a few rules regarding
    >>lo0 and icmp. Then use stateful inspection and dynamic rules for the
    >>rest of the wall.
    >>
    >>... and by the way, I could see that a few of the scan came from RIPE
    >>ranges. Do some digging and report it!
    >>Even if the boxes are use without the owners awareness, you can [we all
    >>can] bring this part to an end.
    >>
    >>respectfully
    >>/per
    >>per@xterm.dk
    >>
    >>
    >>
    >>
    >>_______________________________________________

    Most important, you did turn on syncookies, did you not?

    FreeBSD is pretty immune to syn floods. As for out of bandwidth, this
    has to do with your uplink and how much you pay for your traffic.

    root# sysctl net.inet.tcp.syncookies

    If it is not set to one, then do:
    root# sysctl net.inet.tcp.syncookies=1

    Also edit /etc/sysctl.conf to contain net.inet.tcp.syncookies=1.

    A reboot would clear the tcp stack. You can't reboot remotely if kernel
    securelevel is enabled in /etc/rc.conf.

    If you don't have firewall support compiled in the kernel, kldload ipfw.

    Might be a good lesson to mirror back all incoming syn packets from the
    attacker's IP to him. To port 80, or 22, or to some any other open port.
    You can do that easely with ipfw.

    -- 
    Alin-Adrian Anton
    Reversed Hell Networks
    GPG keyID 0x1E2FFF2E (2963 0C11 1AF1 96F6 0030 6EE9 D323 639D 1E2F FF2E)
    gpg --keyserver pgp.mit.edu --recv-keys 1E2FFF2E
    _______________________________________________
    freebsd-security@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-security
    To unsubscribe, send any mail to "freebsd-security-unsubscribe@freebsd.org"
    

  • Next message: Vlad Galu: "Re: SYN Attacks - how i cant stop it"

    Relevant Pages

    • Re: SYN Attacks - how i cant stop it
      ... root# sysctl net.inet.tcp.syncookies=1 ... If you don't have firewall support compiled in the kernel, kldload ipfw. ... To port 80, or 22, or to some any other open port. ...
      (freebsd-questions)
    • kernel: powernow0: set freq failed, err 6
      ... sysctl: dev.cpu.0.freq: Invalid argument ... Dec 20 21:15:05 HP kernel: FreeBSD is a registered trademark of The FreeBSD Foundation. ...
      (freebsd-current)
    • Re: mm snapshot broken-out-2007-01-26-00-36.tar.gz uploaded
      ... out an appropriate error message. ... wasn't thinking so much about whether it was a sysctl or not. ... What's the current advice on what kernel interface to use for this scenario: ...
      (Linux-Kernel)
    • Re: Automatic Configuration of a Kernel
      ... This patch is pointless without other kernel magic to guarantee that ... Guess it's time to re-post my sysctl patch to provide a general-purpose ... the size of the user buffer ...
      (Linux-Kernel)
    • Re: ipfw2 in 5.2.1
      ... enable the firewall in the kernel, its ipfw2:P easiest way is just ... run 'kldload ipfw', but yeah, make sure your at the console because it ... to quickly unload it, 'kldunload ipfw', you can compile it in the kernel, ...
      (FreeBSD-Security)