[BlueOnyx:11619] Re: Logwatch question

Gerald Waugh gwaugh at frontstreetnetworks.com
Fri Oct 26 18:50:00 -05 2012


On 10/26/2012 03:56 PM, George F. Nemeyer wrote:
> On Fri, 26 Oct 2012, Gerald Waugh wrote:
>
>>> It was suggested to me that this may show someone was trying to use my
>>> server for a DDOS attack on someone else.  The list of URLS involved
>>> is stunning.
> We have a couple of our nameservers getting constantly pounded, one
> steadily for over a month now 'from' 108.162.207.5.  Often the DNS
> requests are in a continuous stream amounting to 12-16kbps...not enough to
> raise alarms on a busy server, but enough to create a signicant outbound
> reply hits back to the forged IP target victim, especially if
> hundreds/thousands of DNS servers are used as amplifying reflectors.  The
> DNS queries are mosty "ANY?" requests for a random hostname.
>
> Since the traffic coming to the nameserver is UDP with forged source
> addresses of intended victims, there's little to do but block (or not
> respond to) the traffic, as you can't tell where it's really coming from.
> Your upstream ISP *should* be doing some edge filtering as well.
>
>>> Perhaps someone has a suggestion on what to do?
> This sort of problem is growing.  There's some 'bind' rate-limiting
> patches that may help (done by Paul Vixie, author of bind), and they may
> become standard in later releases.  See
> http://www.redbarn.org/dns/ratelimits.
>
>> Not sure this is the best answer, But here is our solution
>> if your ISP provides nameservers, then only allow your nameservers to
>> respond for queries for domains it is responsible for.
> And limit recursion to only those hosts on your network, or those you
> specifically trust and want/need to serve recursively.
>
>> Make sure your server is setup to use your isp nameservers, in System
>> Management ->  TCP/IP
>>
>> In /etc/maned.conf
>>       options {
>>     recursion no;
>> };
> I presume this is only for the LION nameserver, not for bind.  :)
>
> Likewise, limit Zone transfers, or other types of requests that would
> generate 'large' answers to your own network and those servers (like
> slaves) that may need to get entire zones from you.
>
> You can specifiy recursion and zone transfers inside BX under
>
>     Server Management ->  Network Services ->  DNS ->  Advanced
>
> I think no recursion is *supposed* be the default in BX, though the
> auto-generated named.conf is a bit ambiguous on this (I think the handler
> has a bug).
>
> There's a line reading:  "// recursion allowed" even with no recursion IPs
> specified.  Example from named.conf with nothing specified:
>
>    options {
>      directory "/var/named";
>      // spoof version for a little more security via obscurity
>      version "100.100.100";
>      // no forwarders defined
>      // zone transfer access denied
>      allow-transfer { none; };
>      // recursion access denied
>                                          <--- an actual blank line
>      // recursion allowed<--- Supposedly not true
>    };
>
> With some transfers and recursion manually entered into the GUI, you get:
>
>    options {
>      directory "/var/named";
>      // spoof version for a little more security via obscurity
>      version "100.100.100";
>      // no forwarders defined
>      allow-transfer { 98.100.9.16; 98.100.9.20; };
>      allow-recursion { 98.100.9.0/27; };
>      // recursion allowed<--- Still there, now redundant
>    };
>
>
> Note that the zone transfer section appears to act as expected, though it
> insists on individual IPs and won't accept a /xx mask, while recursion
> does.
>
> It would be nice if the ambiguity was cleaned up.
>
> Also:
>
> We're using a really nifty little unix uitility called 'iftop' which can
> identify who's hitting your server and what service they're requesting.
> It's in the yum repository.  This can help spot attackers by watching
> connections in real time.  Also, another utility called 'iptraf' can help
> spot those IPs flooding UDP packets in to the nameserver, as well as let
> you grab and examine the packets you're getting. 'tcpdump' is also good
> for seeing the packet content.
>
> Once you've identified the bad IPs, toss them (or the entire netblocks)
> into an iptables DROP with
>
>            iptables -A INPUT -s<badip/mask>  -j DROP
>
> Doing this at your edge/gateway router will keep the machines behind it
> from seeing anything.  If the block is done on a particular machine
> itself, inbound attack traffic into your network will still happen, but
> the will be no outbound responses back to the target IP (which is what
> they're trying use you to generate).
>
> The ultimate answer, I think, will be bind becoming more resistant thus
> and making such attacks not worth launching in the first place.
>
> =^_^=  Tigerwolf
>
I have used this on several servers and it works, the gui does not help, 
tried it.

In /etc/maned.conf
      options {
    recursion no;
};


-- 
Gerald



More information about the Blueonyx mailing list